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

# TelegramAlertChannel Construct

> Learn how to configure Telegram alert channels and forum topics with the Checkly CLI.

> [!TIP]
>
> For general information about alerting, see our docs on [the Telegram integration](https://www.checklyhq.com/docs/integrations/alerts/telegram.md) and [alerting with Checkly](https://www.checklyhq.com/docs/communicate/alerts/overview.md).

Sends alerts to a Telegram channel.

```ts Basic Example theme={null}
import { TelegramAlertChannel } from 'checkly/constructs'

const telegramChannel = new TelegramAlertChannel('my-telegramchannel-1', {
  name: 'My Telegram channel',
  apiKey: 'xxxxxx',
  chatId: 'xxxxxx'
})
```

```ts Advanced Example theme={null}
import { TelegramAlertChannel } from 'checkly/constructs'

const telegramChannel = new TelegramAlertChannel('my-telegramchannel-1', {
  name: 'My Telegram channel',
  apiKey: 'xxxxxx',
  chatId: 'xxxxxx',
  messageThreadId: '42',
  sendRecovery: true,
  sendFailure: true,
  sendDegraded: true,
  sslExpiry: true,
  sslExpiryThreshold: 30,
})
```

> [!NOTE]
>
> `messageThreadId` requires Checkly CLI 8.18.0 or later.

> [!NOTE]
>
> If you need to reference existing alert channels that were created outside of your CLI project, use [`fromId()`](https://www.checklyhq.com/docs/constructs/alert-channel#using-fromid-to-reference-an-existing-channel).

## Configuration

### Telegram Alert Channel Options

**name** `string` *required*

Friendly name to recognise the integration.

**apiKey** `string` *required*

The API key associated with your Telegram bot.

**chatId** `string` *required*

The chat ID of the Telegram channel you want to send alerts to.

**messageThreadId** `string`

The positive integer Message Thread ID of a Telegram forum topic. Use it together with `chatId` to send alerts to a specific topic.

**payload** `string`

The message sent to the chat when an alert is triggered. If this is not specified, we'll send a default payload with some basic information about the alert.

We have [handlebar helpers and variables](https://www.checklyhq.com/docs/integrations/alerts/webhooks.md#using-variables) available for building custom payloads.

```ts highlight={5-16} theme={null}
new TelegramAlertChannel('my-telegramchannel-1', {
  name: 'My Telegram channel',
  apiKey: 'xxxxxx',
  chatId: 'xxxxxx',
  payload: `
    <b>{{ALERT_TITLE}}</b> at {{RUN_LOCATION}} ({{RESPONSE_TIME}}ms)
    {{#if AI_ANALYSIS_CLASSIFICATION}}
    AI Analysis: <i>{{AI_ANALYSIS_CLASSIFICATION}}</i>

    {{AI_ANALYSIS_ROOT_CAUSE}}
    <a href="{{AI_ANALYSIS_LINK}}">Read full analysis</a>
    {{/if}}

    Tags: {{#each TAGS}} <i><b>{{this}}</b></i> {{#unless @last}},{{/unless}} {{/each}}
    <a href="{{RESULT_LINK}}">View check result</a>
    `
})
```

### General Alert Channel Options

These options are valid for all alert channels types.

**sendRecovery** `boolean`

Whether to send notifications when checks recover from a [failed or degraded state](https://www.checklyhq.com/docs/communicate/alerts/overview.md#alert-channels). Default value is `true`.

**sendFailure** `boolean`

Whether to send notifications when checks [fail](https://www.checklyhq.com/docs/communicate/alerts/overview.md#alert-channels). Default value is `true`.

**sendDegraded** `boolean`

Whether to send notifications when checks [become degraded](https://www.checklyhq.com/docs/communicate/alerts/overview.md#alert-channels). Default value is `false`.

**sslExpiry** `boolean`

Whether to send notifications when a SSL/TLS certificate is about to expire. Default value is `false`.

```ts highlight={3} theme={null}
new EmailAlertChannel("email-channel-1", {
  address: "alerts@acme.com",
  sslExpiry: true,
  sslExpiryThreshold: 30, // Alert 30 days before expiry
})
```

[Learn more about SSL alerts.](https://www.checklyhq.com/docs/communicate/alerts/ssl-expiration.md)

**sslExpiryThreshold** `number`

Number of days before the SSL/TLS certificate expiry date to send notifications. Only relevant when `sslExpiry` is enabled. Default value is `30`.

```ts highlight={4} theme={null}
new EmailAlertChannel("email-channel-1", {
  address: "alerts@acme.com",
  sslExpiry: true,
  sslExpiryThreshold: 30, // Alert 30 days before expiry
})
```

[Learn more about SSL alerts.](https://www.checklyhq.com/docs/communicate/alerts/ssl-expiration.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.