Back to Catalog

AI-powered Telegram & WhatsApp business agent workflow

Amanda BenksAmanda Benks
1138 views
2/3/2026
Official Page

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Deliver seamless, AI-driven customer support on Telegram and WhatsApp—powered by GPT-4 Turbo and n8n.


🌟 Key Features

  • Unified Messaging: Receive and normalize messages from both Telegram (via Bot Trigger) and WhatsApp (via Webhook).
  • Contextual AI Responses: Build customer context from Google Sheets, then craft personalized replies with GPT-4 Turbo.
  • Smart Routing: Automatically detect platform and send replies with platform-appropriate formatting (HTML for Telegram, plain for WhatsApp).
  • Intent Detection & Escalation: Flag orders, appointments or complex queries and trigger Slack notifications for human handoff.
  • Comprehensive Logging: Append every interaction to a “conversations” sheet and upsert customer profiles in a “customers” sheet.

📋 Prerequisites

  1. n8n instance (self-hosted or n8n Cloud)
  2. Credentials:
    • OpenAI API key
    • Telegram Bot Token
    • WhatsApp Business API credentials (WHATSAPP_PHONE_ID)
    • Google Sheets service-account credentials
    • Slack Incoming Webhook URL
  3. Google Sheets Setup:
    • customers sheet with columns: user_id, user_name, previousOrders, lastInteraction, preferences, conversationHistory
    • conversations sheet with columns: user_id, user_name, platform, message, ai_response, timestamp, needs_escalation, is_order, is_appointment

🚀 Setup & Usage

  1. Import the provided JSON into your n8n editor.
  2. Configure each node’s credentials in n8n’s Credentials panel.
  3. Set the following Workflow Variables:
    • GOOGLE_SHEET_ID
    • WHATSAPP_PHONE_ID
  4. Activate the Telegram Bot Trigger and WhatsApp Webhook nodes.
  5. Test by messaging your bot on Telegram and WhatsApp.

🔍 How It Works

  1. Trigger: Listens for new Telegram updates or WhatsApp webhook calls.
  2. Normalize Message: Standardizes payload into { user_id, user_name, message_text, platform, chat_id, timestamp }.
  3. Get Customer Data: Reads from “customers” sheet to fetch past history and order count.
  4. Build AI Context: Merges incoming message with customer info and history.
  5. AI Assistant: Sends context to GPT-4 Turbo (temperature 0.8, maxTokens 800).
  6. Process Response: Cleans formatting, identifies intents (order, appointment), and sets escalation flags.
  7. Platform Router: Routes reply to the appropriate “Send Telegram” or “Send WhatsApp” node.
  8. Log Conversation: Appends each message and response to the “conversations” sheet.
  9. Update Customer: Increments previousOrders, updates last interaction timestamp, and saves a snippet of the latest message.
  10. Escalation: If flagged, posts a formatted alert to your Slack channel for immediate attention.

Empower your business with 24/7 AI-powered support—save time, increase conversions, and ensure no customer inquiry goes unanswered.

n8n AI-Powered Telegram/WhatsApp Business Agent Workflow

This n8n workflow enables an AI-powered conversational agent for Telegram and potentially WhatsApp, leveraging OpenAI for intelligent responses and Google Sheets for storing conversation history. It acts as a backend for a business agent, allowing it to respond dynamically to user queries and log interactions.

What it does

This workflow automates the following steps:

  1. Receives Messages: It listens for incoming messages from Telegram (and can be extended for WhatsApp via a Webhook).
  2. Extracts Message Details: It extracts the message text and sender information from the incoming message.
  3. Logs Conversation to Google Sheets: The incoming message, along with the sender's details, is logged into a Google Sheet for historical tracking.
  4. Generates AI Response: It sends the user's message to OpenAI to generate an intelligent, context-aware response.
  5. Sends AI Response to User: The generated AI response is sent back to the user via Telegram (and can be extended for WhatsApp via a Webhook).
  6. Logs AI Response to Google Sheets: The AI's response is also logged into the same Google Sheet, completing the conversation record.
  7. Responds to Webhook (if applicable): If the initial message came through a webhook (e.g., from WhatsApp), it sends a confirmation response.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n Instance: A running instance of n8n.
  • Telegram Bot Token: A Telegram Bot configured and its API token.
  • OpenAI API Key: An API key for OpenAI to access its language models.
  • Google Account: Access to Google Sheets to store conversation logs.
  • Google Sheets Credential: An n8n credential configured for Google Sheets.
  • Telegram Credential: An n8n credential configured for Telegram.
  • OpenAI Credential: An n8n credential configured for OpenAI.
  • Webhook (Optional): If integrating with WhatsApp or other platforms, a webhook URL and a service to send messages to it.

