← Tool reference

create_transaction_contact

Create transaction contact

Add one buyer-managed transaction contact to the owned active workspace. An offer holds at most 20 contacts, and names and roles are plain text (no links or markup). An email you save is unverified, so mail from it is not a known contact, until prepare_contact_verification and confirm_contact_verification (or the buyer's own edit on Ohvii). Reuse mutationId only for an exact retry. This changes the buyer's private contact list and never sends a message, invites a participant, or contacts the person.

Effect
Consequential change
Required scopes
workspace:write
Workflow stages
closing, offer, transaction
Data classes
contacts, transaction
Operation cost
3 weighted units; additional domain limits may apply.
Configurations
Standard, Buyer UI v2
Muse proposal
Sensitive write. Changes or removes a record, recipient, or permission the buyer relies on. 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.

FieldRequiredMeaning and constraints
expectedContactsRevisionstringNo

Pattern validation applies; see the raw schema.

mutationIdstringYes

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.

workspaceIdstringYes

Pattern validation applies; see the raw schema.

emailstring | nullNo

Must match at least one alternative.

email: nested contract
Alternative 1: string

Minimum characters: 3. Maximum characters: 254.

Alternative 2: null

namestringYes

Minimum characters: 1.

Maximum characters: 120.

phonestring | nullNo

Must match at least one alternative.

phone: nested contract
Alternative 1: string

Minimum characters: 3. Maximum characters: 40.

Alternative 2: null

rolestringYes

Minimum characters: 1.

Maximum characters: 80.

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.

FieldRequiredMeaning and constraints
actionstringYes

Allowed: "created", "updated", "deleted".

contactobjectYes

Extra fields are not allowed.

contact: nested contract
FieldRequiredMeaning and constraints
emailstring | nullYes

Must match at least one alternative.

email: nested contract
Alternative 1: string

Maximum characters: 2000.

Alternative 2: null

idstringYes

Pattern validation applies; see the raw schema.

namestringYes

Minimum characters: 1.

Maximum characters: 2000.

phonestring | nullYes

Must match at least one alternative.

phone: nested contract
Alternative 1: string

Maximum characters: 2000.

Alternative 2: null

rolestringYes

Minimum characters: 1.

Maximum characters: 2000.

sourcestringYes

Must be "buyer".

contactsarray<object>Yes

Maximum items: 100.

contacts: nested contract
Array item contract

Extra fields are not allowed.

FieldRequiredMeaning and constraints
emailstring | nullYes

Must match at least one alternative.

email: nested contract
Alternative 1: string

Maximum characters: 2000.

Alternative 2: null

idstringYes

Pattern validation applies; see the raw schema.

namestringYes

Minimum characters: 1.

Maximum characters: 2000.

phonestring | nullYes

Must match at least one alternative.

phone: nested contract
Alternative 1: string

Maximum characters: 2000.

Alternative 2: null

rolestringYes

Minimum characters: 1.

Maximum characters: 2000.

sourcestringYes

Must be "buyer".

contactsRevisionstringYes

Pattern validation applies; see the raw schema.

mutationIdstringYes

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.

schemaVersionstringYes

Must be "1".

workspaceIdstringYes

Pattern validation applies; see the raw schema.

Raw input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "expectedContactsRevision": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "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."
    },
    "workspaceId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,200}$"
    },
    "email": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 3,
          "maxLength": 254
        },
        {
          "type": "null"
        }
      ]
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "phone": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 3,
          "maxLength": 40
        },
        {
          "type": "null"
        }
      ]
    },
    "role": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    }
  },
  "required": [
    "mutationId",
    "workspaceId",
    "name",
    "role"
  ],
  "additionalProperties": false
}
Full output schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "created",
        "updated",
        "deleted"
      ]
    },
    "contact": {
      "type": "object",
      "properties": {
        "email": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2000
            },
            {
              "type": "null"
            }
          ]
        },
        "id": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,200}$"
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "phone": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2000
            },
            {
              "type": "null"
            }
          ]
        },
        "role": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "source": {
          "type": "string",
          "const": "buyer"
        }
      },
      "required": [
        "email",
        "id",
        "name",
        "phone",
        "role",
        "source"
      ],
      "additionalProperties": false
    },
    "contacts": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2000
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,200}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "phone": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2000
              },
              {
                "type": "null"
              }
            ]
          },
          "role": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "source": {
            "type": "string",
            "const": "buyer"
          }
        },
        "required": [
          "email",
          "id",
          "name",
          "phone",
          "role",
          "source"
        ],
        "additionalProperties": false
      }
    },
    "contactsRevision": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "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."
    },
    "schemaVersion": {
      "type": "string",
      "const": "1"
    },
    "workspaceId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,200}$"
    }
  },
  "required": [
    "action",
    "contact",
    "contacts",
    "contactsRevision",
    "mutationId",
    "schemaVersion",
    "workspaceId"
  ],
  "additionalProperties": false
}
Tool annotations
{
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false,
  "readOnlyHint": false
}

Reference 00e5441a095c7e20. Download the full catalog.