Contacts & CRM
reachOutToContact
Reach Out to Contact
Reach out to ONE of the caller's personal contacts by email: a single real email from the caller's connected Gmail (it appears in their Sent and reads as from them).
Ask Claude, ChatGPT, Cursor or any AI connected to The Cloud "email this contact", and it calls reachOutToContact.
Example call
The MCP tools/call params, with the required arguments only.
{
"arguments": {
"body": "<body>",
"contactId": "<contactId>",
"subject": "<subject>"
},
"name": "reachOutToContact"
}Arguments
allowPrivateLinksobjectoptionalSend Cloud links the recipient can't open, on purpose. The reason is recorded on this operation.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.accountIdstringoptionalAlias of `from`: the accountId from listMailAccounts. Takes precedence over `from` if both are given.bodystringrequiredThe plain-text message body for THIS email, in the user's intent. Required: never auto-generated from a vague instruction.contactIdstringrequiredThe id of the contact to email (from resolveContact / getContact / listContacts). The contact must have an email on file.fromstringoptionalAccount to send AS: an accountId or email from listMailAccounts. Omit to send from the primary account. The no-double-dip and suppression rails are per-USER, not per-account, so switching accounts never re-opens a touch window that is…overridebooleanoptionalNo-double-dip override. Omit/false by default: a contact already touched inside the last 14 days (a touched-<date> stamp or a recent send), or one in your newsletter pool (a template subscriber), is refused server-side to avoid a second…senderNamestringoptionalOptional name to sign off with (used by the intro/follow_up/thank_you templates).subjectstringrequiredThe email subject line for this send.templatestringoptionalOptional framing: 'intro', 'follow_up', or 'thank_you' wrap a greeting/sign-off around your body; 'plain' (default) sends the body verbatim. Templates never invent content.transactionalobjectoptionalThe person's own record this message confirms. Verified server-side as yours and naming this recipient, else refused.
Returns
On hold (the default) it runs every gate and returns the framed message with nothing sent; delivery:"send" with confirm:true sends it, and it cannot be unsent, so confirm with the user first and…
Declared limits
body: minimum length 1subject: minimum length 1
Ask for it
The Cloud routes these requests to this verb.
- email this contact
- reach out to Jane
- send Dana a follow-up
Pair it with
The verbs that finish the job.
Questions
What does reachOutToContact do?
Reach out to ONE of the caller's personal contacts by email: a single real email from the caller's connected Gmail (it appears in their Sent and reads as from them). It is one of the tools The Cloud MCP server gives every connected AI.
How do I use reachOutToContact 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 this contact", and it calls reachOutToContact.
Is reachOutToContact safe to let an AI call?
reachOutToContact 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.