Leverage the power of the Telegram Bot API and OpenAI GPT to automate intelligent conversations on Telegram. This workflow is designed for AI-powered automation users looking to enhance engagement through AI-driven responses. Requires 2 accounts: Telegram Bot Token and OpenAI API Key. Save hours of manual replies and improve user interaction with dynamic, context-aware responses instantly.
Categories
APIs
AI Features
Credentials
Copy or download to import into your n8n instance
{ "id": "177", "meta": { "instanceId": "dfdeafd1c3ed2ee08eeab8c2fa0c3f522066931ed8138ccd35dc20a1e69decd3" }, "name": "Telegram AI-bot", "tags": [ { "id": "15", "name": "tutorial", "createdAt": "2022-10-04T20:07:25.607Z", "updatedAt": "2022-10-04T20:07:25.607Z" } ], "nodes": [ { "id": "ea71a467-a646-4aca-b72e-cef1249c74e2", "name": "Telegram Trigger", "type": "n8n-nodes-base.telegramTrigger", "position": [ 20, 340 ], "webhookId": "51942fbb-ca0e-4ec4-9423-5fcc7d3c4281", "parameters": { "updates": [ "*" ], "additionalFields": {} }, "credentials": { "telegramApi": { "id": "70", "name": "Telegram bot" } }, "typeVersion": 1 }, { "id": "1cbe43d4-ea8b-4178-bc10-4bfad7abe143", "name": "CheckCommand", "type": "n8n-nodes-base.switch", "position": [ 980, 360 ], "parameters": { "rules": { "rules": [ { "value2": "/", "operation": "notStartsWith" }, { "output": 1, "value2": "/start", "operation": "startsWith" }, { "output": 2, "value2": "=/image ", "operation": "startsWith" } ] }, "value1": "={{ $json.message?.text }}", "dataType": "string", "fallbackOutput": 3 }, "typeVersion": 1 }, { "id": "074e907f-634b-4242-b669-33fa064f8472", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ 1600, 581.661764705882 ], "parameters": { "width": 316.1071428571428, "height": 231.22373949579838, "content": "## Error fallback for unsupported commands" }, "typeVersion": 1 }, { "id": "2aa961b8-f0af-4d5c-a6af-1be56ea4b2e6", "name": "Settings", "type": "n8n-nodes-base.set", "position": [ 380, 340 ], "parameters": { "values": { "number": [ { "name": "model_temperature", "value": 0.8 }, { "name": "token_length", "value": 500 } ], "string": [ { "name": "system_command", "value": "=You are a friendly chatbot. User name is {{ $json?.message?.from?.first_name }}. User system language is {{ $json?.message?.from?.language_code }}. First, detect user text language. Next, provide your reply in the same language. Include several suitable emojis in your answer." }, { "name": "bot_typing", "value": "={{ $json?.message?.text.startsWith('/image') ? \"upload_photo\" : \"typing\" }}" } ] }, "options": {} }, "typeVersion": 2 }, { "id": "2d2fe268-1e3e-483b-847c-4412e586c1ca", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ 1240, -240 ], "parameters": { "width": 330.5019024637719, "height": 233, "content": "## Chatbot mode by default\n### (when no command is provided)" }, "typeVersion": 1 }, { "id": "09a9c0b4-ac6e-46eb-b2e0-ef2b55e94ada", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ 1240, 20 ], "parameters": { "width": 330.7863484403046, "height": 219.892857142857, "content": "## Welcome message\n### /start" }, "typeVersion": 1 }, { "id": "088cffee-5720-488b-a4ec-cfdccbf77e75", "name": "Chat_mode", "type": "n8n-nodes-base.openAi", "position": [ 1340, -160 ], "parameters": { "model": "gpt-4", "prompt": { "messages": [ { "role": "system", "content": "={{ $json.system_command }}" }, { "content": "={{ $json.message.text }}" } ] }, "options": { "maxTokens": "={{ $json.token_length }}", "temperature": "={{ $json.model_temperature }}" }, "resource": "chat" }, "credentials": { "openAiApi": { "id": "63", "name": "OpenAi account" } }, "typeVersion": 1 }, { "id": "41248697-6474-4a8f-a8b8-038c96465948", "name": "Greeting", "type": "n8n-nodes-base.openAi", "position": [ 1340, 80 ], "parameters": { "prompt": { "messages": [ { "role": "system", "content": "={{ $json.system_command }}" }, { "content": "=This is the first message from a user. Please welcome a new user in `{{ $json.message.from.language_code }}` language" } ] }, "options": { "maxTokens": "={{ $json.token_length }}", "temperature": "={{ $json.model_temperature }}" }, "resource": "chat" }, "credentials": { "openAiApi": { "id": "63", "name": "OpenAi account" } }, "typeVersion": 1 }, { "id": "20c2e7fa-5d65-441b-8d1d-a8d46c624964", "name": "Text reply", "type": "n8n-nodes-base.telegram", "position": [ 1700, -40 ], "parameters": { "text": "={{ $json.message.content }}", "chatId": "={{ $('Settings').first().json.message.from.id }}", "additionalFields": { "parse_mode": "Markdown" } }, "credentials": { "telegramApi": { "id": "70", "name": "Telegram bot" } }, "typeVersion": 1 }, { "id": "30321276-ebe1-41ac-b420-9dab8daa405b", "name": "Send Typing action", "type": "n8n-nodes-base.telegram", "position": [ 580, 480 ], "parameters": { "action": "={{ $json.bot_typing }}", "chatId": "={{ $json.message.from.id }}", "operation": "sendChatAction" }, "credentials": { "telegramApi": { "id": "70", "name": "Telegram bot" } }, "typeVersion": 1 }, { "id": "7d7ff2e8-b0ca-4638-a056-f7b4e2e6273d", "name": "Merge", "type": "n8n-nodes-base.merge", "position": [ 800, 360 ], "parameters": { "mode": "chooseBranch" }, "typeVersion": 2.1 }, { "id": "656bab5e-b7f7-47a1-8e75-4a17d2070290", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ 1240, 280 ], "parameters": { "width": 329.7428571428562, "height": 233.8785714285713, "content": "## Create an image\n### /image + request" }, "typeVersion": 1 }, { "id": "ca2111d2-463a-4ef0-9436-ee09598dbf07", "name": "Create an image", "type": "n8n-nodes-base.openAi", "position": [ 1340, 360 ], "parameters": { "prompt": "={{ $json.message.text.split(' ').slice(1).join(' ') }}", "options": { "n": 1, "size": "512x512" }, "resource": "image", "responseFormat": "imageUrl" }, "credentials": { "openAiApi": { "id": "63", "name": "OpenAi account" } }, "typeVersion": 1 }, { "id": "e91d616b-1d5e-40e8-8468-2d0b2dda4cf7", "name": "Send error message", "type": "n8n-nodes-base.telegram", "position": [ 1700, 660 ], "parameters": { "text": "=Sorry, {{ $json.message.from.first_name }}! This command is not supported yet. Please type some text to a chat bot or try this command:\n/image \\[your prompt]\n\nEnter the command, then space and provide your request. Example:\n\n`/image a picture or a cute little kitten with big eyes. Miyazaki studio ghibli style`", "chatId": "={{ $json.message.from.id }}", "additionalFields": { "parse_mode": "Markdown" } }, "credentials": { "telegramApi": { "id": "70", "name": "Telegram bot" } }, "typeVersion": 1 }, { "id": "125e27d2-b03b-4f02-9dd1-8fc81ecf0b6b", "name": "Send image", "type": "n8n-nodes-base.telegram", "position": [ 1700, 360 ], "parameters": { "file": "={{ $json.url }}", "chatId": "={{ $('Settings').first().json.message.from.id }}", "operation": "sendPhoto", "additionalFields": {} }, "credentials": { "telegramApi": { "id": "70", "name": "Telegram bot" } }, "typeVersion": 1 }, { "id": "730a51ac-223e-4956-be7f-166eadb6ed81", "name": "PreProcessing", "type": "n8n-nodes-base.set", "position": [ 200, 340 ], "parameters": { "values": { "string": [ { "name": "message.text", "value": "={{ $json?.message?.text || \"\" }}" } ] }, "options": { "dotNotation": true } }, "typeVersion": 2 } ], "active": true, "pinData": {}, "settings": { "callerPolicy": "workflowsFromSameOwner", "saveManualExecutions": true, "saveDataSuccessExecution": "all" }, "versionId": "6ab99e3f-845d-42cc-847b-37cf19a72e93", "connections": { "Merge": { "main": [ [ { "node": "CheckCommand", "type": "main", "index": 0 } ] ] }, "Greeting": { "main": [ [ { "node": "Text reply", "type": "main", "index": 0 } ] ] }, "Settings": { "main": [ [ { "node": "Send Typing action", "type": "main", "index": 0 }, { "node": "Merge", "type": "main", "index": 0 } ] ] }, "Chat_mode": { "main": [ [ { "node": "Text reply", "type": "main", "index": 0 } ] ] }, "CheckCommand": { "main": [ [ { "node": "Chat_mode", "type": "main", "index": 0 } ], [ { "node": "Greeting", "type": "main", "index": 0 } ], [ { "node": "Create an image", "type": "main", "index": 0 } ], [ { "node": "Send error message", "type": "main", "index": 0 } ] ] }, "PreProcessing": { "main": [ [ { "node": "Settings", "type": "main", "index": 0 } ] ] }, "Create an image": { "main": [ [ { "node": "Send image", "type": "main", "index": 0 } ] ] }, "Telegram Trigger": { "main": [ [ { "node": "PreProcessing", "type": "main", "index": 0 } ] ] }, "Send Typing action": { "main": [ [ { "node": "Merge", "type": "main", "index": 1 } ] ] } } }
This workflow seamlessly integrates OpenAI GPT and Serp API to enhance your chat interactions by providing AI-driven responses based on real-time information. Ideal for AI-powered automation users, it requires 2 accounts: OpenAI API and Serp API. Save hours in customer engagement and provide instant, accurate information, boosting your response efficiency and customer satisfaction.
Streamline your customer interactions by automating WhatsApp responses using the WhatsApp Business API and OpenAI GPT. This workflow integrates AI Chat capabilities with advanced Vector Storage and AI Embeddings, making it perfect for AI-powered automation users. Requires 3 accounts: WhatsApp Trigger API, OpenAI API, and WhatsApp Business API. Save hours on customer queries and boost engagement, handling 100+ interactions effortlessly.
Streamline your customer engagement by automating interactions using the OpenAI GPT API and AI Chat features. This workflow connects chat triggers to an AI Agent, enabling seamless, intelligent responses to user inquiries. Perfect for AI-powered automation users looking to enhance customer experience. Requires 1 account: OpenAI API. Save hours of manual responses and boost customer satisfaction by handling multiple queries simultaneously.
Streamline your RSS feed monitoring by leveraging Google Gemini and AI Agent for real-time insights. This workflow reads RSS feeds, processes data through HTTP requests, and engages in AI chat for interactive analysis. Perfect for developers and integrators. Requires 0 accounts. Save hours weekly by automating data collection and enhancing decision-making with intelligent insights.
Configure credentials and update service-specific settings before executing the workflow. Review required credentials in the Technical Details section above.