create_transaction_product_draft
Generate an Ohvii system email
Generate one of Ohvii's own system emails for this transaction, with the product's wording and rules: listing_outreach (first contact asking for disclosures, seller preferences, and competing-offer notice; available from the moment the home is saved, before any offer exists), offer_follow_up (no reply yet), counter_follow_up (waiting on the seller's response), lender_update (tell the lender contact about the financing terms a counter changed; needs the lender's contactId; available only while such a change is unreported, so a plain email is the way to send a lender anything else), escrow_opening (ask the escrow contact to open escrow with the signed agreement documents attached; needs contactId, documentIds, and lenderId when more than one lender is saved), or walk_away (withdrawing before there is a contract: sending it also archives the transaction, so never use it as a receipt; once the offer is under contract it is refused, and walking away is the Cancellation of Contract ceremony). Returns the exact draft; where the product already sent that email, its record comes back with status 'sent' and nothing new is created. Nothing is delivered: the buyer reviews it, you may edit it with update_transaction_email_draft, and delivery goes through prepare_transaction_email_send and send_transaction_email_draft. Reuse idempotencyKey only for an exact retry The product writes and signs these as the Ohvii Offer Assistant on the buyer's behalf; keep that voice and signature when the buyer asks for edits, and change only what they ask to change.
- Effect
- Draft or workspace edit
- Required scopes
workspace:write- Workflow stages
- closing, transaction
- Data classes
- 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
draftobject | Yes | Must match exactly one alternative. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
draft: nested contractAlternative 1: intent = "listing_outreach"Extra fields are not allowed.
Alternative 2: intent = "offer_follow_up"Extra fields are not allowed.
Alternative 3: intent = "counter_follow_up"Extra fields are not allowed.
Alternative 4: intent = "lender_update"Extra fields are not allowed.
Alternative 5: intent = "escrow_opening"Extra fields are not allowed.
Alternative 6: intent = "walk_away"Extra fields are not allowed.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
idempotencyKeystring | Yes | A fresh random UUID (v4) you generate for this request. Send the same UUID only to retry the identical request; never a readable label. Format: uuid. Pattern validation applies; see the raw schema. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
workspaceIdstring | Yes | Pattern validation applies; see the raw schema. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
draftIdstring | Yes | Pattern validation applies; see the raw schema. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emailDraftobject | Yes | Extra fields are not allowed. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emailDraft: nested contract
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
idempotencyKeystring | Yes | Format: uuid. Pattern validation applies; see the raw schema. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
intentstring | Yes | Allowed: "listing_outreach", "offer_follow_up", "counter_follow_up", "lender_update", "escrow_opening", "walk_away". | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
schemaVersionstring | Yes | Must be "1". | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
statusstring | Yes | Allowed: "draft", "sent". | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
workspaceIdstring | Yes | Pattern validation applies; see the raw schema. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Raw input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"oneOf": [
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "listing_outreach"
}
},
"required": [
"intent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "offer_follow_up"
}
},
"required": [
"intent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "counter_follow_up"
}
},
"required": [
"intent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"contactId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
"intent": {
"type": "string",
"const": "lender_update"
}
},
"required": [
"contactId",
"intent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"contactId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
"documentIds": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
}
},
"intent": {
"type": "string",
"const": "escrow_opening"
},
"lenderId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
}
},
"required": [
"contactId",
"documentIds",
"intent"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "walk_away"
},
"sourceMessageId": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
{
"type": "null"
}
]
}
},
"required": [
"intent"
],
"additionalProperties": false
}
]
},
"idempotencyKey": {
"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 request. Send the same UUID only to retry the identical request; never a readable label."
},
"workspaceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
}
},
"required": [
"draft",
"idempotencyKey",
"workspaceId"
],
"additionalProperties": false
}Full output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draftId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
"emailDraft": {
"type": "object",
"properties": {
"approvalState": {
"type": "string",
"enum": [
"not_requested",
"pending",
"approved",
"rejected",
"reset_required",
"unknown"
]
},
"attachmentDocumentIds": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
}
},
"body": {
"anyOf": [
{
"type": "string",
"maxLength": 32000
},
{
"type": "null"
}
]
},
"ccEmails": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 2000
}
},
"createdAt": {
"anyOf": [
{
"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)))$"
},
{
"type": "null"
}
]
},
"draftId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
"draftRevisionId": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,399}$"
},
{
"type": "null"
}
]
},
"proposedStatus": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"recipientEmail": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"replyToEmail": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"sentAt": {
"anyOf": [
{
"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)))$"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"generating",
"draft",
"approval_pending",
"approved",
"sent",
"rejected",
"unknown"
]
},
"subject": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"updatedAt": {
"anyOf": [
{
"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)))$"
},
{
"type": "null"
}
]
},
"wireFraudWarningPresent": {
"type": "boolean"
}
},
"required": [
"approvalState",
"attachmentDocumentIds",
"body",
"ccEmails",
"createdAt",
"draftId",
"draftRevisionId",
"proposedStatus",
"recipientEmail",
"replyToEmail",
"sentAt",
"status",
"subject",
"updatedAt",
"wireFraudWarningPresent"
],
"additionalProperties": false
},
"idempotencyKey": {
"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)$"
},
"intent": {
"type": "string",
"enum": [
"listing_outreach",
"offer_follow_up",
"counter_follow_up",
"lender_update",
"escrow_opening",
"walk_away"
]
},
"schemaVersion": {
"type": "string",
"const": "1"
},
"status": {
"type": "string",
"enum": [
"draft",
"sent"
]
},
"workspaceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
}
},
"required": [
"draftId",
"emailDraft",
"idempotencyKey",
"intent",
"schemaVersion",
"status",
"workspaceId"
],
"additionalProperties": false
}Tool annotations
{
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
}Reference 00e5441a095c7e20. Download the full catalog.