---
name: "email_send"
area: "email"
title: "Send an email"
price: "$0.001 per recipient, plus $0.001 per started MB of attachments for each recipient ($0.001 to one person without attachments), up to $0.52"
method: "POST"
url: "https://api.conecto.chat/v1/tools/email_send"
mcp_server: "https://api.conecto.chat/mcp/email"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/email/email_send"
---

# Send an email (`email_send`)

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

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.

Price: $0.001 per recipient, plus $0.001 per started MB of attachments for each recipient ($0.001 to one person without attachments), up to $0.52. A call that fails costs nothing.

## Use it when

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

- For a newsletter to its subscribers, use [newsletters_send_issue](https://conecto.chat/tools/newsletters/newsletters_send_issue.md).
- For a reply on a support ticket, use [ticket_reply](https://conecto.chat/tools/helpdesk/ticket_reply.md).
- For an answer in the website chat, use [chat_reply](https://conecto.chat/tools/chat/chat_reply.md).

## Say this to your agent

> 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.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `inbox` | string | yes | Up to 254 characters. |  |  |
| `to` | array of strings | yes | 1 to 20 items. |  |  |
| `cc` | array of strings | no | Up to 19 items. |  |  |
| `subject` | string | no | Up to 500 characters. |  |  |
| `text` | string | yes | Up to 100,000 characters. |  |  |
| `html` | string | no | Up to 300,000 characters. |  |  |
| `reply_to_message_id` | string | no | Exactly 36 characters. |  |  |
| `attachments` | array of strings | no | File ids from the file store (files_list), up to 10 files and 25 MB together. Up to 10 items. |  |  |
| `by_person` | boolean | no | true 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). |  | `false` |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `email_send` on the MCP server `https://api.conecto.chat/mcp/email` with these arguments:

```json
{
  "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"
  ]
}
```

REST:

```bash
curl 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"]}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "email_send",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.002",
  "balance_usd": "$19.75",
  "result": {
    "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"
    }
  }
}
```

`result`: sent: the message with its message_id, inbox, from, to, cc, subject, time, thread, contact_id and the ticket it belongs to, if any.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `not_found` | 404 | No active inbox of the business has that address. | Call email_list_inboxes and use one of its addresses. |
| `not_found` | 404 | reply_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_input` | 400 | An 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_large` | 413 | The attachments add up to more than 25 MB. | Send big files as download links from files_get. |
| `unsupported_type` | 400 | Email cannot carry a file of that kind (like .exe or .js). | Send a download link from files_get instead. |
| `payment_required_for_outbound` | 402 | The 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_limit` | 429 | The 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_paused` | 403 | Email from the business is paused after bounces, complaints or emails refused as cold outreach. | Tell the owner; Conecto reviews the pause before sending resumes. |
| `suppressed` | 422 | An address bounced, complained or unsubscribed before. | Remove the addresses the message lists and send again. |
| `found_by_lookup` | 422 | An 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_email` | 422 | The 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_unavailable` | 503 | The check an email to someone new goes through couldn't run just now. | Try again in a minute. |
| `send_failed` | 502 | The email service did not accept the email. | Call again in a moment. |
| `sending_unavailable` | 503 | Email 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. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [email_create_inbox](https://conecto.chat/tools/email/email_create_inbox.md): A new email address for the business on its own subdomain, which sends and receives at once. $1.00 a call.
- [email_list_inboxes](https://conecto.chat/tools/email/email_list_inboxes.md): The business's inboxes, whether each opens tickets or saves attachments, and when each renews. Free up to 1,000,000 reads a month.
- [email_update_inbox](https://conecto.chat/tools/email/email_update_inbox.md): Changes an inbox's sender name, switches saving its attachments to the file store on or off, or changes how much it saves a day. $0.001 a call.
- [email_list_messages](https://conecto.chat/tools/email/email_list_messages.md): Messages in the business's inboxes, newest first: received, sent or both, for one inbox, one sender or since a time. Free up to 1,000,000 reads a month.
- [email_get_message](https://conecto.chat/tools/email/email_get_message.md): One message in full: its text, HTML and attachment names. Free up to 1,000,000 reads a month.
- [email_get_thread](https://conecto.chat/tools/email/email_get_thread.md): Every message of one conversation, oldest first. Free up to 1,000,000 reads a month.
- [email_update_thread](https://conecto.chat/tools/email/email_update_thread.md): Marks an email thread open, waiting, handled or archived, and sets its labels. $0.001 a call.
- [email_save_attachments](https://conecto.chat/tools/email/email_save_attachments.md): Saves the files attached to one received email into the file store, each linked to the email. $0.001 per file saved.
- [email_release_inbox](https://conecto.chat/tools/email/email_release_inbox.md): Stops renting an inbox: mail sent to it later bounces, and its stored messages stay readable. Free.
