sendAnnouncement
Creates an announcement and dispatches it (email + in-app) to testers of the beta project. The announcement is recorded and its delivery is queued; individual email or in-app delivery failures are logged and do not surface here. The response carries the announcementId that listAnnouncements reports (with recipient and view counts). TWO-STEP TOOL: call it WITHOUT confirmationToken first — nothing is sent and you receive a preview plus a confirmationToken. Show the preview to the user; only after the user explicitly approves, call again with the SAME arguments plus the confirmationToken. Tokens are single-use and expire after a few minutes. Audience targeting (pick exactly one): allTesters=true reaches every tester; usersIds targets specific testers by their user ids from getBetaTesters; tagIds targets everyone carrying any of the given tester tags from listTesterTags (smart tags included), narrowed to this beta project's testers.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The announcement body (1 to 600 characters). Only bold, italic, underline, line-break and span tags survive; every other tag, links included, is removed. A URL written as plain text stays in the text. | |
| audience | Yes | Who receives the announcement. Set exactly one of: allTesters=true, usersIds, or tagIds. | |
| productId | Yes | ID of the beta project to query. Get valid IDs from the listProducts tool. | |
| attachmentId | No | Optional attachment handle from uploadMedia (target 'announcement'). | |
| confirmationToken | No | Two-step confirmation token. Omit on the first call to receive a preview plus a token; then call again with the SAME arguments plus this token to execute. Single-use and short-lived. |