Setup/Usage

  1. Import the Workflow: Import the provided JSON into your n8n instance.
  2. Configure Credentials:
    • Set up your Telegram Bot API Token credential for the "Telegram Trigger" and "Telegram" nodes.
    • Set up your OpenAI API Key credential for the "OpenAI" node.
    • Set up your Google Sheets credential for the "Google Sheets" nodes.
  3. Configure Telegram Trigger:
    • Activate the "Telegram Trigger" node and follow the instructions to connect your Telegram bot.
  4. Configure Webhook (if using WhatsApp/other platforms):
    • If you intend to use this with WhatsApp or other platforms, configure the "Webhook" node to receive incoming messages from your chosen platform. You will need to provide the webhook URL generated by n8n to your external service.
  5. Configure Google Sheets:
    • Specify the Spreadsheet ID and Sheet Name in both "Google Sheets" nodes where you want to log the conversations. Ensure the sheet has appropriate columns (e.g., Timestamp, Sender, Message, Response).
  6. Configure OpenAI:
    • Review and adjust the prompt in the "OpenAI" node to define the personality and role of your AI agent.
  7. Activate the Workflow: Once all credentials and configurations are set, activate the workflow.

Your AI-powered business agent will now be ready to respond to messages received via Telegram and any other platform configured to send messages to the webhook.

Related Templates

Automate RSS to social media pipeline with AI, Airtable & GetLate for multiple platforms

Overview Automates your complete social media content pipeline: sources articles from Wallabag RSS, generates platform-specific posts with AI, creates contextual images, and publishes via GetLate API. Built with 63 nodes across two workflows to handle LinkedIn, Instagram, and Bluesky—with easy expansion to more platforms. Ideal for: Content marketers, solo creators, agencies, and community managers maintaining a consistent multi-platform presence with minimal manual effort. How It Works Two-Workflow Architecture: Content Aggregation Workflow Monitors Wallabag RSS feeds for tagged articles (to-share-linkedin, to-share-instagram, etc.) Extracts and converts content from HTML to Markdown Stores structured data in Airtable with platform assignment AI Generation & Publishing Workflow Scheduled trigger queries Airtable for unpublished content Routes to platform-specific sub-workflows (LinkedIn, Instagram, Bluesky) LLM generates optimized post text and image prompts based on custom brand parameters Optionally generates AI images and hosts them on Imgbb CDN Publishes via GetLate API (immediate or draft mode) Updates Airtable with publication status and metadata Key Features: Tag-based content routing using Wallabag's native system Swappable AI providers (Groq, OpenAI, Anthropic) Platform-specific optimization (tone, length, hashtags, CTAs) Modular design—duplicate sub-workflows to add new platforms in \~30 minutes Centralized Airtable tracking with 17 data points per post Set Up Steps Setup time: \~45-60 minutes for initial configuration Create accounts and get API keys (\~15 min) Wallabag (with RSS feeds enabled) GetLate (social media publishing) Airtable (create base with provided schema—see sticky notes) LLM provider (Groq, OpenAI, or Anthropic) Image service (Hugging Face, Fal.ai, or Stability AI) Imgbb (image hosting) Configure n8n credentials (\~10 min) Add all API keys in n8n's credential manager Detailed credential setup instructions in workflow sticky notes Set up Airtable database (\~10 min) Create "RSS Feed - Content Store" base Add 19 required fields (schema provided in workflow sticky notes) Get Airtable base ID and API key Customize brand prompts (\~15 min) Edit "Set Custom SMCG Prompt" node for each platform Define brand voice, tone, goals, audience, and image preferences Platform-specific examples provided in sticky notes Configure platform settings (\~10 min) Set GetLate account IDs for each platform Enable/disable image generation per platform Choose immediate publish vs. draft mode Adjust schedule trigger frequency Test and deploy Tag test articles in Wallabag Monitor the first few executions in draft mode Activate workflows when satisfied with the output Important: This is a proof-of-concept template. Test thoroughly with draft mode before production use. Detailed setup instructions, troubleshooting tips, and customization guidance are in the workflow's sticky notes. Technical Details 63 nodes: 9 Airtable operations, 8 HTTP requests, 7 code nodes, 3 LangChain LLM chains, 3 RSS triggers, 3 GetLate publishers Supports: Multiple LLM providers, multiple image generation services, unlimited platforms via modular architecture Tracking: 17 metadata fields per post, including publish status, applied parameters, character counts, hashtags, image URLs Prerequisites n8n instance (self-hosted or cloud) Accounts: Wallabag, GetLate, Airtable, LLM provider, image generation service, Imgbb Basic understanding of n8n workflows and credential configuration Time to customize prompts for your brand voice Detailed documentation, Airtable schema, prompt examples, and troubleshooting guides are in the workflow's sticky notes. Category Tags social-media-automation, ai-content-generation, rss-to-social, multi-platform-posting, getlate-api, airtable-database, langchain, workflow-automation, content-marketing

