save_unibox_reply_draft
Save or update a durable authored reply draft for a human to review in its exact conversation. Creates no send token and sends or enqueues nothing.
# MCP tool reference
1 callable tools.
Use tools/call at https://mcp.schedulerzero.com/mcp with the exact tool name and arguments below. The /tools/ paths in this view are documentation identifiers, not HTTP endpoints. Request execution is disabled for this reference.
Inputs are shown for personal API keys (bound) and for OAuth/delegated agents. Output schemas describe MCP structuredContent: native objects pass through; arrays, scalars and null use a data wrapper. Text content retains the native JSON result.
[Connect a client](/mcp/connect) · [Authentication and authorization](/authentication) · [Generated auth guide](/auth.md) · [Download tool catalog](/mcp-catalog.json) · [Agent documentation](/llms.txt)
## save_unibox_reply_draft
Save or update a durable authored reply draft for a human to review in its exact conversation. Creates no send token and sends or enqueues nothing.
Use a stable client-generated draft UUID and expectedRevision 0 to create; read the saved revision before updating. Repeat the identical request for a retry.
Never treat a saved draft as approval to send. A stale revision conflicts; read back before editing. Subject must retain the bound message's reply subject.
Scopes: unibox:reply
Risk: write; confirmation: none; idempotency: supported.
### Input schema (personal API key)
```json
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"threadId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"draftId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"save": {
"type": "object",
"properties": {
"messageId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"allOf": [
{
"maximum": 2147483646
}
]
},
"subject": {
"anyOf": [
{
"type": "string",
"maxLength": 998,
"pattern": "^[^\\r\\n\\u0000]*$"
},
{
"type": "null"
}
]
},
"draft": {
"type": "object",
"properties": {
"fromInboxId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"to": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 1,
"maxItems": 50
},
"cc": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 0,
"maxItems": 50
},
"bcc": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 0,
"maxItems": 50
},
"body": {
"$ref": "#/$defs/ReplyBody"
},
"bodyContentType": {
"type": "string",
"enum": [
"html",
"plain"
]
},
"personalizationTemplate": {
"type": "string",
"minLength": 1,
"maxLength": 100000
},
"track": {
"type": "boolean"
}
},
"required": [
"to",
"body",
"bodyContentType"
],
"patternProperties": {
"^(?!(?:fromInboxId|to|cc|bcc|body|bodyContentType|personalizationTemplate|track)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"fromInboxId",
"to",
"cc",
"bcc",
"body",
"bodyContentType",
"personalizationTemplate",
"track"
]
}
}
},
"required": [
"messageId",
"expectedRevision",
"subject",
"draft"
],
"patternProperties": {
"^(?!(?:messageId|expectedRevision|subject|draft)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"messageId",
"expectedRevision",
"subject",
"draft"
]
}
}
},
"required": [
"workspaceId",
"threadId",
"draftId",
"save"
],
"patternProperties": {
"^(?!(?:workspaceId|threadId|draftId|save)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"threadId",
"draftId",
"save"
]
},
"$defs": {
"EmailAddress": {
"type": "string",
"minLength": 3,
"maxLength": 320,
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$"
},
"ReplyBody": {
"type": "string",
"minLength": 1,
"maxLength": 1000000
}
}
}
```
### Input schema (OAuth / delegated agent)
```json
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"threadId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"draftId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"save": {
"type": "object",
"properties": {
"messageId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"allOf": [
{
"maximum": 2147483646
}
]
},
"subject": {
"anyOf": [
{
"type": "string",
"maxLength": 998,
"pattern": "^[^\\r\\n\\u0000]*$"
},
{
"type": "null"
}
]
},
"draft": {
"type": "object",
"properties": {
"fromInboxId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"to": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 1,
"maxItems": 50
},
"cc": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 0,
"maxItems": 50
},
"bcc": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 0,
"maxItems": 50
},
"body": {
"$ref": "#/$defs/ReplyBody"
},
"bodyContentType": {
"type": "string",
"enum": [
"html",
"plain"
]
},
"personalizationTemplate": {
"type": "string",
"minLength": 1,
"maxLength": 100000
},
"track": {
"type": "boolean"
}
},
"required": [
"to",
"body",
"bodyContentType"
],
"patternProperties": {
"^(?!(?:fromInboxId|to|cc|bcc|body|bodyContentType|personalizationTemplate|track)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"fromInboxId",
"to",
"cc",
"bcc",
"body",
"bodyContentType",
"personalizationTemplate",
"track"
]
}
}
},
"required": [
"messageId",
"expectedRevision",
"subject",
"draft"
],
"patternProperties": {
"^(?!(?:messageId|expectedRevision|subject|draft)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"messageId",
"expectedRevision",
"subject",
"draft"
]
}
}
},
"required": [
"workspaceId",
"threadId",
"draftId",
"save"
],
"patternProperties": {
"^(?!(?:workspaceId|threadId|draftId|save)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"threadId",
"draftId",
"save"
]
},
"$defs": {
"EmailAddress": {
"type": "string",
"minLength": 3,
"maxLength": 320,
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$"
},
"ReplyBody": {
"type": "string",
"minLength": 1,
"maxLength": 1000000
}
}
}
```
### Output schema (structuredContent)
```json
{
"type": "object",
"properties": {
"id": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"workspaceId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"threadId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"messageId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"fromInboxId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"subject": {
"anyOf": [
{
"type": "string",
"maxLength": 998,
"pattern": "^[^\\r\\n\\u0000]*$"
},
{
"type": "null"
}
]
},
"revision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"allOf": [
{
"maximum": 2147483647
}
]
},
"createdAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"updatedAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
},
"state": {
"type": "string",
"enum": [
"draft"
]
},
"draft": {
"type": "object",
"properties": {
"fromInboxId": {
"type": "string",
"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|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$",
"format": "uuid"
},
"to": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 1,
"maxItems": 50
},
"cc": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 0,
"maxItems": 50
},
"bcc": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 0,
"maxItems": 50
},
"body": {
"$ref": "#/$defs/ReplyBody"
},
"bodyContentType": {
"type": "string",
"enum": [
"html",
"plain"
]
},
"personalizationTemplate": {
"type": "string",
"minLength": 1,
"maxLength": 100000
},
"track": {
"type": "boolean"
}
},
"required": [
"to",
"body",
"bodyContentType"
],
"patternProperties": {
"^(?!(?:fromInboxId|to|cc|bcc|body|bodyContentType|personalizationTemplate|track)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"fromInboxId",
"to",
"cc",
"bcc",
"body",
"bodyContentType",
"personalizationTemplate",
"track"
]
}
}
},
"required": [
"id",
"workspaceId",
"threadId",
"messageId",
"fromInboxId",
"subject",
"revision",
"createdAt",
"updatedAt",
"state",
"draft"
],
"patternProperties": {
"^(?!(?:id|workspaceId|threadId|messageId|fromInboxId|subject|revision|createdAt|updatedAt|state|draft)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"id",
"workspaceId",
"threadId",
"messageId",
"fromInboxId",
"subject",
"revision",
"createdAt",
"updatedAt",
"state",
"draft"
]
},
"$defs": {
"UtcDateTimeEncoded": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
},
"EmailAddress": {
"type": "string",
"minLength": 3,
"maxLength": 320,
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$"
},
"ReplyBody": {
"type": "string",
"minLength": 1,
"maxLength": 1000000
}
}
}
```
### Underlying API operations
- `uniboxThreads.saveReplyDraft`: `PUT /v1/workspaces/:workspaceId/unibox/threads/:threadId/reply-drafts/:draftId`