# send_inbox_message Behavior, inputs, outputs and permissions for send_inbox_message. Source: https://docs.getridian.com/developers/tools/send_inbox_message/ Language: en Reviewed: 2026-10-06 This reference is generated from the published tool contract. ## Behavior and boundaries Writes and sends a simple message in one step from an Agent Mailbox (inboxId from list_inboxes) to explicit To/CC/BCC recipients (up to 50 distinct addresses). Use it when the user asks to send a message directly; use save_inbox_draft and send_inbox_draft when the user wants to review or edit a draft first, or to send attachments. Requires the client's write and send policy. Needs at least one To address and nonempty text. Use a stable requestId per message (8–128 ASCII letters/digits/underscores/hyphens) and a different one for each mailbox or recipient set; after an uncertain response repeat the same requestId instead of creating a new one, which returns the existing send rather than sending again. Returns a send id and status: queued/sending is not delivery and accepted is provider acceptance only; read get_inbox_send_status for progress. ## Permissions Granted scopes, accounts, calendars and visibility rules limit access. Workspace administrators do not automatically gain access to other users’ accounts. `inbox:send` [Consent and boundaries](https://docs.getridian.com/developers/authentication/) ## Input ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "to": { "maxItems": 50, "type": "array", "items": { "type": "string", "maxLength": 320, "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" } }, "cc": { "maxItems": 50, "type": "array", "items": { "type": "string", "maxLength": 320, "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" } }, "bcc": { "maxItems": 50, "type": "array", "items": { "type": "string", "maxLength": 320, "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" } }, "subject": { "type": "string", "maxLength": 998 }, "text": { "type": "string", "maxLength": 100000 }, "html": { "type": "string", "maxLength": 200000 }, "replyToEntryId": { "type": "string" }, "inboxId": { "type": "string", "minLength": 1, "maxLength": 200 }, "requestId": { "type": "string", "pattern": "^[a-zA-Z0-9_-]{8,128}$" } }, "required": [ "to", "cc", "bcc", "subject", "text", "inboxId", "requestId" ], "additionalProperties": false } ``` ## Output ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 200 }, "status": { "type": "string", "enum": [ "queued", "sending", "accepted", "delivered", "failed", "unknown", "cancelled" ] }, "failureCode": { "type": "string" } }, "required": [ "id", "status" ], "additionalProperties": false } ``` ## Errors and retries Check the tool result for errors. Do not blindly retry writes after a timeout. Check the current resource or send status first. [Error handling](https://docs.getridian.com/developers/errors/)