Mikal Hayden-GatesBy Mikal Hayden-Gates
188

Ai website scraper & company intelligence

AI Website Scraper & Company Intelligence Description This workflow automates the process of transforming any website URL into a structured, intelligent company profile. It's triggered by a form, allowing a user to submit a website and choose between a "basic" or "deep" scrape. The workflow extracts key information (mission, services, contacts, SEO keywords), stores it in a structured Supabase database, and archives a full JSON backup to Google Drive. It also features a secondary AI agent that automatically finds and saves competitors for each company, building a rich, interconnected database of company intelligence. --- Quick Implementation Steps Import the Workflow: Import the provided JSON file into your n8n instance. Install Custom Community Node: You must install the community node from: https://www.npmjs.com/package/n8n-nodes-crawl-and-scrape FIRECRAWL N8N Documentation https://docs.firecrawl.dev/developer-guides/workflow-automation/n8n Install Additional Nodes: n8n-nodes-crawl-and-scrape and n8n-nodes-mcp fire crawl mcp . Set up Credentials: Create credentials in n8n for FIRE CRAWL API,Supabase, Mistral AI, and Google Drive. Configure API Key (CRITICAL): Open the Web Search tool node. Go to Parameters → Headers and replace the hardcoded Tavily AI API key with your own. Configure Supabase Nodes: Assign your Supabase credential to all Supabase nodes. Ensure table names (e.g., companies, competitors) match your schema. Configure Google Drive Nodes: Assign your Google Drive credential to the Google Drive2 and save to Google Drive1 nodes. Select the correct Folder ID. Activate Workflow: Turn on the workflow and open the Webhook URL in the “On form submission” node to access the form. --- What It Does Form Trigger Captures user input: “Website URL” and “Scraping Type” (basic or deep). Scraping Router A Switch node routes the flow: Deep Scraping → AI-based MCP Firecrawler agent. Basic Scraping → Crawlee node. Deep Scraping (Firecrawl AI Agent) Uses Firecrawl and Tavily Web Search. Extracts a detailed JSON profile: mission, services, contacts, SEO keywords, etc. Basic Scraping (Crawlee) Uses Crawl and Scrape node to collect raw text. A Mistral-based AI extractor structures the data into JSON. Data Storage Stores structured data in Supabase tables (companies, company_basicprofiles). Archives a full JSON backup to Google Drive. Automated Competitor Analysis Runs after a deep scrape. Uses Tavily web search to find competitors (e.g., from Crunchbase). Saves competitor data to Supabase, linked by company_id. --- Who's It For Sales & Marketing Teams: Enrich leads with deep company info. Market Researchers: Build structured, searchable company databases. B2B Data Providers: Automate company intelligence collection. Developers: Use as a base for RAG or enrichment pipelines. --- Requirements n8n instance (self-hosted or cloud) Supabase Account: With tables like companies, competitors, social_links, etc. Mistral AI API Key Google Drive Credentials Tavily AI API Key (Optional) Custom Nodes: n8n-nodes-crawl-and-scrape --- How It Works Flow Summary Form Trigger: Captures “Website URL” and “Scraping Type”. Switch Node: deep → MCP Firecrawler (AI Agent). basic → Crawl and Scrape node. Scraping & Extraction: Deep path: Firecrawler → JSON structure. Basic path: Crawlee → Mistral extractor → JSON. Storage: Save JSON to Supabase. Archive in Google Drive. Competitor Analysis (Deep Only): Finds competitors via Tavily. Saves to Supabase competitors table. End: Finishes with a No Operation node. --- How To Set Up Import workflow JSON. Install community nodes (especially n8n-nodes-crawl-and-scrape from npm). Configure credentials (Supabase, Mistral AI, Google Drive). Add your Tavily API key. Connect Supabase and Drive nodes properly. Fix disconnected “basic” path if needed. Activate workflow. Test via the webhook form URL. --- How To Customize Change LLMs: Swap Mistral for OpenAI or Claude. Edit Scraper Prompts: Modify system prompts in AI agent nodes. Change Extraction Schema: Update JSON Schema in extractor nodes. Fix Relational Tables: Add Items node before Supabase inserts for arrays (social links, keywords). Enhance Automation: Add email/slack notifications, or replace form trigger with a Google Sheets trigger. --- Add-ons Automated Trigger: Run on new sheet rows. Notifications: Email or Slack alerts after completion. RAG Integration: Use the Supabase database as a chatbot knowledge source. --- Use Case Examples Sales Lead Enrichment: Instantly get company + competitor data from a URL. Market Research: Collect and compare companies in a niche. B2B Database Creation: Build a proprietary company dataset. --- WORKFLOW IMAGE --- Troubleshooting Guide | Issue | Possible Cause | Solution | |-------|----------------|-----------| | Form Trigger 404 | Workflow not active | Activate the workflow | | Web Search Tool fails | Missing Tavily API key | Replace the placeholder key | | FIRECRAWLER / find competitor fails | Missing MCP node | Install n8n-nodes-mcp | | Basic scrape does nothing | Switch node path disconnected | Reconnect “basic” output | | Supabase node error | Wrong table/column names | Match schema exactly | --- Need Help or More Workflows? Want to customize this workflow for your business or integrate it with your existing tools? Our team at Digital Biz Tech can tailor it precisely to your use case from automation logic to AI-powered enhancements. Contact: shilpa.raju@digitalbiz.tech For more such offerings, visit us: https://www.digitalbiz.tech ---

