> For the complete documentation index, see [llms.txt](https://docs.metacopier.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.metacopier.io/features/basic-features/notification-channels.md).

# Channels

The **Channels** page of a project lists every place MetaCopier can send notifications to. You connect a channel once and then decide on the [Notifications](/features/basic-features/notifications.md) page which events are sent there.

{% hint style="info" %}
Connecting a channel does not send anything yet. Only [notification rules](/features/basic-features/notifications.md) decide which events go to which channel. After connecting a channel, use **Create notification** to add a rule for it.
{% endhint %}

## Supported channels

<table><thead><tr><th width="190">Channel</th><th>How it is connected</th></tr></thead><tbody><tr><td><strong>Telegram</strong></td><td>Personal messages from our Telegram bot. You add one or more Telegram usernames as recipients.</td></tr><tr><td><strong>Slack</strong></td><td>Posts to a Slack channel. Connected with <strong>Add to Slack</strong>.</td></tr><tr><td><strong>Microsoft Teams</strong></td><td>Posts to a Teams channel through a Teams <strong>Workflows</strong> webhook URL.</td></tr><tr><td><strong>Discord</strong></td><td>Posts to a Discord channel. Connected with <strong>Add to Discord</strong>.</td></tr><tr><td><strong>Webhook</strong></td><td>JSON to your own HTTP endpoint. Webhooks are managed on the <a href="/features/basic-features/webhook.md">Webhook</a> page and can be selected as a target in rules.</td></tr></tbody></table>

All channels are available in the basic plan. A project can have up to **25 channels**.

{% hint style="warning" %}
On white-label domains, the Channels and Notifications pages are not available. Telegram, Slack, Microsoft Teams and Discord are not offered there; use the [Webhook](/features/basic-features/webhook.md) page instead (if webhooks are enabled for the white-label).
{% endhint %}

## Telegram

Every project has a single Telegram channel. It holds a list of **recipients** (Telegram users).

1. Open our bot [@MetaCopierNotificatorBot](https://t.me/MetaCopierNotificatorBot) with the Telegram user that should receive the messages.
2. Press **Start** in the chat with the bot.
3. In MetaCopier, open **Channels**, click **Add channel** → **Telegram** and enter the Telegram username (for example `@User123`).
4. Click **Check**. Once the bot was started by this user, the recipient is shown as verified.

Per recipient you can set:

* **Display name (optional):** For example "My phone", so you can tell recipients apart.
* **Enabled:** Temporarily stop messages to this recipient without deleting it.
* **Show account alias instead of account number:** Messages show the alias you gave the account instead of its login number.

{% hint style="info" %}
Your Telegram account must have a **username**. Without one, the bot cannot reach you. To set it, open Telegram and go to **My Profile** → **Edit** → **Username**.
{% endhint %}

In a rule, you can send to **all Telegram recipients** or to individual recipients.

## Slack

1. Click **Add channel** → **Slack** → **Add to Slack**.
2. Slack asks you to pick the workspace and the channel the messages should be posted to. Confirm the consent screen.
3. You are redirected back to MetaCopier and the channel is listed. Send a test message to check that everything works.

To post to a different Slack channel, use **Reconnect**. **Manage in Slack** opens the app configuration in Slack, where you can also remove the integration.

## Microsoft Teams

Teams channels are connected through a **Workflows** webhook. This requires a Microsoft 365 work or school account; Microsoft Teams (free) with a personal account has no Workflows. The old Office 365 connectors ("Incoming Webhook" URLs on `outlook.office.com` or `*.webhook.office.com`) are retired by Microsoft and are not accepted.

1. In Teams, select **Apps** in the left bar and open **Workflows** (also under **…** View more apps). If it isn't listed, click **Search in Store**, search for **Workflows** and add it.
2. Search for the template **Send webhook alerts to a channel** and select it. Use exactly this one: the variants **from specific people** and **from people in an org** only accept signed-in senders and are not supported.
3. Follow the prompts and choose the team and channel the alerts should go to.
4. Click **Add workflow** (or **Save**). Once it says **Workflow added successfully!**, copy the webhook URL shown. Treat it like a password.
5. In MetaCopier, click **Add channel** → **Microsoft Teams**, paste the URL and give the channel a name.
6. Click **Save & send test**.

{% hint style="info" %}
Add a co-owner to the workflow so it keeps running if you leave the team. Failed runs show up in the run history of the workflow.
{% endhint %}

{% hint style="warning" %}
Teams allows about **25 posts per 5 minutes** per Microsoft account that owns the workflow. MetaCopier sends at most **20 posts per 5 minutes** per Teams channel and bundles anything above that into one summary card. Channels whose workflows belong to the same Microsoft account share this budget.
{% endhint %}

After saving, the URL is hidden. Paste a new URL only if you want to replace it.

## Discord

1. Click **Add channel** → **Discord** → **Add to Discord**.
2. Discord asks you to choose a server and a channel. You need the **Manage Webhooks** permission on that server, otherwise Discord does not offer it.
3. You are redirected back to MetaCopier and the channel is listed. Send a test message to check that everything works.

Under **Advanced** you can optionally set:

* **Thread ID:** Post into a thread of the channel.
* **Sender name** and **Avatar URL:** How the messages appear in Discord.
* **Role ID to mention on errors:** This role is mentioned when an error is sent.

## Health and delivery history

Every channel (and every Telegram recipient) shows its current state:

<table><thead><tr><th width="190">State</th><th>Meaning</th></tr></thead><tbody><tr><td><strong>OK</strong></td><td>The last message was accepted.</td></tr><tr><td><strong>Not verified</strong></td><td>The Telegram user has not started the bot yet.</td></tr><tr><td><strong>Throttled</strong></td><td>The provider asked us to slow down. Messages are bundled or delayed.</td></tr><tr><td><strong>Error</strong></td><td>The last delivery failed. The error message tells you why, for example "Start @MetaCopierNotificatorBot first".</td></tr><tr><td><strong>Disabled</strong></td><td>The channel was disabled automatically after repeated errors.</td></tr></tbody></table>

* **Automatic disabling:** Slack and Teams channels are disabled after 5 hard failures in a row. Discord channels are disabled immediately when Discord reports that the webhook was deleted or is no longer authorized. Telegram recipients are never disabled automatically.
* **Re-enable:** After fixing the cause (for example reconnecting the channel), click **Re-enable**.
* **Send test:** Sends a test message to the channel or to a single Telegram recipient.
* **Delivery history:** Shows every message of the last **7 days** with its status (Accepted, Failed, Bundled, Quiet hours, Cooldown, Dropped and so on). You can filter by status.

{% hint style="info" %}
Notifications are delivered on a **best-effort** basis: on crashes or overload messages can be lost, and retries can occasionally deliver a message twice. "Accepted" means the provider accepted the message, not that it was read.
{% endhint %}

## Rate limits

MetaCopier respects the limits of every provider and bundles messages instead of dropping them where possible:

* Each channel accepts at most **15 messages per minute** from MetaCopier, of which at most **10 INFO** messages. Above that, messages are combined into one summary.
* Provider limits (Slack about 1 post per second per channel, Teams see above, Discord per webhook, Telegram per chat) are respected automatically. When a provider asks us to wait, the channel is shown as **Throttled**.

Use the [digest](/features/basic-features/notifications.md#delivery-options) option of a rule if you expect many messages.

## Deleting a channel

When you delete a channel that is still used by rules or tools (for example a [News filter](/features/pro-features/news-filter.md)), MetaCopier lists those usages first. They will no longer send anything to the deleted channel.
