> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seamless.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Email

> Email accounts, drafts, send, and bulk email MCP tools.

Send emails and manage drafts. Requires [Connect access](/mcp/access-control).

<Note>
  Subjects and bodies are plain text. Do not include HTML tags or a sign-off line (signatures are appended automatically). Personalize with square-bracket merge tags from `seamless://templates/variables`, such as `[first_name]` and `[company]`.
</Note>

## Email accounts

| Tool | Description | Risk | Schema |
| - | - | - | - |
| `list_email_accounts` | List connected sender addresses. | `read` | [#list\_email\_accounts](#list_email_accounts) |

## Email send and drafts

| Tool | Description | Risk | Schema |
| - | - | - | - |
| `create_email_draft` | Create draft (not sent). | `write` | [#create\_email\_draft](#create_email_draft) |
| `get_email_draft` | Retrieve a draft. | `read` | [#get\_email\_draft](#get_email_draft) |
| `update_email_draft` | Update draft content. | `write` | [#update\_email\_draft](#update_email_draft) |
| `send_email_draft` | Send a saved draft. | `write` | [#send\_email\_draft](#send_email_draft) |
| `send_email` | Send in one step. | `write` | [#send\_email](#send_email) |
| `send_bulk_email` | Send to saved contacts matching filters. Rejects more than 500 matches, skips opted-out contacts, does not consume credits. | `write` | [#send\_bulk\_email](#send_bulk_email) |

## send\_email

<ParamField path="contactId" type="integer | string" required>
  Saved contact ID from `get_my_contacts` (not a search result ID).
</ParamField>

<ParamField path="from" type="string" required>
  Sender email address from a connected account (`list_email_accounts` or `seamless://email-accounts`).
</ParamField>

<ParamField path="to" type="string" required>
  Recipient email address.
</ParamField>

<Warning>
  Sends to recipients on the public internet. Require explicit user approval in agent workflows.
</Warning>

### Example

```json theme={null}
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "send_email",
    "arguments": {
      "contactId": 456,
      "from": "you@company.com",
      "to": "prospect@acme.com",
      "subject": "Following up, [first_name]",
      "body": "Hi [first_name],\n\nI'd like to schedule 15 minutes to discuss [company]."
    }
  },
  "id": 1
}
```

## send\_bulk\_email

Resolves the audience first and rejects the request if more than 500 contacts match — the send is not truncated. Opted-out and unsubscribed contacts are skipped. Returns `jobId` plus `matched`, `queued`, and `skipped` counts.

<ParamField path="from" type="string" required>
  Sender email address from a connected account.
</ParamField>

<ParamField path="filters" type="object" required>
  Must include at least one of `lists`, `contactIds`, `campaignIds`, or a text query (`queryText`, `queryTextName`, `queryTextCompany`, `queryTextDomain`, `queryTextTitle`, `queryTextLocation`). An empty filter set is rejected so the whole book is never mailed.
</ParamField>

<ParamField path="subject" type="string">
  Required if no `templateId`. Supports merge tags from `seamless://templates/variables`.
</ParamField>

<ParamField path="body" type="string">
  Required if no `templateId`.
</ParamField>

<ParamField path="templateId" type="integer">
  Send an existing template instead of `subject` and `body`.
</ParamField>

<ParamField path="idempotencyKey" type="string">
  A retry with the same key returns the original job. Reusing a key with a different audience or message is rejected.
</ParamField>

<Warning>
  Sends to many recipients at once. Require explicit user approval and show the audience size before calling.
</Warning>

### Example

```json theme={null}
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "send_bulk_email",
    "arguments": {
      "from": "you@company.com",
      "filters": { "lists": [12] },
      "subject": "Quick intro, [first_name]",
      "body": "Hi [first_name],\n\nWe work with teams like [company] on outbound. Open to a quick look?",
      "idempotencyKey": "q2-list-12-intro"
    }
  },
  "id": 1
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.