> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xpressbot.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Campaigns

> Send a message to your Telegram contacts or groups now or on a schedule, and see how it performed.

## What is this?

**Telegram campaigns** send one message to many people at once — an announcement, an offer, or an update. You choose who gets it, write the message, and send it immediately or schedule it.

Campaigns are sent in the background at a pace Telegram allows, so large audiences take a little time.

Open it from **Telegram → Campaigns** in the sidebar.

\[SCREENSHOT: telegram-campaigns-list — The Telegram Campaigns page with the Total, Active, and Completed tiles above the campaign table]

<Info>
  Telegram only delivers to people who **started your bot**. People who blocked the bot are skipped automatically and counted as **Blocked**.
</Info>

## What can I do here?

* Create a campaign with text, a photo, a video, audio, or a document
* Add up to 6 buttons — links or callbacks
* Target people, groups, or both, optionally by label
* Preview the message, and count the audience before sending
* Send now, schedule for later, pause, resume, or cancel
* See results: sent, blocked, failed, and who received it

## How to use it

### Create a campaign

<Steps>
  <Step title="Click Create campaign">
    You need the permission to create campaigns.
  </Step>

  <Step title="Name it">
    Enter a **Name** for your own reference, for example *October announcement*.
  </Step>

  <Step title="Choose the message type">
    Pick **Text**, **Photo**, **Video**, **Audio**, or **Document**. For anything but text, paste the file's public link in **Or paste a media URL**.
  </Step>

  <Step title="Write the message">
    Type the **Message text** (or a **Caption** for media). You can personalize it, for example `Hi {{first_name}}, …`. A live preview shows how it will look in Telegram.
  </Step>

  <Step title="Add buttons (optional)">
    Click **Add button** for up to six. Each has a label (up to 64 characters) and is either a **Link** that opens a web address, or a **Callback** that sends a reply back to you when tapped.
  </Step>

  <Step title="Choose who receives it">
    Under **Send to**, pick **People**, **Groups**, or **People and groups**. For people, choose **Everyone** or select one or more **labels**. For groups, leave it on all groups the bot can post in, or select specific ones. Click **Count audience** to see "N recipients."
  </Step>

  <Step title="Send or schedule">
    Leave the schedule empty to start straight away, or pick a date and time (shown in your timezone). Click **Start campaign**, or **Schedule campaign** if you set a time. **Save draft** keeps it for later.
  </Step>
</Steps>

By default unsubscribed contacts are left out. Tick **Include unsubscribed contacts** only if you're sure you should.

\[SCREENSHOT: telegram-campaign-create — The Create campaign dialog with message type, buttons, audience, schedule, and the Telegram-style preview]

### Manage campaigns

The table shows each campaign's name, message type, status, labels, and its **Recipients**, **Sent**, **Blocked**, and **Failed** counts, plus its schedule. Use the tiles (**Total campaigns**, **Active**, **Completed**) and the search box to find one.

Click the actions button on a row:

| Action                    | When you can use it                                        |
| ------------------------- | ---------------------------------------------------------- |
| **View details**          | Any time                                                   |
| **Send now** / **Resume** | On a draft, scheduled, or paused campaign                  |
| **Pause**                 | While it's sending                                         |
| **Schedule**              | On a draft — pick a time between 1 minute and 1 year ahead |
| **Back to draft**         | On a scheduled campaign, to remove its schedule            |
| **Cancel**                | To stop a campaign that hasn't finished                    |

| Status        | Meaning                                    |
| ------------- | ------------------------------------------ |
| **Draft**     | Saved, not sent                            |
| **Scheduled** | Waiting for its start time                 |
| **Sending**   | Going out now                              |
| **Paused**    | Stopped part-way; **Resume** to continue   |
| **Completed** | Every recipient has been handled           |
| **Failed**    | It couldn't start or finish, with a reason |
| **Cancelled** | You stopped it                             |

A scheduled campaign that can't start — for example if nobody matches the audience, or the bot is disconnected — becomes **Failed** with a reason.

### Read the results

Click a campaign to open its details. The tiles show **Recipients**, **Messages sent**, **Sent rate**, **Blocked rate**, and **Failure rate**. The tabs are:

| Tab                  | What's in it                                |
| -------------------- | ------------------------------------------- |
| **Campaign details** | The message, audience, and schedule         |
| **Performance**      | Sent, blocked, and failed counts            |
| **Error analysis**   | Why messages failed (only shown if any did) |
| **Target audience**  | Each recipient and their status             |

\[SCREENSHOT: telegram-campaign-details — A campaign's details page with the metric tiles and the Performance tab]

## Things to know

* **Nobody is messaged twice.** A recipient is never sent the same campaign twice, even if it's paused and resumed.
* **Groups.** Only groups where the bot is a member or admin receive the campaign. A group that removed the bot counts as **Blocked**.
* **Callback buttons.** When someone taps one, it arrives in your Inbox as a message from them with the button's label. Use a keyword trigger on that label to react. See [Telegram Triggers](/workspace/automation/triggers/telegram-triggers).
* **Limits.** Your plan's campaign limit applies.

## Troubleshooting / Technical Notes

* **"You don't have permission to manage campaigns."** Ask an admin for the campaign permissions.
* **The audience is 0.** Nobody with that label has started your bot, or everyone is unsubscribed. Try **Everyone**.
* **A campaign failed.** Open it and read the reason. A revoked bot token stops a campaign — reconnect the bot in [Channels](/workspace/telegram/connect-bot).
* **Many people show as Blocked.** They blocked the bot or never started it. This is normal and can't be sent to.
* **Schedule times look off.** Times are shown in your own timezone, and stored in UTC.
* **"Connect a Telegram bot first."** Connect a bot to use this page.

## Related docs

* [Telegram Overview](/workspace/telegram/overview)
* [Groups](/workspace/telegram/groups)
* [Labels](/workspace/contacts/labels)
* [WhatsApp Campaigns](/workspace/whatsapp/campaigns)
