Send an inbox message
inbox_send_messageSend one email or SMS from the workspace inbox to a client or contact. Not for texting many clients (inbox_send_bulk) or replying to a new inbound request (requests_respond); invoices and proposals use invoices_send and proposals_send. Recipients (to, cc, bcc) must already be in the workspace: a client's or contact's saved address or number (pass client_id), a team member, the workspace's own address, or the contact of an existing conversation (conversation_id); others are refused, as are opted-out or blacklisted clients. Email: to, subject and body (markdown), or a template (see email_send_options). SMS: to is one phone number and body the text; it needs client_id or conversation_id, and numbers that texted STOP or are blocked are refused. from_inbox defaults to the AI & MCP inbox, else the only inbox the user can send from; with several and no default nothing is sent and the result lists them. cc/bcc replace the default copies. Sends a real, billed message. Recipient cap: 10 per email from a starter inbox, 50 from the user's own domain or mailbox; over the cap nothing is sent. Held until the user approves it in the Workspace369 app.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"channel": "<channel>",
"to": "<to>"
},
"name": "inbox_send_message"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Cc addresses. Email only. The final list: passing it replaces that field's defaults entirely (the Bcc to the workspace's own email, default Cc/Bcc, archive Bcc, a template's copies), so to add someone pass the defaults plus the new address, and to remove someone leave them out; `[]` means none. Omitted, the defaults apply. The sending inbox's compliance archive Bcc is always added. Each address counts toward the per-email cap. | |
| to | Yes | Recipients. Email: one or more addresses, each getting its own copy and conversation. SMS: exactly one E.164 phone number. | |
| bcc | No | Bcc addresses. Email only. The final list: passing it replaces that field's defaults entirely (the Bcc to the workspace's own email, default Cc/Bcc, archive Bcc, a template's copies), so to add someone pass the defaults plus the new address, and to remove someone leave them out; `[]` means none. Omitted, the defaults apply. The sending inbox's compliance archive Bcc is always added. Each address counts toward the per-email cap. | |
| body | No | SMS text (required for sms). Email body, or use `template`. Markdown: `# ` / `## ` / `### ` start a large / medium / small heading; `- ` or `1. ` starts a bullet or numbered item; inline `**bold**`, `*italic*`, `<u>underline</u>`, `~~strikethrough~~`, `[text](https://…)` links and `` images. Text without these markers goes out as plain paragraphs. Merge fields like `{{client.first_name}}`, `{{workspace.name}}` and `{{sender.name}}` are filled in. | |
| channel | Yes | Delivery channel. | |
| subject | No | Email subject; else the template's, else "(no subject)". | |
| template | No | Email only. A general library template, by id or name. | |
| client_id | No | The client written to. Email: fills `{{client.*}}` merge fields and makes the client's saved addresses valid recipients. SMS: the client whose saved number is texted. Use the `id` that clients_search returns. | |
| from_inbox | No | Email only. The inbox to send from, by label (like 'Billing') or address. Omitted, the email goes from the workspace's inbox for AI & MCP emails, else the only inbox the user can send from; when there are several and no such default, nothing is sent and the result lists them. | |
| conversation_id | No | An existing conversation of this workspace to thread into; its contact's address or number may be used as a recipient. Use the `conversation_id` that search_workspace_messages returns. | |
| idempotency_key | No | Optional. Repeat a call with the same key to avoid doing it twice. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | ||
| to | No | ||
| bcc | No | ||
| sent | No | ||
| channel | No | ||
| subject | No | ||
| client_id | No | ||
| from_inbox | No | ||
| message_id | No | ||
| approval_id | No | ||
| template_id | No | ||
| approval_url | No | ||
| from_inbox_id | No | ||
| conversation_id | No | ||
| conversation_ids | No | ||
| held_for_approval | No | ||
| approval_expires_at | No |