Automate Discord + Telegram
Community chat with an automation-friendly API. The fastest channel between your agents and your phone. Put an agent between them and the hand-off stops being manual: it reads, decides, acts, and shows its work.
Support First Responder is a ready-made agent built around Discord; point its last step at Telegram to finish this hand-off.
Automations teams run
Unlike field-mapping automation, the step in the middle is an agent: it can summarise, classify, judge and draft, not merely copy values from Discord into Telegram.
When a message posts in a channel in Discord…
…an agent can send messages and alerts in Telegram — after reading the context and deciding it should.
When a member joins in Discord…
…an agent can reply to commands in Telegram — after reading the context and deciding it should.
When a keyword appears in Discord…
…an agent can deliver files and reports in Telegram — after reading the context and deciding it should.
When a message arrives in Telegram…
…an agent can post channel messages in Discord — with the reasoning recorded in the run’s receipt.
When a command is sent in Telegram…
…an agent can DM members in Discord — with the reasoning recorded in the run’s receipt.
When a schedule fires in Telegram…
…an agent can publish digests in Discord — with the reasoning recorded in the run’s receipt.
Copy this Discord → Telegram workflow
Start with the discord-api node and the telegram-api node. Configure the Discord source payload, the agent input, and the Telegram operation. The sequential template does not implement conditional writes or approval by itself.
This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.
{
"id": "01745764-490c-4b2e-ad2e-c912d5b2e11c",
"name": "Discord → Telegram",
"nodes": [
{
"id": "f6864700-c062-41fc-a08a-45a86a26173c",
"text": "Watch Discord",
"x": 512,
"y": 144,
"isEditing": false,
"type": "receive-discord-message",
"icon": "connect",
"category": "trigger",
"isSelected": false,
"parameters": {
"channelId": "CONFIGURE_CHANNELID"
},
"description": "Setup template for Receive Discord Message. Listen for incoming Discord messages in a specified channel and trigger the workflow when a new message is received. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "6097de76-8d80-4815-af84-2f259e5bd3ae",
"text": "Review source and draft",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"agentId": "CONFIGURE_AGENTID",
"message": "Read the Discord item. Decide whether it warrants action in Telegram, and explain why.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
},
"description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "cde83419-a290-4140-a7aa-12314c1407ac",
"text": "Configure destination in Telegram",
"x": 512,
"y": 528,
"isEditing": false,
"type": "telegram-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"action": "GET_ME",
"botToken": "CONFIGURE_BOTTOKEN",
"apiBaseUrl": "CONFIGURE_APIBASEURL",
"includeRaw": false
},
"description": "Setup template for Telegram API. Use Telegram Bot API from a single AGNT node. Choose an action to validate a bot, send messages/media, edit/delete messages, download files, or call any raw Bot API method. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "1ef387c8-ceaf-4981-afe0-7e93dd3e8ab6",
"start": {
"id": "f6864700-c062-41fc-a08a-45a86a26173c",
"type": "output"
},
"end": {
"id": "6097de76-8d80-4815-af84-2f259e5bd3ae",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "a143d021-07c2-4cca-a9cd-9c6f4de84aa0",
"start": {
"id": "6097de76-8d80-4815-af84-2f259e5bd3ae",
"type": "output"
},
"end": {
"id": "cde83419-a290-4140-a7aa-12314c1407ac",
"type": "input"
},
"startX": 800,
"startY": 360,
"endX": 512,
"endY": 552
}
],
"zoomLevel": 1,
"canvasOffsetX": 0,
"canvasOffsetY": 0,
"isTinyNodeMode": false
}
Configure Receive Discord Message
Listen for incoming Discord messages in a specified channel and trigger the workflow when a new message is received.
- channelId — The ID of the Discord channel to monitor Current example:
CONFIGURE_CHANNELID.
Configure Telegram API
Use Telegram Bot API from a single AGNT node. Choose an action to validate a bot, send messages/media, edit/delete messages, download files, or call any raw Bot API method.
- action — Telegram operation to perform. Current example:
GET_ME. - botToken — Optional fallback Telegram bot token from @BotFather. If omitted, AGNT uses the connected Telegram provider token from Settings → Connections. Current example:
CONFIGURE_BOTTOKEN. - apiBaseUrl — Optional Bot API base URL. Use https://api.telegram.org by default, or a local Bot API server URL. Current example:
CONFIGURE_APIBASEURL. - includeRaw — Include the full raw Telegram API response when available. Current example:
false.
Install Support First Responder
Support First Responder is a working agent built around Discord. Install it, point its last step at Telegram, and you have this hand-off without building it from an empty canvas.
Runs on your own machine · See what it does
Build it in AGNT
- Install AGNT — it runs on your own machine and needs no account to start.
- Authorise Telegram (an API key pasted into the vault) and Discord (an API key pasted into the vault). Nothing is stored anywhere but your disk.
- Describe the job in plain language, or paste the definition above; discord-api does the reading and telegram-api the writing.
- Gate anything you would not want done unattended, then let it run and read the first receipt end to end.
Discord and Telegram — common questions
Can I connect Discord to Telegram without writing code?
You can build it entirely from the canvas. Authorise Discord with an API key pasted into the vault, Telegram with an API key pasted into the vault, then tell the agent what community questions answered from your docs should look like once Telegram is involved. Code is an option for the unusual cases, never a requirement for the common ones.
How is this different from a field-mapping Discord to Telegram automation?
The difference shows up on the messy inputs. A rule chain needs every case enumerated in advance; an agent handles community questions answered from your docs the way a colleague would — reading the Discord context, judging it, then writing to Telegram with the reasoning recorded.
Does my Discord and Telegram data leave my machine?
AGNT Community Core is local-first, so there is no vendor middleman holding your Discord or Telegram tokens. The runtime talks directly to both services. Choose a local model and the content of what it reads never leaves the machine at all.
What does a Discord and Telegram run leave behind?
Every run is recorded end to end — the Discord items examined, the decision and its reasoning, the resulting Telegram write. That record is what makes it reasonable to let this run unattended, and what lets you widen its remit on evidence.