telegram @ 0.3.0
Telegram bot integration. Reply to chat threads and receive webhook updates.
Publisher / author
tupiflow
Type
telegram
Signing key
kid-20260520-e5fe9257
Bundle
Download signed bundle
verifies against kid-20260520-e5fe9257
Signed manifest (spec)
Byte-for-byte signed payload. Hash with RFC 8785 canonical JSON, verify the Ed25519 signature against the public key for kid-20260520-e5fe9257.
{
"icon": {
"kind": "svg",
"path": "icon.svg"
},
"bundle": {
"sha256": "f1ccef9d8fbd7405cf40ec4bf3cd5914a32d1d84f7c8236e91d1e4b5a452b55d",
"sizeBytes": 7652
},
"routes": [
{
"path": "/webhook/:integrationId",
"method": "POST",
"handlerExport": "telegramWebhookHandler"
}
],
"actions": [
{
"slug": "send-reply",
"tool": {
"name": "telegram_send_reply",
"description": "Reply to a Telegram thread via the Bot API. Supports inline_keyboard buttons and bubble splitting.",
"inputSchemaJson": "{\"type\":\"object\",\"properties\":{\"botToken\":{\"type\":\"string\"},\"integrationId\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"chatId\":{\"type\":\"string\"},\"threadJson\":{},\"messageThreadId\":{\"type\":[\"string\",\"number\"]},\"buttons\":{},\"splitBubbles\":{\"type\":\"string\"},\"bubbleDelayMs\":{\"type\":[\"string\",\"number\"]}},\"required\":[\"text\",\"integrationId\"],\"additionalProperties\":false}"
},
"label": "Send Telegram Reply",
"category": "Telegram",
"description": "Reply to the incoming Telegram thread",
"configFields": [
{
"key": "text",
"type": "template-textarea",
"label": "Reply Text",
"example": "Hello from my workflow!",
"required": true
},
{
"key": "chatId",
"type": "select",
"label": "Fallback Chat (optional)"
},
{
"key": "messageThreadId",
"type": "template-input",
"label": "Forum Topic ID (optional)"
},
{
"key": "buttons",
"type": "template-textarea",
"label": "Inline Buttons (optional, JSON)"
},
{
"key": "splitBubbles",
"type": "select",
"label": "Split into multiple bubbles"
},
{
"key": "bubbleDelayMs",
"type": "number",
"label": "Delay between bubbles (ms)"
}
],
"outputFields": [
{
"field": "messageId",
"description": "ID of the last posted message (final bubble)"
},
{
"field": "messageIds",
"description": "IDs of every posted message in order. Length matches bubbleCount."
},
{
"field": "bubbleCount",
"description": "How many Telegram messages were posted (1 unless splitBubbles is on)"
},
{
"field": "threadId",
"description": "ID of the thread replied to"
}
],
"stepFunction": "telegramSendReplyStep"
}
],
"runtime": {
"minTupiflowVersion": "0.0.0"
},
"identity": {
"name": "telegram",
"type": "telegram",
"version": "0.3.0",
"publisher": "tupiflow",
"description": "Telegram bot integration. Reply to chat threads and receive webhook updates."
},
"entrypoint": "bundle.mjs",
"credentials": [
{
"key": "TELEGRAM_BOT_API_KEY",
"type": "password",
"label": "Bot Token",
"helpText": "Create a bot via @BotFather and paste its token here."
},
{
"key": "TELEGRAM_WEBHOOK_SECRET",
"type": "password",
"label": "Webhook Secret",
"helpText": "Random secret used to verify the X-Telegram-Bot-Api-Secret-Token header on inbound webhook requests."
}
],
"capabilities": [
"net.fetch",
"secrets.read",
"connection.lifecycle",
"workflow.dispatch"
]
} Signature
rrOnBkhPyHbBV4FUgnuVUjMmoFBQHNyl2gBhH5lNUhy21UwQfSaxfwb4m5GVwYNotnGcMz9MTtgjV3N1zrSCBQ==