AutomationFlowsSlack & Telegram › Telegram Voice Bot - Final Working Version

Telegram Voice Bot - Final Working Version

Telegram Voice Bot - Final Working Version. Uses telegramTrigger, httpRequest, telegram. Event-driven trigger; 13 nodes.

Event trigger★★★★☆ complexity13 nodesTelegram TriggerHTTP RequestTelegram
Slack & Telegram Trigger: Event Nodes: 13 Complexity: ★★★★☆ Added:
Telegram Voice Bot - Final Working Version — n8n workflow card showing Telegram Trigger, HTTP Request, Telegram integration

This workflow follows the HTTP Request → Telegram recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Telegram Voice Bot - Final Working Version",
  "active": true,
  "nodes": [
    {
      "parameters": {
        "updates": [
          "message"
        ],
        "mode": "webhook",
        "options": {}
      },
      "id": "telegram-trigger",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "typeVersion": 1.1,
      "position": [
        200,
        300
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "seconds",
              "secondsInterval": 10
            }
          ]
        }
      },
      "id": "schedule-health-check",
      "name": "Health Check Schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        200,
        500
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "https://reelsbot.havealiens.com/health",
        "options": {
          "timeout": 5000
        }
      },
      "id": "api-health-check",
      "name": "API Health Check",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        400,
        500
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "health-status",
              "name": "health_status",
              "value": "={{ $json.status || 'unknown' }}",
              "type": "string"
            },
            {
              "id": "timestamp",
              "name": "check_timestamp",
              "value": "={{ new Date().toISOString() }}",
              "type": "string"
            },
            {
              "id": "api-response-time",
              "name": "response_time_ms",
              "value": "={{ $executionTime }}",
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "log-health-status",
      "name": "Log Health Status",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        600,
        500
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "message-check",
              "leftValue": "={{ $json.message.text }}",
              "rightValue": "",
              "operator": {
                "type": "string",
                "operation": "notEmpty"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "if-text-message",
      "name": "Text Message Check",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        350,
        300
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "text": "\ud83c\udf99\ufe0f *Sesli Mesaj \u00dcretiliyor*\n\n\ufffd **Metin:** `{{ $('Telegram Trigger').first().json.message.text }}`\n\ud83d\udd27 **Format:** OGG (Telegram Optimized)\n\ufffd **Dil:** T\u00fcrk\u00e7e TTS\n\u26a1 **\u0130\u015flem:** Yapay Zeka Ses Sentezi\n\n\u23f1\ufe0f *L\u00fctfen 3-5 saniye bekleyiniz...*\n\n---\n\ud83d\udca1 *Professional Voice AI by ReelsBot*",
        "additionalFields": {
          "parse_mode": "Markdown"
        }
      },
      "id": "send-processing-message",
      "name": "Send Processing Message",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        500,
        200
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://reelsbot.havealiens.com/generate_tts",
        "sendBody": true,
        "contentType": "form-urlencoded",
        "bodyParameters": {
          "parameters": [
            {
              "name": "text",
              "value": "={{ $('Telegram Trigger').first().json.message.text }}"
            },
            {
              "name": "lang",
              "value": "tr"
            },
            {
              "name": "format",
              "value": "ogg"
            },
            {
              "name": "user_name",
              "value": "={{ $('Telegram Trigger').first().json.message.from.first_name || 'User' }}"
            },
            {
              "name": "slow",
              "value": "false"
            }
          ]
        },
        "options": {}
      },
      "id": "tts-api-call",
      "name": "TTS API Call",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        700,
        200
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "success-assignment",
              "name": "success",
              "value": "={{ $json.success }}",
              "type": "boolean"
            },
            {
              "id": "download-url-assignment",
              "name": "download_url",
              "value": "={{ $json.download_url }}",
              "type": "string"
            },
            {
              "id": "format-assignment",
              "name": "format",
              "value": "={{ $json.file_info.format }}",
              "type": "string"
            },
            {
              "id": "filename-assignment",
              "name": "filename",
              "value": "={{ $json.file_info.filename }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "extract-response-data",
      "name": "Extract Response Data",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        900,
        200
      ]
    },
    {
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{ $json.success }}",
              "operation": "equal",
              "value2": true
            }
          ]
        },
        "options": {}
      },
      "id": "if-tts-success",
      "name": "TTS Success Check",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        1100,
        200
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "={{ 'https://reelsbot.havealiens.com' + $json.download_url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "id": "download-voice-file",
      "name": "Download Voice File",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1300,
        150
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "operation": "sendAudio",
        "binaryData": true,
        "binaryPropertyName": "data",
        "additionalFields": {
          "caption": "\u2705 *Sesli Mesaj Ba\u015far\u0131yla Olu\u015fturuldu*\n\n\ud83c\udfaf **Orijinal Metin:**\n`{{ $('Telegram Trigger').first().json.message.text }}`\n\n\ufffd **Dosya Bilgileri:**\n\u2022 \ufffd\ud83d\udce6 Format: `{{ $('Extract Response Data').first().json.format.toUpperCase() }}`\n\u2022 \ud83d\udcc1 Dosya: `{{ $('Extract Response Data').first().json.filename }}`\n\u2022 \ud83c\udfb5 Kalite: HD Audio\n\u2022 \u26a1 \u0130\u015flem S\u00fcresi: < 5 saniye\n\n---\n\ud83e\udd16 *Powered by ReelsBot AI Voice Technology*\n\ud83d\udcac Yeni sesli mesaj i\u00e7in tekrar yaz\u0131n!",
          "parse_mode": "Markdown"
        }
      },
      "id": "send-voice-message",
      "name": "Send Voice Message",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        1500,
        150
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "message",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "text": "\u26a0\ufe0f *Sesli Mesaj \u00dcretim Hatas\u0131*\n\n\u274c **Durum:** \u0130\u015flem ba\u015far\u0131s\u0131z oldu\n\ud83d\udd0d **Neden:** TTS API servisi ge\u00e7ici olarak yan\u0131t vermiyor\n\n\ufffd\ufe0f **\u00c7\u00f6z\u00fcm \u00d6nerileri:**\n\u2022 \ud83d\udd04 30 saniye sonra tekrar deneyin\n\u2022 \ud83d\udcdd Metni k\u0131saltmay\u0131 deneyin (max 500 karakter)\n\u2022 \ud83c\udf10 \u0130nternet ba\u011flant\u0131n\u0131z\u0131 kontrol edin\n\n\u23f0 **Sorun devam ederse:**\n\ud83d\udce7 Destek: support@havealiens.com\n\ud83d\udd17 Status: status.havealiens.com\n\n---\n\ud83e\udd16 *ReelsBot Technical Support*",
        "additionalFields": {
          "parse_mode": "Markdown"
        }
      },
      "id": "send-error-message",
      "name": "Send Error Message",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        1300,
        250
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "message",
        "chatId": "={{ $('Telegram Trigger').first().json.message.chat.id }}",
        "text": "\ud83c\udf99\ufe0f *ReelsBot - AI Voice Generator*\n\n\ufffd **Ho\u015f Geldiniz!**\nProfesyonel yapay zeka destekli sesli mesaj \u00fcretim sistemi\n\n\ufffd **Nas\u0131l Kullan\u0131l\u0131r:**\n1\ufe0f\u20e3 Bu sohbete herhangi bir metin yaz\u0131n\n2\ufe0f\u20e3 Bot metninizi analiz eder\n3\ufe0f\u20e3 Y\u00fcksek kaliteli sesli mesaj \u00fcretir\n4\ufe0f\u20e3 Size OGG format\u0131nda g\u00f6nderir\n\n\u26a1 **\u00d6zellikler:**\n\u2022 \ud83c\uddf9\ud83c\uddf7 Do\u011fal T\u00fcrk\u00e7e TTS\n\u2022 \ud83c\udfb5 HD Audio Kalitesi\n\u2022 \u26a1 3-5 saniye h\u0131zl\u0131 i\u015flem\n\u2022 \ud83d\udcf1 Telegram optimize format\n\u2022 \ud83e\udd16 AI destekli ses sentezi\n\n\ufffd **\u00d6rnek Kullan\u0131m:**\n`Merhaba! Bu bir test mesaj\u0131d\u0131r.`\n\n\ud83d\udca1 **\u0130pucu:** En iyi sonu\u00e7 i\u00e7in 10-500 karakter aras\u0131 metinler kullan\u0131n\n\n---\n\ud83c\udf10 *Powered by HaveAliens Technology*",
        "additionalFields": {
          "parse_mode": "Markdown"
        }
      },
      "id": "send-help-message",
      "name": "Send Help Message",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        500,
        400
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Text Message Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Health Check Schedule": {
      "main": [
        [
          {
            "node": "API Health Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "API Health Check": {
      "main": [
        [
          {
            "node": "Log Health Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Text Message Check": {
      "main": [
        [
          {
            "node": "Send Processing Message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Help Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Processing Message": {
      "main": [
        [
          {
            "node": "TTS API Call",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "TTS API Call": {
      "main": [
        [
          {
            "node": "Extract Response Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Response Data": {
      "main": [
        [
          {
            "node": "TTS Success Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "TTS Success Check": {
      "main": [
        [
          {
            "node": "Download Voice File",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Error Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Voice File": {
      "main": [
        [
          {
            "node": "Send Voice Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "saveDataErrorExecution": "all",
    "saveDataSuccessExecution": "last-5",
    "saveManualExecutions": false,
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": "",
    "timezone": "Europe/Istanbul",
    "executionTimeout": 300,
    "maxTimeout": 300,
    "concurrency": 10
  },
  "staticData": null,
  "tags": [
    {
      "createdAt": "2024-09-10T12:00:00.000Z",
      "updatedAt": "2024-09-10T12:00:00.000Z",
      "id": "telegram-voice-bot-final",
      "name": "Telegram Voice Bot Final"
    }
  ],
  "triggerCount": 1,
  "updatedAt": "2024-09-10T12:00:00.000Z",
  "versionId": "1"
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Telegram Voice Bot - Final Working Version. Uses telegramTrigger, httpRequest, telegram. Event-driven trigger; 13 nodes.

Source: https://github.com/canuzlas/gTts_n8n_telegram_bot/blob/453c15b910d8290b41126bde4958e5ff66bdcef5/telegram-voice-bot-final.json — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

Try on any outfit virtually - right inside Telegram. A user sends a person photo, then a garment photo (captioned ), and the bot replies with an AI-generated try-on result image using a dedicated Virt

Telegram Trigger, Telegram, Google Sheets +1
Slack & Telegram

A robust n8n workflow designed to enhance Telegram bot functionality for user management and broadcasting. It facilitates automatic support ticket creation, efficient user data storage in Redis, and a

HTTP Request, Redis, Telegram +1
Slack & Telegram

Transform your digital payment business with a fully-featured Telegram bot that handles everything from product listings to transaction processing. Perfect for entrepreneurs looking to automate their

Telegram Trigger, Telegram, HTTP Request
Slack & Telegram

TGBot. Uses telegram, googleSheets, telegramTrigger, httpRequest. Event-driven trigger; 30 nodes.

Telegram, Google Sheets, Telegram Trigger +1
Slack & Telegram

This template provides a workflow to integrate a Telegram bot with NeurochainAI's inference capabilities, supporting both text processing and image generation. Follow these steps to get started:

Telegram Trigger, HTTP Request, Telegram