sendEmail
Send Email
Send an email.
Ask Claude, ChatGPT, Cursor or any AI connected to The Cloud "email X", and it calls sendEmail.
Example call
The MCP tools/call params, with the required arguments only.
{
"arguments": {
"subject": "<subject>"
},
"name": "sendEmail"
}Arguments
blocksobject[]optionalStructured rich email body. When present, it wins over richBody and body for the HTML part; bodyHtml wins over it.bodystringoptionalPlain text email body. Required unless `bodyHtml`, `blocks` or `richBody` is provided; when combined with any of them, this is the explicit text/plain part (otherwise that part is derived from the HTML).bodyHtmlstringoptionalYour own finished HTML email (a designed transactional email: receipt, confirmation, welcome) sent 1:1 as the HTML part. Precedence: bodyHtml wins over blocks and richBody for the HTML part; `body` is the explicit text part, else the text…richBodystringoptionalMarkdown email body for formatted mail. Supports paragraphs, h1-h3 headings, bold, italic, links (a bold link is `[**text**](url)` or `**[text](url)**`), lists, blockquote, inline and fenced code, horizontal rules, image URLs, and inline…acknowledgedstring[]optionalBuilt-in outbound checks you are knowingly relaxing for THIS send: "humble-ask", "short-anchor-hyperlinks" or "lead-the-way". Name a family only when the user wants the text sent as written after its refusal; acknowledgedReason is…acknowledgedReasonstringoptionalWhy the acknowledged check is relaxed for this send, in one line. Logged with the rail and the phrases it let through.confirmbooleanoptionalRequired with delivery send.deliverystringoptional"hold" (default) sends nothing; "send" needs confirm:true.allowPrivateLinksobjectoptionalSend Cloud links the recipient can't open, on purpose. The reason is recorded on this operation.accountIdstringoptionalAlias of `from`, an accountId from listMailAccounts; wins when both are given.attachmentsobject[]optionalCloud files to attach, in order: up to 20 files, 25 MB in total. Page exports are not attachable, so attach the PDF as a Cloud file if there is one. Only promise an attachment after the result comes back with it in `attached`.bccstringoptionalBCC email address (optional)ccstringoptionalCC email address (optional)channelstringoptional"email" sends even when their channel of record differs.docContractstringoptionalThe type-slug of the doc contract this is filed under (e.g. "handoff-memo"), when it is a staple rather than ordinary prose. The server validates the text against that contract and refuses a malformed one, handing back the contract's…fromstringoptionalAccount to send AS: "shop-sender", or an accountId or email from listMailAccounts (always that Gmail account). Omit for the Space's verified shop sender, then the primary Gmail.onBehalfOfstringoptionalThe person Ora sends for, by the name the recipient knows. Signs it "Ora, for <person>"; listed in listOutbound.overridebooleanoptionalSend to a suppressed, newsletter-pool or 14-day-touched recipient anyway. ONLY on the user's explicit word; recorded as an override. A reply clears the touch check itself.replyAllbooleanoptionalReply to everyone on the original (sender and To in To, Cc in Cc) minus the user's own addresses. Only with replyToMessageId and no `to`.replyTostringoptionalReply-To address for a new shop-sender email. Omit to use the shop sender's configured reply address.replyToMessageIdstringoptionalMessage ID to reply to (optional)signedAsstringoptionalTheir own name, only when they said to sign with it.spaceIdstringoptionalSpace id from listPageSpaces; with from omitted, its verified shop sender is used.subjectstringrequiredEmail subject linetostringoptionalRecipient email address. Omit ONLY when replying (replyToMessageId set): the recipients are then composed from the original message.transactionalobjectoptionalThe person's own record this message confirms. Verified server-side as yours and naming this recipient, else refused.viastringoptional"gmail" (default) sends from the connected Gmail; "resend-connection" from the user's own Resend account and verified domain (see connectResend), with no replies on that rail. The consent floor is the same either way.
Returns
On hold (the default) it runs every gate and returns the envelope as it would leave, and nothing is sent; delivery:"send" with confirm:true sends a real email that cannot be unsent, so confirm with…
Declared limits
blocks: minimum items 1blocks: maximum items 100attachments: maximum items 20
Ask for it
The Cloud routes these requests to this verb.
- email X
- send a message to Y
- reply to that
- reply all
- email them the invoice
Pair it with
The verbs that finish the job.
Questions
What does sendEmail do?
Send an email. It is one of the tools The Cloud MCP server gives every connected AI.
How do I use sendEmail from Claude or ChatGPT?
Connect your AI to The Cloud at https://mcp.thecloud.so/mcp and sign in once. Then ask Claude, ChatGPT, Cursor or any AI connected to The Cloud "email X", and it calls sendEmail.
Is sendEmail safe to let an AI call?
sendEmail deletes or sends, and calling it again does not undo it, so a careful client confirms with you before it runs. It reaches a system outside The Cloud on your behalf.
Connect
One endpoint gives your AI this tool and every other one: connect Claude, ChatGPT, Cursor or Gemini, read what The Cloud is, or see pricing.