Broadcast Post
broadcast_postEmail a published post's newsletter to consented recipients on the blog sending domain. At most once per post — and not at all if a publish already sent the newsletter selected in the post's distribution. Requires a configured blog sender and a public address for the post.
This is irreversible and unrepeatable — the one moment this post reaches the list. send_post_test sends a test copy of the same email to a single inbox beforehand.
The email carries the Subject, the post's cover image when one is set (CoverImageURL), the Summary (else the saved newsletter summary, else the post's summary) and a "Read the full post" link button to the post's public address — never the post body. edit_post changes the cover; an edit after broadcasting cannot reach the inboxes already sent. Without a Subject the email falls back to the saved subject, else the post title; a title and a subject are different jobs.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"PostID": "<PostID>"
},
"name": "broadcast_post"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| PostID | Yes | Published post id to broadcast. Two preconditions, both rejected with a 400: the post must already be published (publish_post publishes it), and its body must not be empty. | |
| Subject | No | The email subject line. Omitting it falls back to the subject saved with the post, else the post title. This send cannot be repeated or taken back. | |
| Summary | No | The email's body text. Markdown is rendered (raw HTML is not); the Read the full post button carries the post's link. Omit it to use the summary saved with the post for the newsletter, else the post's own summary. At most 5000 characters. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| Plan | Yes | Who receives the email and exactly what it says, with WARNING lines for what stops it. | |
| Slug | Yes | URL slug. | |
| Tags | Yes | Tags. | |
| Title | Yes | Visible post headline; also the search/social title fallback when SEO Title is empty. | |
| Author | Yes | Author display name if set. | |
| PostID | Yes | Post id. | |
| Status | Yes | draft or published. | |
| Summary | Yes | Human-facing lede; also the word-aware metadata-description fallback when Description is empty. | |
| Markdown | Yes | Markdown body. | |
| SEOTitle | Yes | Stored optional search/social title override, or empty when Title supplies the fallback. | |
| AuthorURL | Yes | Author URL if set. | |
| CreatedAt | Yes | ISO-8601 created time. | |
| UpdatedAt | Yes | ISO-8601 updated time. | |
| Categories | Yes | Categories. | |
| Provenance | Yes | Agent attribution, absent on a human-authored post. | |
| Description | Yes | Stored optional search/social description override, or empty when the word-aware Summary fallback supplies metadata. | |
| PublishedAt | Yes | ISO-8601 publish time if set. | |
| CoverImageAlt | Yes | Cover image alt text, or empty when unset. (FR-020) | |
| CoverImageURL | Yes | Cover image URL, or empty when unset. Rendered on the post page, card, social metadata, and in the newsletter email - distinct from any image inside Markdown. CoverImageAlt describes it. | |
| AuthorAvatarURL | Yes | Author photo URL if set — shown beside the byline and as the author's image in structured data. | |
| LastBroadcastAt | Yes | ISO-8601 broadcast time if set. |