send_email
Send a new email from a mailbox, idempotent via a unique client_id. If human approval is required, the email is queued as a draft pending approval.
Instructions
Send a new email from one of your mailboxes. Call this when starting a NEW conversation; to answer an email you received, use reply_email instead (it threads correctly). Pass a client_id (any unique string you make up) and reuse the SAME client_id if you retry after an error — that guarantees the email is sent at most once. If the mailbox requires human approval, the send is queued as a draft and returns {draft_id, status:"pending_approval"} instead of a message id — that is NOT a failure and must NOT be retried; the email goes out once a human approves it (check with list_drafts).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient email address. | |
| text | Yes | Plain-text body, max 50,000 characters. | |
| subject | Yes | Subject line, max 200 characters. | |
| client_id | Yes | REQUIRED idempotency key — any unique string you invent for this send. Reuse the SAME value when retrying after an error and the email goes out at most once; a new value sends a second copy. Cannot start with "draft:". | |
| mailbox_id | Yes | Id of the mailbox to send from, from list_mailboxes. |