Email

Send an email

email_send · Changes data · Markdown

Sends an email from one of the business's inboxes, with files from the store attached, or answers a received message in its thread.

$0.001 to one person without attachments

From your agent’s balance. A call that fails costs nothing.

An example

Email Rachel Kim from hello@ that her new Willamette 8 is built and ready to pick up from Thursday, and that we're open until 7. Attach the chain care guide.

Your agent callsemail_send$0.001 to one person without attachments

The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.

With these arguments
{
  "inbox": "hello@halverson-cycle-repair.useconecto.com",
  "to": [
    "rachel.kim@example.com"
  ],
  "subject": "Your Willamette 8 is ready",
  "text": "Hi Rachel,\n\nyour new Willamette 8 is built, tuned and ready to pick up from Thursday, October 22. We're open until 7 pm and set the saddle height with you when you come. Our chain care guide is attached.\n\nSee you soon,\nHalverson Cycle & Repair",
  "attachments": [
    "5d7f9b1d-3a5c-4e7a-9c1e-6b8d0f2a4c6e"
  ]
}
What comes back
{
  "sent": {
    "message_id": "6f28a78c-8f6e-4278-a78d-3db5afd027e9",
    "inbox": "hello@halverson-cycle-repair.useconecto.com",
    "direction": "out",
    "from": "hello@halverson-cycle-repair.useconecto.com",
    "from_name": "Halverson Cycle & Repair",
    "to": [
      "rachel.kim@example.com"
    ],
    "cc": [],
    "subject": "Your Willamette 8 is ready",
    "at": "2026-10-14T08:00:00+00:00",
    "thread": "<179207167143.63725.17923165537522820642@halverson-cycle-repair.useconecto.com>",
    "thread_state": "open",
    "thread_labels": [],
    "contact_id": null,
    "spam": null,
    "ticket": null,
    "preview": "Hi Rachel,\n\nyour new Willamette 8 is built, tuned and ready to pick up from Thursday, October 22. We're open until 7 pm and set the saddle height with you when you come. Our chain care guide is attach"
  }
}

Use it when

Someone should get an email from the business: a reply, an order update, a document.

What it does

Send from one of this account's inboxes. Give reply_to_message_id to answer a received message in the same thread. attachments: up to 10 files of the file store, 25 MB together. Up to 20 recipients. For support, operations and replies, not cold outreach: at most 20 new addresses a day, never first to an address found with Conecto's lookups; free credit can't email outsiders. An email to someone who never wrote first is checked before it goes: one that looks like cold outreach isn't sent, and the third within 7 days pauses the account's email. Unless by_person, a last line says the business's AI assistant wrote it. Big files are cheaper as a download link (files_get) in the text.

What comes back

sent: the message with its message_id, inbox, from, to, cc, subject, time, thread, contact_id and the ticket it belongs to, if any. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
inboxRequiredstringUp to 254 characters.
toRequiredarray of strings1 to 20 items.
ccarray of stringsUp to 19 items.
subjectstringUp to 500 characters.
textRequiredstringUp to 100,000 characters.
htmlstringUp to 300,000 characters.
reply_to_message_idstringExactly 36 characters.
attachmentsarray of stringsFile ids from the file store (files_list), up to 10 files and 25 MB together. Up to 10 items.
by_personbooleantrue when a person at the business wrote it. Otherwise a last line says the business's AI assistant wrote it (EU AI Act Art. 50). Default: false.

The call

Over MCP, call email_send on https://api.conecto.chat/mcp/email. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/email_send \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbox":"hello@halverson-cycle-repair.useconecto.com","to":["rachel.kim@example.com"],"subject":"Your Willamette 8 is ready","text":"Hi Rachel,\n\nyour new Willamette 8 is built, tuned and ready to pick up from Thursday, October 22. We'\''re open until 7 pm and set the saddle height with you when you come. Our chain care guide is attached.\n\nSee you soon,\nHalverson Cycle & Repair","attachments":["5d7f9b1d-3a5c-4e7a-9c1e-6b8d0f2a4c6e"]}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
not_found404No active inbox of the business has that address.Call email_list_inboxes and use one of its addresses.
not_found404reply_to_message_id is not a message of the business, or an attachment is not a file in its store.Use a message_id from email_list_messages and file_ids from files_list.
invalid_input400An address is not an email address, there are more than 20 recipients, or more than 10 attachments.Fix the addresses the message names, or split the recipients or files over several emails.
too_large413The attachments add up to more than 25 MB.Send big files as download links from files_get.
unsupported_type400Email cannot carry a file of that kind (like .exe or .js).Send a download link from files_get instead.
payment_required_for_outbound402The balance is still free credit, which cannot email people outside the business.Top up once (POST /v1/topups); after that email to outsiders works.
new_recipient_limit429The business has emailed as many new addresses today as it may.Send to these people tomorrow. Replies and people who wrote first are not limited.
sending_paused403Email from the business is paused after bounces, complaints or emails refused as cold outreach.Tell the owner; Conecto reviews the pause before sending resumes.
suppressed422An address bounced, complained or unsubscribed before.Remove the addresses the message lists and send again.
found_by_lookup422An address was found or checked with Conecto's lookups; a Conecto inbox never writes to it first.Write from the business's own mailbox (google_mail_send or m365_mail_send).
cold_email422The email looks like cold outreach, a pitch or a request to people who never wrote to the business, so it wasn't sent. The third within 7 days pauses the account's email.Email only people who wrote first or asked to hear from the business.
check_unavailable503The check an email to someone new goes through couldn't run just now.Try again in a minute.
send_failed502The email service did not accept the email.Call again in a moment.
sending_unavailable503Email to outsiders is not possible yet while the sending account is in review.Send to the owner's address for now, or try again later.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md