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 →
{
"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.
telegramApi
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
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
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
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
TGBot. Uses telegram, googleSheets, telegramTrigger, httpRequest. Event-driven trigger; 30 nodes.
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: