Newsletters

Send an issue

newsletters_send_issue · Changes data · Markdown

Sends a draft to everyone who confirmed, now or at a set time, through the business's own email service.

Free

This tool costs nothing to call.

An example

Send the October newsletter on Thursday at 9 in the morning.

Your agent callsnewsletters_send_issueFree

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
{
  "issue_id": "0c6e2a9f-4d1b-4e8a-9b3c-7f5d2e1a8c40",
  "send_at": "2026-10-22T09:00:00-07:00"
}
What comes back
{
  "issue": {
    "issue_id": "0c6e2a9f-4d1b-4e8a-9b3c-7f5d2e1a8c40",
    "number": 1,
    "subject": "Winter tires are in, and our tune-up special",
    "preheader": "All-weather and studded tires, and 15% off tune-ups from October 24.",
    "status": "scheduled",
    "send_at": "2026-10-22T09:00:00-07:00",
    "web_url": null,
    "created_at": "2026-10-14T08:00:00+00:00",
    "finished_at": null,
    "problem": null,
    "results": {
      "recipients": 3,
      "sent": 0,
      "failed": 0,
      "skipped": 0,
      "bounced": 0,
      "unsubscribed": 0,
      "people_who_clicked": 0
    }
  },
  "note": "Scheduled."
}

Use it when

The issue was tested and approved.

What it does

Send a draft to everyone who confirmed, now or at send_at, through the business's own email service. It goes out in batches, within the service's daily limit when one is set; newsletters_get_issue shows how far it got. It is checked first: one that looks like cold outreach isn't sent. Free.

What comes back

The issue (scheduled or sending) with its results so far and problem (what holds it up, if anything), and a note. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
issue_idRequiredstringThe issue_id newsletters_write_issue returned. Exactly 36 characters.
send_atstringWhen, as ISO 8601 with a time zone, e.g. 2026-10-20T09:00:00+02:00. Now if left out. Up to 40 characters.

The call

Over MCP, call newsletters_send_issue on https://api.conecto.chat/mcp/newsletters. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/newsletters_send_issue \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"issue_id":"0c6e2a9f-4d1b-4e8a-9b3c-7f5d2e1a8c40","send_at":"2026-10-22T09:00:00-07:00"}'

When it refuses

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

CodeWhenWhat to do
not_found404No issue of the business has that issue_id.Find it with newsletters_list_issues and use its issue_id.
not_draft409The issue was scheduled or sent already; only a draft can change or be sent.Write a new issue with newsletters_write_issue.
no_subscribers409Nobody has confirmed a subscription yet.Invite people with newsletters_invite and send once some have confirmed.
invalid_input400send_at has no time zone, or is more than 90 days ahead.Send a time like 2026-10-22T09:00:00-07:00, within 90 days.
sending_unavailable403The business cannot send newsletters right now.Do what the message says (often: top up once), then send again.
no_sending_service409The business has not connected its own email service.Connect it with newsletters_connect_service (its SMTP server, login and from address).

Give this to your agent.

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