Schedule or send an email
Send a draft now or schedule it up to a year ahead, to lists or one segment.
MCP tool constant_contact_write → send_email
Sets the audience and the time of an email, like the Schedule page. Give list_ids or one segment_id; leave send_at out to send now. send_at is a date and time with an offset, in the future and within a year. Sending needs an Account Owner or Account Manager login, and can take up to 30 minutes on a large list. resend_to_non_openers is not available with a subject line A/B test and on some plans. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| email_id string required | string | Email ID from list_emails. |
| list_ids array | array | IDs of the lists to send to. Use this or segment_id. |
| segment_id integer | integer | Send to this segment. Use this or list_ids. |
| send_at datetime | datetime | ISO 8601 date and time with offset. Leave out to send now. |
| resend_to_non_openers boolean | boolean | Also resend to contacts who did not open it. Default: false. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "constant_contact_write",
"arguments": {
"operation": "send_email",
"arguments": {
"email_id": "7b1e9c30-4d2a-4f86-9a15-c3e8d0b72f41",
"list_ids": [
"5a8d3f21-6b9c-4e07-8d14-2f7c9e0a1b36"
],
"send_at": "2026-11-03T09:00:00+01:00"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"email_id": "7b1e9c30-4d2a-4f86-9a15-c3e8d0b72f41",
"status": "scheduled",
"scheduled_for": "2026-11-03T08:00:00Z",
"audience": "Tenants"
},
"isError": false
}