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

# Telegram

> Prepare a bot channel with authenticated updates, explicit chat routing, and duplicate-message handling.

Design a Telegram bot bridge that receives an approved message type and replies to the same authorized chat. Keep bot identity, channel-user identity, and Threetone workspace access separate.

<Note>
  There is no native Telegram connector or released Telegram-to-agent runtime. Your application would own the bot receiver and outbound delivery. This guide defines that preparation.
</Note>

## Prepare the bot boundary

You need a bot owner, a private test chat, and a server that can protect the bot token.

<Steps>
  <Step title="Choose one update transport" id="telegram-transport">
    Telegram's [Bot API](https://core.telegram.org/bots/api) supports polling with `getUpdates` or webhook delivery. Polling does not work while a webhook is configured. For webhook delivery, review `secret_token` and validate the `X-Telegram-Bot-Api-Secret-Token` header on your receiver.
  </Step>

  <Step title="Map and validate incoming updates" id="telegram-routing">
    Bind permitted chat and user identifiers to your application's policy. Deduplicate updates using their identifiers, constrain accepted message types, and define how to reject unsupported attachments. A Telegram user ID does not authorize access to a Threetone workspace or its private documents.
  </Step>

  <Step title="Review outbound delivery" id="telegram-outbound">
    Confirm the destination and content before a consequential send. Keep the bot token out of browsers, prompts, and logs. Preserve message identifiers and reconcile uncertain responses before retrying, so a repeated update cannot send duplicate replies.
  </Step>
</Steps>

Review [custom-channel preparation](/agents-platform/configure/integrations/custom-channel) and [tool authoring](/agents-platform/configure/tools/overview). Supported [secret storage](/agents-platform/configure/authentication/secrets) does not provision your receiver or remove the [runtime gate](/agents-platform/overview#current-availability).

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Is webhook receipt proof that an agent replied?" id="faq-telegram-receipt">No. Receiving an update, processing it, and delivering an outbound reply are separate outcomes.</Accordion>
  <Accordion title="Can the bot token identify the person sending a message?" id="faq-telegram-identity">The token identifies the bot. Your service must separately validate incoming updates and apply its policy to the sender and chat.</Accordion>
</AccordionGroup>


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