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

# Alert channels

> Alert channel types and configuration

Alert channels define where Larm sends notifications when a monitor goes down or recovers. Each monitor can be linked to one or more channels.

Larm sends alerts for these events:

* **Monitor down** — a monitor has been confirmed down
* **Monitor recovered** — a monitor is back up
* **Certificate expiring** — an SSL certificate is nearing expiry
* **Test** — a manual test alert sent from the dashboard

## Slack

Posts a formatted message to a Slack channel via an incoming webhook.

| Field           | Description                                                                  |
| --------------- | ---------------------------------------------------------------------------- |
| **Webhook URL** | Slack incoming webhook URL (starts with `https://hooks.slack.com/services/`) |

## Discord

Posts an embed message to a Discord channel via webhook.

| Field           | Description                                                                   |
| --------------- | ----------------------------------------------------------------------------- |
| **Webhook URL** | Discord webhook URL (matches `https://discord.com/api/webhooks/{id}/{token}`) |

## Email

Sends an HTML email to one or more recipients.

| Field          | Description             |
| -------------- | ----------------------- |
| **Recipients** | List of email addresses |

## Webhook

POSTs a JSON payload to any HTTPS URL. Use this to integrate with services Larm doesn't have a native adapter for.

| Field                | Required | Description                                                                    |
| -------------------- | -------- | ------------------------------------------------------------------------------ |
| **URL**              | Yes      | HTTPS endpoint to receive the payload                                          |
| **Signing secret**   | No       | Used to generate an HMAC-SHA256 signature in the `x-larm-signature-256` header |
| **Headers**          | No       | Custom HTTP headers to include with the request                                |
| **Payload template** | No       | Custom JSON template with variable interpolation                               |

See [Webhooks](/webhooks) for payload format, template variables, and signature verification.

## PagerDuty

Triggers and resolves incidents via the PagerDuty Events API v2.

| Field               | Description                                          |
| ------------------- | ---------------------------------------------------- |
| **Integration key** | 32-character PagerDuty Events API v2 integration key |

When a monitor goes down, Larm triggers a PagerDuty incident. When it recovers, Larm automatically resolves the incident using a stable dedup key.

## Microsoft Teams

Posts an Adaptive Card message to a Teams channel. Supports both legacy Office 365 Connector and Power Automate Workflow webhooks.

| Field           | Description                |
| --------------- | -------------------------- |
| **Webhook URL** | Teams incoming webhook URL |

## Grafana IRM

Creates and resolves alerts in Grafana OnCall via the Formatted Webhook integration.

| Field               | Description                                      |
| ------------------- | ------------------------------------------------ |
| **Integration URL** | Grafana OnCall Formatted Webhook integration URL |

When a monitor goes down, Larm creates an alert in Grafana OnCall. When it recovers, the alert is automatically resolved using a stable dedup key.

## ilert

Creates and resolves alerts via the ilert Events API. ilert is an EU-native incident management platform based in Cologne, Germany.

| Field       | Description                |
| ----------- | -------------------------- |
| **API key** | ilert alert source API key |

When a monitor goes down, Larm creates a HIGH-priority alert in ilert. When it recovers, the alert is automatically resolved using a stable dedup key. Certificate expiry and test alerts are created with LOW priority.

## incident.io

Creates and resolves alerts via incident.io's HTTP Alert Source API.

| Field                | Description                                                           |
| -------------------- | --------------------------------------------------------------------- |
| **Alert source URL** | incident.io alert source URL (starts with `https://api.incident.io/`) |
| **API token**        | incident.io API token for authentication                              |

When a monitor goes down, Larm fires an alert in incident.io. When it recovers, the alert is automatically resolved using a stable dedup key.

## Mattermost

Posts a formatted message to a Mattermost channel via an incoming webhook.

| Field           | Required | Description                                 |
| --------------- | -------- | ------------------------------------------- |
| **Webhook URL** | Yes      | Mattermost incoming webhook URL             |
| **Channel**     | No       | Override the webhook's default channel      |
| **Username**    | No       | Override the webhook's default bot username |

## Pushover

Sends push notifications to your devices via Pushover.

| Field              | Description                                        |
| ------------------ | -------------------------------------------------- |
| **User/group key** | Your Pushover user key or delivery group key       |
| **API token**      | Application API token from your Pushover dashboard |

## ntfy

Sends notifications via [ntfy](https://ntfy.sh), a simple pub/sub notification service. Works with the public ntfy.sh instance or your own self-hosted server.

| Field            | Required | Description                              |
| ---------------- | -------- | ---------------------------------------- |
| **Server URL**   | Yes      | ntfy server URL (e.g. `https://ntfy.sh`) |
| **Topic**        | Yes      | Topic name to publish to                 |
| **Access token** | No       | Required for authenticated ntfy servers  |

## Telegram

Sends messages to a Telegram chat via the Bot API. You provide your own bot (created via [@BotFather](https://t.me/BotFather)) and a chat ID.

| Field         | Description                                                  |
| ------------- | ------------------------------------------------------------ |
| **Bot token** | Bot API token from BotFather (format: `123456789:ABCdef...`) |
| **Chat ID**   | Numeric chat/group ID (e.g. `-1001234567890`) or `@username` |

To find your chat ID, send a message to your bot and visit `https://api.telegram.org/bot<token>/getUpdates`.

## SMS

<Note>SMS alerts are available on Pro and Business plans.</Note>

Sends a text message to a verified phone number.

| Field            | Description                                         |
| ---------------- | --------------------------------------------------- |
| **Phone number** | Phone number in E.164 format (e.g. `+447700900000`) |

When you add an SMS channel, the phone number must be verified via a confirmation code. SMS alerts are metered: Pro plans include 125 messages per month, Business includes 500 per month. Additional hourly and daily rate limits apply to prevent burst costs from flapping monitors.

## Retries and failure handling

Alert delivery is attempted up to 3 times with exponential backoff.

If a channel returns a permanent error (401, 403, or 404), Larm disables the channel automatically and notifies the organization owner by email. You can re-enable it from the dashboard after fixing the configuration.
