Newsletters

Write an issue

newsletters_write_issue · Changes data · Markdown

Writes a draft issue in Markdown, to test and then send.

Free

This tool costs nothing to call.

An example

Draft the October newsletter: the new winter tires, the tune-up special from the 24th, and a photo of the Willamette 8 in green.

Your agent callsnewsletters_write_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
{
  "newsletter": "halverson-ride-notes",
  "subject": "Winter tires are in, and our tune-up special",
  "preheader": "All-weather and studded tires, and 15% off tune-ups from October 24.",
  "body": "# Winter tires are in\n\nOur winter tires arrived this week, from all-weather commuter tires to studded ones for icy mornings. We fit them while you wait.\n\n![The Willamette 8 in green](https://halversoncycle.example/img/willamette-green.jpg)\n\n## Tune-up special\n\nFrom October 24 to 31, every tune-up is 15% off.\n\n[See the tires](https://halversoncycle.example/tires)"
}
What comes back
{
  "issue": {
    "issue_id": "cdefc921-c3cb-4222-abe6-4b1274fa3bb5",
    "number": null,
    "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": "draft",
    "send_at": null,
    "web_url": null,
    "created_at": "2026-10-14T08:00:00+00:00",
    "finished_at": null
  }
}

Use it when

A new issue is due.

What it does

A draft issue in Markdown. Look at it with newsletters_send_test, then send it with newsletters_send_issue.

What comes back

The issue with its issue_id, status draft, subject, preheader and body. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
newsletterRequiredstringThe newsletter's slug (from newsletters_list) or its exact name. 1 to 120 characters.
subjectRequiredstring1 to 200 characters.
bodyRequiredstringMarkdown: headings, lists, links, bold, quotes, tables and https images. 1 to 100,000 characters.
preheaderstringThe line mail apps show after the subject. Up to 200 characters.

The call

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

Terminal
curl -X POST https://api.conecto.chat/v1/tools/newsletters_write_issue \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"newsletter":"halverson-ride-notes","subject":"Winter tires are in, and our tune-up special","preheader":"All-weather and studded tires, and 15% off tune-ups from October 24.","body":"# Winter tires are in\n\nOur winter tires arrived this week, from all-weather commuter tires to studded ones for icy mornings. We fit them while you wait.\n\n![The Willamette 8 in green](https://halversoncycle.example/img/willamette-green.jpg)\n\n## Tune-up special\n\nFrom October 24 to 31, every tune-up is 15% off.\n\n[See the tires](https://halversoncycle.example/tires)"}'

When it refuses

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

CodeWhenWhat to do
not_found404No newsletter of the business has that slug or name.Call newsletters_list and use a slug from it.

Give this to your agent.

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