# Telegram (/docs/nodes/messaging/telegram)

Send messages, photos, and check bot status via Telegram Bot API.



The Telegram node sends messages and photos through the Telegram Bot API. Use it for alerts, notifications, and automated reporting.

Prerequisites [#prerequisites]

* Telegram Bot Token (create via [@BotFather](https://t.me/BotFather))
* Add as a credential in [Credentials](/docs/credentials/adding)
* Your bot must be added to the target chat/group

Operations [#operations]

| Operation   | Description                        | Key inputs                |
| ----------- | ---------------------------------- | ------------------------- |
| sendMessage | Send a text message                | chatId, message           |
| sendPhoto   | Send a photo with optional caption | chatId, photoUrl, caption |
| getMe       | Get bot info (test connectivity)   | (none)                    |
| getUpdates  | Get recent messages to the bot     | (none)                    |

Configuration [#configuration]

| Field               | Type    | Required        | Description                                  |
| ------------------- | ------- | --------------- | -------------------------------------------- |
| chatId              | string  | For send ops    | Telegram chat/group/channel ID               |
| message             | string  | For sendMessage | Message text (supports template expressions) |
| photoUrl            | string  | For sendPhoto   | URL of the photo to send                     |
| caption             | string  | No              | Photo caption text                           |
| parseMode           | string  | No              | `Markdown` or `HTML` for formatting          |
| disableNotification | boolean | No              | Send silently (default: false)               |

Getting your chat ID [#getting-your-chat-id]

1. Start a conversation with your bot
2. Send any message
3. Use the `getUpdates` operation to see recent messages
4. Find the `chat.id` field in the response

Template expressions in messages [#template-expressions-in-messages]

Use upstream node data in your messages:

```
SOL Price Alert: {birdeyeResponse.data.value} USD
24h Change: {birdeyeResponse.data.priceChange24h}%
```

Output [#output]

`sendMessage`:

```json
{
  "success": true,
  "operation": "sendMessage",
  "chatId": "-1001234567890",
  "renderedMessage": "SOL Price Alert: 150.23 USD",
  "data": { /* raw Telegram Bot API response */ }
}
```

`sendPhoto` returns the same shape minus `renderedMessage`. `getMe` and `getUpdates` return `{ success, operation, data }`, where `data` is the raw Bot API response; `getUpdates` is a snapshot of recent updates with no offset tracking, so re-runs may include previously-seen messages.

Downstream references use the response name (default `telegramResponse`): `{telegramResponse.data.result.message_id}` for the sent-message ID, `{telegramResponse.chatId}` for the chat the message was sent to.

Common use cases [#common-use-cases]

* Price alerts when tokens hit thresholds
* Portfolio summary reports on a daily cron
* New token launch notifications from Pump.fun

Next steps [#next-steps]

* [Discord](/docs/nodes/messaging/discord) - alternative notification channel
* [Cron Trigger](/docs/triggers/cron) - schedule recurring alerts
