retry_broadcast
Send a finished broadcast again, to the members it could not reach and nobody else, as a new broadcast under the old one. Destructive — show the human the failed count first.
Try the members an earlier broadcast missed. The retry is a broadcast of its own under the parent (parent_id): it goes to the parent's missed members alone, posts no announcement where a connector keeps a place for one, and carries the parent's message and audience so the history reads the same. It answers the child's broadcast_id the moment the walk is queued; follow it with get_broadcast, or in the Copilot watch the step under the reply, which counts the members as they are reached.
Destructive. Every member reached is a real person. Read the parent with
get_broadcast, show the human its
failed_count and the reasons, and get explicit approval before calling. A
member who blocked the bot (unreachable) will be missed again; a retry is
for the rate-limited and the temporary errors.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same action as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Fires events
Delivered to every endpoint subscribed to it once the change is made.
Annotations
A client that honours annotations asks a person before running it.
Arguments
broadcast_id*stringUUID of the finished broadcast whose missed members are tried again.
What it returns
{ "data": { "broadcast_id": "0192f4a6-9b1c-7e3d-8a2f-6c7d8e9f0a1b", "parent_id": "0192f4a6-3c1e-7d2b-9a8f-4e5d6c7b8a90", "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13", "audience": "customer", "recipient_estimate": 2, "estimated_seconds": 1, "status": "queued" }}recipient_estimate is how many of the missed members can be reached now, not how many were missed: a member who has since left the project, or no longer holds an account on the connector, is left out. Both broadcast.queued and broadcast.completed fire for the retry, carrying parent_id.
How it fails
VALIDATION_FAILEDwith reason: refused — the parent is still sending, it missed nobody, none of the missed can be reached now, or the project has no connected bot; detail says which.
RESOURCE_NOT_FOUNDunknown broadcast_id, another team's project, or one outside the token's scope:project: allow-list.
TOKEN_MISSING_ABILITYtoken lacks broadcast:send.
How is this guide?
Last updated on