DIGITAL BIZ TECHBy DIGITAL BIZ TECH
923

Automated YouTube video uploads with 12h interval scheduling in JST

This workflow automates a batch upload of multiple videos to YouTube, spacing each upload 12 hours apart in Japan Standard Time (UTC+9) and automatically adding them to a playlist. ⚙️ Workflow Logic Manual Trigger — Starts the workflow manually. List Video Files — Uses a shell command to find all .mp4 files under the specified directory (/opt/downloads/单词卡/A1-A2). Sort and Generate Items — Sorts videos by day number (dayXX) extracted from filenames and assigns a sequential order value. Calculate Publish Schedule (+12h Interval) — Computes the next rounded JST hour plus a configurable buffer (default 30 min). Staggers each video’s scheduled time by order × 12 hours. Converts JST back to UTC for YouTube’s publishAt field. Split in Batches (1 per video) — Iterates over each video item. Read Video File — Loads the corresponding video from disk. Upload to YouTube (Scheduled) — Uploads the video privately with the computed publishAtUtc. Add to Playlist — Adds the newly uploaded video to the target playlist. 🕒 Highlights Timezone-safe: Pure UTC ↔ JST conversion avoids double-offset errors. Sequential scheduling: Ensures each upload is 12 hours apart to prevent clustering. Customizable: Change SPANHOURS, BUFFERMIN, or directory paths easily. Retry-ready: Each upload and playlist step has retry logic to handle transient errors. 💡 Typical Use Cases Multi-part educational video series (e.g., A1–A2 English learning). Regular content release cadence without manual scheduling. Automated YouTube publishing pipelines for pre-produced content. --- Author: Zane Category: Automation / YouTube / Scheduler Timezone: JST (UTC+09:00)

ZaneBy Zane
226