# Connect Telegram to Enso Cloud

Choose Telegram during [Cloud setup](/docs/cloud/) and wait for the machine to
be ready. Use a new bot so another service is not already receiving its messages.

## Create and connect the bot

1. Choose **Open BotFather** to reach [BotFather](https://t.me/BotFather) in Telegram.
2. Send `/newbot`, follow its naming prompts, and copy the bot token.
3. Back in Cloud, choose **I've created my bot**, paste the token, and choose
   **Verify connection**. Enso checks the bot's identity on your instance.
4. Choose **Open Telegram** to reach the verified bot, then tap **Start** from your
   own Telegram account.

Use the current link: its one-time start code pairs your identity without asking
you to look up a numeric user ID. Only a fresh private Start message from a human
account can pair. Old messages, forwarded messages, and group chats do not count.

Pairing lasts up to five minutes. After the acknowledgment, choose **Save connection**
to write the connection and your AI defaults to the machine. Then continue with
[provider sign-in](/docs/cloud/#sign-in-and-say-hello), start Enso, and send a
normal message. Setup is complete only after a successful AI reply.

## If connection fails

If the attempt ends, choose **Try again** and use the new link. Refreshing the page
resumes an attempt that is still waiting; choose **Back** to stop it before
submitting a different bot. Before submission, refreshing may require entering the
token again because Cloud does not save it in browser storage.

An existing webhook or another polling process prevents pairing. Enso reports
the conflict instead of deleting the webhook or taking over. Stop the other
receiver deliberately, or create a new bot with BotFather.

## Who can message Enso

Telegram supports private chats only. Pairing adds your exact numeric identity to
`allowed_users` and binds your private chat to the default workspace. Other users
are ignored unless explicitly allowed and bound in
[configuration](/docs/configuration/#transports).

Tokens are sent to your instance and ultimately stored in its private Enso
configuration. Cloud does not save them in your account or browser storage.
