enrich_listing_agent_contact
Fill missing listing-agent details
Fill missing listing-agent contact details from a public agent/brokerage profile or clearly attributed listing-agent section you opened with this AI's web tools. Use automatically during showing preparation when contact details are missing. Supply only published facts for that individual, including their California DRE, name, brokerage and source URL; omit checkedAt for a source you just opened so Ohvii records the time, and never guess a timestamp; never a portal advertiser, lead-routing contact, search snippet, message instruction or guessed email. Ohvii compares the DRE to its current saved identity; without a saved DRE it requires matching name, brokerage AND existing direct agent phone, with phoneKind agent_direct; an office number cannot anchor identity. Conflicts and buyer corrections require confirmation. Existing fields are preserved atomically, source evidence is retained as provider-reported (not independently fetched or state-verified), and the saved-home snapshot is kept in sync. Reuse mutationId only for an exact retry. Read the result before claiming a save; re-read the workspace revision before later draft edits. This sends nothing and does not update a shared directory or agent-owned profile.
- Effect
- Draft or workspace edit
- Required scopes
workspace:write- Workflow stages
- closing, offer, research, transaction
- Data classes
- contacts, property listing, transaction
- Operation cost
- 2 weighted units; additional domain limits may apply.
- Configurations
- Standard, Buyer UI v2
- Muse proposal
- Write. Creates or updates draft, document, or workspace data within the authorized workflow. Meta makes the final classification during review.
Buyer approval and signing controls apply in addition to the scopes above. Read error and retry guidance before implementing recovery.
Input and output contracts
Returns structured content and a JSON text content block. Live discovery may compact a large output schema; execution validates the full contract below.
Input fields
Required applies within the containing object. Optional fields can be omitted; null is accepted only where listed. Field descriptions and constraints come from the source schema. The raw schema remains the complete contract.
| Field | Required | Meaning and constraints | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
workspaceIdstring | Yes | Pattern validation applies; see the raw schema. | ||||||||||||||||||||||||||||||
mutationIdstring | Yes | A fresh random UUID (v4) you generate for this mutation. Send the same UUID only to retry the identical mutation; never a readable label. Format: uuid. Pattern validation applies; see the raw schema. | ||||||||||||||||||||||||||||||
evidenceobject | Yes | Extra fields are not allowed. | ||||||||||||||||||||||||||||||
evidence: nested contract
| ||||||||||||||||||||||||||||||||
Output fields
Required applies within the containing object. Optional fields can be omitted; null is accepted only where listed. Field descriptions and constraints come from the source schema. The raw schema remains the complete contract.
| Field | Required | Meaning and constraints | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
schemaVersionstring | Yes | Must be "1". | |||||||||||||||||||||||||||
workspaceIdstring | Yes | No additional description in the contract. | |||||||||||||||||||||||||||
mutationIdstring | Yes | A fresh random UUID (v4) you generate for this mutation. Send the same UUID only to retry the identical mutation; never a readable label. Format: uuid. Pattern validation applies; see the raw schema. | |||||||||||||||||||||||||||
statusstring | Yes | Allowed: "enriched", "unchanged", "needs_confirmation". | |||||||||||||||||||||||||||
reasonstring | Yes | Allowed: "matched", "identity_missing", "identity_conflict", "buyer_corrected", "source_expired". | |||||||||||||||||||||||||||
matchBasisstring | null | Yes | Must match at least one alternative. | |||||||||||||||||||||||||||
matchBasis: nested contractAlternative 1: stringAllowed: "dre", "name_phone_brokerage". Alternative 2: null | |||||||||||||||||||||||||||||
filledFieldsarray<string> | Yes | No additional description in the contract. | |||||||||||||||||||||||||||
filledFields: nested contractArray item contractAllowed: "name", "email", "phone", "brokerage", "licenseNumber". | |||||||||||||||||||||||||||||
listingAgentobject | Yes | Extra fields are not allowed. | |||||||||||||||||||||||||||
listingAgent: nested contract
| |||||||||||||||||||||||||||||
Raw input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
"mutationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A fresh random UUID (v4) you generate for this mutation. Send the same UUID only to retry the identical mutation; never a readable label."
},
"evidence": {
"type": "object",
"properties": {
"sourceUrl": {
"type": "string",
"maxLength": 1024,
"format": "uri"
},
"checkedAt": {
"description": "Omit when you just opened this source: Ohvii records the current time. Supply a timestamp only when the actual observation time is known; never guess it.",
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"sourceKind": {
"type": "string",
"enum": [
"agent_profile",
"brokerage_profile",
"listing_agent_attribution"
]
},
"dreNumber": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"brokerage": {
"type": "string",
"minLength": 1,
"maxLength": 180
},
"email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"type": "string",
"minLength": 7,
"maxLength": 40
},
"phoneKind": {
"type": "string",
"enum": [
"agent_direct",
"office",
"unknown"
]
}
},
"required": [
"sourceUrl",
"sourceKind",
"dreNumber",
"name",
"brokerage"
],
"additionalProperties": false
}
},
"required": [
"workspaceId",
"mutationId",
"evidence"
],
"additionalProperties": false
}Full output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"schemaVersion": {
"type": "string",
"const": "1"
},
"workspaceId": {
"type": "string"
},
"mutationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A fresh random UUID (v4) you generate for this mutation. Send the same UUID only to retry the identical mutation; never a readable label."
},
"status": {
"type": "string",
"enum": [
"enriched",
"unchanged",
"needs_confirmation"
]
},
"reason": {
"type": "string",
"enum": [
"matched",
"identity_missing",
"identity_conflict",
"buyer_corrected",
"source_expired"
]
},
"matchBasis": {
"anyOf": [
{
"type": "string",
"enum": [
"dre",
"name_phone_brokerage"
]
},
{
"type": "null"
}
]
},
"filledFields": {
"type": "array",
"items": {
"type": "string",
"enum": [
"name",
"email",
"phone",
"brokerage",
"licenseNumber"
]
}
},
"listingAgent": {
"type": "object",
"properties": {
"brokerage": {
"anyOf": [
{
"type": "string",
"maxLength": 180
},
{
"type": "null"
}
]
},
"email": {
"anyOf": [
{
"type": "string",
"maxLength": 254
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
]
},
"phone": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
}
},
"required": [
"brokerage",
"email",
"name",
"phone"
],
"additionalProperties": false
}
},
"required": [
"schemaVersion",
"workspaceId",
"mutationId",
"status",
"reason",
"matchBasis",
"filledFields",
"listingAgent"
],
"additionalProperties": false
}Tool annotations
{
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
}Reference 00e5441a095c7e20. Download the full catalog.