> ## Documentation Index
> Fetch the complete documentation index at: https://plain-docs-orca-916-agent-docs-restructure.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Broadcasts

> Send one message to many customers from Plain, and track delivery and replies per channel.

Broadcasts let you send one message to many customers at once, straight from Plain. Write it once, choose who it goes to, and Plain posts it to every connected Slack channel that matches.

Every reply comes back as a normal Plain thread, linked to the broadcast that started it.

## Before you start

You need:

* Plain's Slack integration connected, with the channels you want to reach set up as customer channels.

* A Slack channel per customer. Broadcasts reach customers through their connected Slack channels, so a customer with no enabled channel cannot be reached.

* The Owner, Admin, or Support role, if you want the broadcast to send under your own name.

Everyone in your workspace with access to the Broadcasts page can see every broadcast. There is no per-broadcast visibility.

## Sending a broadcast

Follow these steps to send a broadcast:

* [Write a broadcast](/product/broadcasts/write-a-broadcast): the name, notification title, content, and sender

* [Choose who receives it](/product/broadcasts/choose-recipients): filter customers into a list of Slack channels

* [Send and schedule](/product/broadcasts/send-and-schedule): review it, post a test, then send now or schedule it

* [Read the report](/product/broadcasts/broadcast-reports): delivery counts, per-channel statuses, reactions, and reply threads

## The broadcast lifecycle

A broadcast has four states, and the Broadcasts list has a tab for each:

| Tab         | What's in it                                                         |
| ----------- | -------------------------------------------------------------------- |
| Drafts      | Broadcasts you're still writing. Editable, nothing has been sent.    |
| Scheduled   | Queued to send at a set time. Still editable, and still cancellable. |
| In progress | Currently resolving recipients or posting messages.                  |
| Sent        | Finished sending, whether fully, partially, failed, or canceled.     |

A broadcast can only be sent once. After it sends, the message becomes read-only and the page turns into a report on how the send went. To send the same message again, duplicate the content into a new broadcast, or filter on the threads the first one created and follow up there.

## Using the API

You can create and update broadcasts through the [GraphQL API](/graphql/introduction). The [API key](/graphql/authentication) needs all four of the following permissions:

* `broadcasts:create`
* `broadcasts:send`
* `broadcasts:read`
* `workspaceSlackIntegration:read`

`workspaceSlackIntegration:read` is required because a broadcast resolves its audience into Slack channels, which means reading your Slack integration.

## Resources

* [Broadcast audiences](/product/broadcasts/broadcast-audiences): build and reuse the filter that decides who a broadcast reaches
* [Slack](/product/channels/slack): connect the integration and set up customer channels
* [Tenants](/product/platform/tenants): the customer accounts and tenant fields you filter on
* [Tiers](/product/platform/tiers): the service levels you filter on
* [GraphQL API](/graphql/introduction): the data model behind the API permissions above
