@mastra/core
Version:
98 lines (67 loc) • 2.49 kB
Markdown
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
# Telegram
Telegram channels let a Mastra agent receive direct messages, group messages, and bot mentions from Telegram. Mastra handles the agent wiring and webhook route; the Chat SDK Telegram adapter docs cover bot setup, webhook registration, and polling behavior.
## Install the adapter
Install the Telegram adapter from the Chat SDK:
**npm**:
```bash
npm install @chat-adapter/telegram
```
**pnpm**:
```bash
pnpm add @chat-adapter/telegram
```
**Yarn**:
```bash
yarn add @chat-adapter/telegram
```
**Bun**:
```bash
bun add @chat-adapter/telegram
```
## Agent configuration
Add `createTelegramAdapter()` to the agent's `channels.adapters` object:
```typescript
import { Agent } from '@mastra/core/agent'
import { createTelegramAdapter } from '@chat-adapter/telegram'
export const telegramAgent = new Agent({
id: 'telegram-agent',
name: 'Telegram Agent',
instructions: 'Answer questions and help with tasks in Telegram.',
model: 'openai/gpt-5.6-sol',
channels: {
adapters: {
telegram: createTelegramAdapter(),
},
},
})
```
Register the agent on the Mastra instance:
```typescript
import { Mastra } from '@mastra/core'
import { telegramAgent } from './agents/telegram-agent'
export const mastra = new Mastra({
agents: { telegramAgent },
})
```
## Adapter setup
Follow the [Chat SDK Telegram adapter docs](https://chat-sdk.dev/adapters/official/telegram) for Telegram-specific setup, including BotFather, webhook registration, secret tokens, and polling mode.
The adapter reads Telegram credentials from environment variables such as:
```bash
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
TELEGRAM_WEBHOOK_SECRET_TOKEN=your-webhook-secret-token
TELEGRAM_BOT_USERNAME=your_bot_username
```
## Webhook URL
Mastra generates the Telegram webhook route from the agent ID and adapter key:
```text
/api/agents/telegram-agent/channels/telegram/webhook
```
Use your public Mastra server URL as the base URL:
```text
https://your-app.example.com/api/agents/telegram-agent/channels/telegram/webhook
```
Use this URL anywhere the Telegram adapter docs ask for the webhook URL. Telegram also supports polling mode; follow the Chat SDK adapter docs if you want to use polling for local development.
## Related
- [Channels overview](https://mastra.ai/docs/capabilities/channels/overview)
- [More](https://mastra.ai/docs/capabilities/channels/other-adapters)