send_unibox_reply
Commit a reply from a connected mailbox into an existing conversation using a preview confirmation token. The server derives the send replay key.
# 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)
## send_unibox_reply
Commit a reply from a connected mailbox into an existing conversation using a preview confirmation token. The server derives the send replay key.
Use only after previewing. The preview names the exact addresses the message will reach, and the token binds them — the commit cannot widen that set.
This is real mail to a real person and cannot be recalled. It is a paid action, it is refused on a frozen subscription, and the server deduplicates retries of the same confirmed send.
Use the native preview first and pass its confirmation token unchanged to commit. A token does not bypass current permissions or Workspace checks.
Scopes: unibox:reply
Risk: costly; confirmation: preview_token; idempotency: required.
### 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"
},
"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"
},
"confirmationToken": {
"$ref": "#/$defs/OpaqueId"
}
},
"required": [
"workspaceId",
"messageId",
"confirmationToken"
],
"patternProperties": {
"^(?!(?:workspaceId|messageId|confirmationToken)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"messageId",
"confirmationToken"
]
},
"$defs": {
"OpaqueId": {
"type": "string",
"minLength": 1,
"maxLength": 512
}
}
}
```
### 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"
},
"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"
},
"confirmationToken": {
"$ref": "#/$defs/OpaqueId"
}
},
"required": [
"workspaceId",
"messageId",
"confirmationToken"
],
"patternProperties": {
"^(?!(?:workspaceId|messageId|confirmationToken)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"workspaceId",
"messageId",
"confirmationToken"
]
},
"$defs": {
"OpaqueId": {
"type": "string",
"minLength": 1,
"maxLength": 512
}
}
}
```
### Output schema (structuredContent)
```json
{
"type": "object",
"properties": {
"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": {
"anyOf": [
{
"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"
},
{
"type": "null"
}
]
},
"providerMessageId": {
"$ref": "#/$defs/OpaqueId"
},
"providerThreadId": {
"$ref": "#/$defs/OpaqueId"
},
"sentAt": {
"$ref": "#/$defs/UtcDateTimeEncoded"
}
},
"required": [
"threadId",
"messageId",
"providerMessageId",
"providerThreadId",
"sentAt"
],
"patternProperties": {
"^(?!(?:threadId|messageId|providerMessageId|providerThreadId|sentAt)$)[\\s\\S]*$": false
},
"additionalProperties": true,
"propertyNames": {
"type": "string",
"enum": [
"threadId",
"messageId",
"providerMessageId",
"providerThreadId",
"sentAt"
]
},
"$defs": {
"OpaqueId": {
"type": "string",
"minLength": 1,
"maxLength": 512
},
"UtcDateTimeEncoded": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
}
}
}
```
### Underlying API operations
- `uniboxMessages.previewReply`: `POST /v1/workspaces/:workspaceId/unibox/messages/:messageId/reply-preview`
- `uniboxMessages.commitReply`: `POST /v1/workspaces/:workspaceId/unibox/messages/:messageId/reply`