Denly

Connect Telegram to coding agents

Want to launch a coding agent from Telegram? Denly does that: a bot command turns a message into an agent task that plans, builds, and opens a pull request.

Telegram

Create tasks from Telegram bot commands and route them by Telegram sender.

1. Create a Telegram bot

In Telegram open @BotFather, run /newbot, choose the bot name and username, copy the bot token, and add the bot to the target chat. Read Telegram Bot API.

2. Create the Denly connection

Open Workspace → Integrations → Connect → Telegram. Use the bot/chat identifier, bot token, command alias /denly, chat/project mapping, and optional notification chat ID.

Routing is optional. Leave Default Denly assignee blank for unassigned tasks, or choose one workspace member to own everything from this connection.

For per-person routing use Route by external assignee: each row pairs one person in the provider (left) with a workspace member (right), and + adds another row. Routing follows the item's assignee in the provider, not whoever created it, and a matching row beats the default above.

The left-hand value must be the identifier the provider actually sends, which the field's placeholder names for you. Matching ignores surrounding spaces and letter case, but nothing else: a near-miss routes nothing and looks the same as a broken integration.

Map keys are numeric Telegram user IDs – Telegram sends the sender's numeric ID with every command, so a username will not match. Each person can get their ID by messaging @userinfobot in Telegram.

3. Register the Telegram webhook

Call Telegram’s setWebhook method with the generated URL and secret:

https://api.telegram.org/bot<BOT_TOKEN>/setWebhook?url=https://your-public-host/integrations/telegram/webhook/YOUR_CONNECTION_ID&secret_token=YOUR_INBOUND_SECRET
  1. Replace the bot token, connection ID, and secret.
  2. Run the request once.
  3. Confirm ok: true.

4. Test and troubleshoot

Send /denly fix the failing test. Processed creates the task; Skipped means the command, chat or project mapping did not match. An empty list means X-Telegram-Bot-Api-Secret-Token does not match the secret given to setWebhook.

See also

All integrations and providers → · Connect Slack to coding agents · Connect Microsoft Teams to coding agents · Full documentation