by PollupAI
Who it’s for Built for Customer Success and Account Management teams focused on proactive retention. This workflow helps you automatically identify at-risk customers – before they churn – by combining CRM, usage, and sentiment data into one actionable alert. What it does This end-to-end workflow continuously monitors customer health by consolidating data from HubSpot and Google Sheets. Here’s how it works: Fetch deals from HubSpot. Collect context — linked support tickets and feature usage from a Google Sheet. Run sentiment analysis on the tickets to generate a customer health score. Evaluate risk — an AI agent reviews deal age, sentiment score, and usage trends against predefined thresholds. Send alerts — if churn risk is detected, it automatically sends a clear, data-driven email to the responsible team member with next-step recommendations. How to set it up To get started, configure your credentials and parameters in the following nodes: Credentials: HubSpot: Connect your account (HubSpot: Get All Deals). LLM Model: Add credentials for your preferred provider (Config: Set LLM for Agent & Chains). Google Sheets: Connect your account (Tool: Get Feature Usage from Sheets). Email: Set up your SMTP credentials (Email: Send Churn Alert). Tool URLs: In Tool: Calculate Sentiment Score, enter the Webhook URL from the Trigger: Receive Tickets for Scoring node within this same workflow. In Tool: Get HubSpot Data, enter the Endpoint URL for your MCP HubSpot data workflow. (Note: This tool *does call an external workflow)*. Google Sheet: In Tool: Get Feature Usage from Sheets, enter the Document ID for your own Google Sheet. Email Details: In Email: Send Churn Alert, change the From and To email addresses. Requirements HubSpot account with Deals API access LLM provider account (e.g. OpenAI) Google Sheets tracking customer feature usage n8n with LangChain community nodes enabled A separate n8n workflow set up to act as an MCP endpoint for fetching HubSpot data (called by Tool: Get HubSpot Data). How to customize it Tailor this workflow to match your business logic: Scoring logic:** Adjust the JavaScript in the Code: Convert Sentiment to Score node to redefine how customer scores are calculated. Alert thresholds:** Update the prompt in the AI Chain: Analyze for Churn Risk node to fine-tune when alerts trigger (e.g. deal age, score cutoff, or usage drop). Data sources:** Swap HubSpot or Google Sheets for your CRM or database of choice — like Salesforce or Airtable. ✅ Outcome: A proactive customer health monitoring system that surfaces risks before it’s too late — keeping your team focused on prevention, not firefighting.
by Billy Christi
Who is this for? This workflow is ideal for: Business analysts* and *data professionals** who need to quickly analyze spreadsheet data through natural conversation Small to medium businesses** seeking AI-powered insights from their Google Sheets without complex dashboard setups Sales teams* and *marketing professionals** who want instant access to customer, product, and order analytics What problem is this workflow solving? Traditional data analysis requires technical skills and time-consuming manual work. This AI data analyst chatbot solves that by: Eliminating the need for complex formulas or pivot tables** - just ask questions in plain text Providing real-time insights** from live Google Sheets data whenever you need them Making data analysis accessible** to non-technical team members across the organization Maintaining conversation context** so you can ask follow-up questions and dive deeper into insights Combining multiple data sources** for comprehensive business intelligence What this workflow does This workflow creates an intelligent chatbot that can analyze data from Google Sheets in real time, providing AI-powered business intelligence and data insights through a conversational interface. Step by step: Chat Trigger receives incoming chat messages with session ID tracking for conversation context Parallel Data Retrieval fetches live data from multiple Google Sheets simultaneously Data Aggregation combines data from each sheet into structured objects for analysis AI Analysis processes user queries using OpenAI's language model with the combined data context Intelligent Response delivers analytical insights, summaries, or answers back to the chat interface How to set up Connect your Google Sheets account to all Google Sheets nodes for data access View & Copy the example Google Sheet template here: 👉 Smart AI Data Analyst Chatbot – Google Sheet Template Update Google Sheets document ID in all Google Sheets nodes to point to your specific spreadsheet Configure sheet names to match your Google Sheets structure Add your OpenAI API key to the OpenAI Chat Model node for AI-powered analysis Customize the AI Agent system message to reflect your specific data schema and analysis requirements Configure the chat trigger webhook for your specific chat interface implementation Test the workflow by sending sample queries about your data through the chat interface Monitor responses to ensure the AI is correctly interpreting and analyzing your Google Sheets data How to customize this workflow to your needs Replace with your own Google Sheets**: update the Google Sheets nodes to connect to your specific spreadsheets based on your use case. Replace with different data sources**: swap Google Sheets nodes with other data connectors like Airtable, databases (PostgreSQL, MySQL), or APIs to analyze data from your preferred platforms Modify AI instructions**: customize the Data Analyst AI Agent system message to focus on specific business metrics or analysis types Change AI model**: Switch to different LLM models such as Gemini, Claude, and others based on your complexity and cost requirements. Need help customizing? Contact me for consulting and support: 📧 billychartanto@gmail.com
by Intuz
This n8n template from Intuz provides a complete and automated solution for secure document archiving. It automatically saves new QuickBooks invoice PDFs directly into Google Drive, creating a reliable backup system. For perfect organization, the workflow uses keywords from the invoice, like the client name or invoice number, to dynamically name the PDF files, ensuring you have a complete and easily searchable financial record. Use Cases 1. Automated Document Archiving: Eliminate the manual work of downloading and saving invoices. Set it up once and let it run. 2. Compliance & Auditing: Maintain a clean, chronological, and separate record of all issued invoices for easy access during audits. 3. Secure Backup: Create a redundant, secure backup of your critical financial documents in your own cloud storage. 4. Enhanced Team Access: Share the Google Drive folder with accountants, bookkeepers, or team members who need access to invoices but not to your full QuickBooks account. How It Works: 1. Real-Time Invoice Trigger: The workflow starts the instant a new invoice is created in your QuickBooks account. A configured webhook sends a notification to n8n, kicking off the automation immediately. 2. Fetch Invoice Metadata: The workflow uses the invoice ID from the webhook to retrieve the full invoice details, such as the customer's name and the transaction date. This information is used in the next steps. 3. Generate the Invoice PDF: A crucial HTTP Request node makes a direct API call to QuickBooks, requesting a PDF version of the invoice. This ensures the archived document is the official, formatted PDF, exactly as it appears in QuickBooks. 4. Upload and Archive in Google Drive: The final node takes the binary PDF data and uploads it to your specified Google Drive folder. It dynamically names the file for easy identification (e.g., CustomerName_TransactionDate.pdf), creating a perfectly organized and searchable archive. Setup Instructions To get this workflow running, follow these key setup steps: 1. Credentials: QuickBooks: Connect your QuickBooks account credentials to n8n. Google: Connect your Google account using OAuth2 credentials and ensure the Google Drive API is enabled. 2. QuickBooks Webhook Configuration: First, activate this n8n workflow to make the webhook URL live. Copy the Production URL from the QuickBooks Webhook node. In your Intuit Developer Portal, go to the webhooks section for your app, paste the URL, and subscribe to Invoice creation events. 3. Node Configuration: Get an invoice & Generate PDF File: These nodes will use your configured QuickBooks credentials automatically. Upload file (Google Drive): In the parameters for this node, you must select the Folder ID where you want your invoices to be saved. Support If you need help setting up this workflow or require a custom version tailored to your specific use case, please feel free to reach out to the template author: Website: https://www.intuz.com/services Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation Click here- Get Started
by AppStoneLab Technologies LLP
🤖 AI Support Bot for WooCommerce with Gemini & GPT (Telegram & Gmail) Managing customer support across multiple platforms like email and chat can be a huge time sink. Answering the same questions about order status repeatedly takes your focus away from growing your business. This workflow solves that problem by deploying a 24/7 conversational AI agent to act as your first line of support for your WooCommerce store. This AI-powered bot can handle customer inquiries from both Telegram and Gmail, understand conversational follow-ups, and use a tool to fetch live order data directly from your WooCommerce store. It's designed to be reliable, with a primary/fallback AI model setup, and robust enough to prevent the common pitfalls of email automation like infinite reply loops. How It Works ⚙️ The workflow operates in a clear, logical sequence: 📢 Multi-Channel Ingestion: The workflow starts when it receives a message from one of two sources: Telegram: An instant webhook trigger fires for every new message. Gmail: A polling trigger checks your inbox every minute for new, unread emails. 💎 Data Normalization: All incoming requests are merged and processed by a Set node. This crucial step transforms the platform-specific data into a universal format that the rest of the workflow can understand (e.g., platform, sender_id, query_text). 🧠 AI Processing: The standardized query is sent to a LangChain Agent. This agent is the "brain" of the operation. It uses Conversational Memory to understand the context of the conversation (like when a user provides an order ID in a follow-up message). 🛠️ Tool Usage: Based on its prompt, the AI Agent determines if it has enough information to use its one available tool: Get an order in WooCommerce. If a valid Order ID is present, it calls the tool to fetch live order details. 📮 Response & Routing: The agent formulates a natural language response. A Switch node then inspects the platform field and routes the response to the correct channel. ✅ Cleanup: For the Gmail path, two final actions occur in parallel: the reply is sent, and the original incoming email is marked as 'Read'. This is a critical step to prevent the workflow from re-triggering on the same email in an infinite loop. Nodes Used 🔗 This workflow uses a combination of standard nodes and AI nodes to achieve its goal: Telegram Trigger: To receive messages from Telegram in real-time. Gmail Trigger: To poll for new unread emails. Merge: To combine inputs from multiple triggers. Set: To normalize data into a consistent format. LangChain Agent: The core AI "brain" that orchestrates the logic, memory, and tools. Google Gemini & OpenAI: Used as the primary and fallback language models for the agent. WooCommerce Tool: The tool the AI agent uses to fetch order data. Switch: To route the final reply to the correct platform. Telegram: To send the final response to Telegram. Gmail: To reply to emails and mark them as read. Prerequisites 🔑 To use this workflow, you will need: An active n8n instance (self-hosted or cloud). A Telegram Bot account and its API token. A Gmail account with OAuth2 credentials configured in n8n. A WooCommerce store with API credentials (Consumer Key and Secret). An OpenAI API key. A Google AI (Gemini) API key. Usage 🚀 Follow these steps to set up the workflow: Download the Workflow: Import the workflow JSON file into your n8n instance. Configure Credentials: Telegram: Select your Telegram API credentials in the Fetch user query and Send Telegram Response nodes. Gmail: Select your Gmail OAuth2 credentials in the Fetch support mail, Send Response via Mail, and Mark received mail as read nodes. WooCommerce: Select your WooCommerce API credentials in the Get an order in WooCommerce node. AI Models: Select your OpenAI and Google AI credentials in the Fallback Model and Primary Model nodes, respectively. Activate Telegram Webhook: Open the Fetch user query (Telegram Trigger) node. Copy the Webhook URL. Register this URL with your Telegram bot using the /setWebhook command in the BotFather chat. Customize AI Prompt (Optional): Open the WooCommerce Customer support Agent1 node. You can edit the prompt in the Text field to change the AI's personality, rules, or language. Activate the Workflow: Save the workflow and toggle the "Active" switch ON. Your multi-channel AI support agent is now live\! Send a message to your Telegram bot or a new, unread email to your connected Gmail account to test it out. Resources 📚 n8n Documentation n8n Community Forum LangChain in n8n
by Han
How it Works This workflow automates Invoice & Payment Tracking (with Approvals) across Notion and Slack. Ingest — You drop invoices/receipts (PDF/IMG/JSON) into the flow. Extract — OCR + parsing pulls out key fields (invoice no, vendor, currency, totals, receipt paid amount/date). De-dup & Match — We canonicalize vendor + invoice_no and search Notion: Primary match: Invoice No (+ optional Currency / Vendor (Canon)). Fallback: uses document Amount Total and dates. Decide the action create_unpaid — new invoice (no payment). create_paid — new invoice fully paid (unverified). create_partial — new invoice with a first partial payment. update_partial — add a partial to an existing invoice. update_mark_paid — mark existing invoice paid in full. manual_review — currency mismatch / overpayment / ambiguous. archive — push to archive logs (from manual review). Slack approvals (one-click) — A message shows previous paid, this receipt, new total, and Approve buttons (links to a Wait for Webhook resumeUrl). Reviewer picks: Approve Partial / Mark Paid / Manual Review / Archive. Notion updates We only write editable fields: Paid Amount (number), Status (select), Last Payment Date (date). Formulas (e.g., Amount Total, Amount Due) recompute automatically. Receipts are saved in a Receipts DB and related back to the invoice. Notifications & duplicates — If duplicates are detected, Slack posts a simple list with clickable invoice names. Archiving — From Manual Review, Archive goes straight to Archived Invoice DB (and optional Archived Source File DB) as a log entry—no pre-checks needed. Set up Steps Prerequisites Notion DB 4 Slack Channel (Invoice Input, Notification, Manual Review, Duplicate Alert (Optional)) AI Model (We use Claude 3.5 Haiku, Feel free to use Latest Model) OCR Parsing (We Used ocr.space, Feel Free to Change into any OCR Parsing you have) Create Notion DBs:** Invoice DB: Title Invoice No; Number Paid Amount (editable); Select Status; Dates (Issue/Due/Last Payment Date); Formulas: Amount Total = round(Subtotal - Discount Amount + Tax Total, 2) Amount Due = max(0, round(Amount Total - Paid Amount, 2)) Receipts DB: Invoice No, Vendor, Paid Amount (number), Currency (select), Paid Date (date), Receipt No, Source URL; Relation → Invoice. Archived Invoice DB: Invoice No, Vendor, Reason, Source URL, Original Page ID, Archived At (date). (Optional) Source File / Archived Source File DBs. Share all DBs with your Notion integration (Add connections). Add credentials in n8n:** Notion (integration token) and Slack (bot token). Invite the bot to your channel. Import the workflow/template:* Set each Notion node’s *Database ID* and each Slack node’s *Channel/Credential**. Map updates:* In the Invoice *Update Page* node, map *Paid Amount, **Status, Last Payment Date. In Create Receipt, map Invoice relation + receipt fields. Test:** Run with a sample invoice/receipt → click a Slack button → verify Invoice/Receipt updates in Notion → try Archive from Manual Review.
by Davide
🤝🖊️🤖 This workflow automates the process of retrieving meeting transcripts from Fireflies.ai, extracting and summarizing relevant content using Google Gemini, and sending or drafting well-formatted summaries and emails via Gmail. Fireflies is an AI-powered meeting assistant that automatically records, transcribes, and summarizes meetings. It integrates with popular video conferencing tools like Zoom, Google Meet, and Microsoft Teams, helping teams capture key insights and action items without manual note-taking. This workflow automates meeting recap generation, from email detection to AI-powered summarization and delivery. Key Benefits 💡 Automated Insight Extraction**: Uses AI (OpenAI & Gemini) to extract and summarize key insights from meetings automatically. 📩 Instant Client Communication**: Generates ready-to-send meeting summaries and drafts without human intervention. 📥 Email Monitoring**: Listens to Gmail for specific meeting recap messages and reacts accordingly. 🔗 Seamless Fireflies Integration**: Dynamically pulls transcript data 🧠 Dual AI Models**: Combines the strengths of OpenAI and Gemini for rich, contextual summaries in multiple formats. 🛠 Modular Design**: Easily customizable and extensible for adding more destinations (e.g., Slack, Notion, CRM). 🧑💼 Ideal for Teams & Consultants**: Great for sales teams, project managers, or consultants who handle multiple client meetings daily. How It Works Trigger: The workflow starts with a Gmail Trigger node that monitors incoming emails with the subject "Your meeting recap". It checks for new emails every hour. Alternatively, it can be manually triggered using the "When clicking ‘Execute workflow’" node for testing. Alternatively, via Webhook. Email Processing: The "Get a message" node fetches the full email content. The "Set Meeting link" node extracts the meeting link from the email. The "Information Extractor" (powered by OpenAI) processes the email text to identify the meeting URL. Transcript Retrieval: A Code node parses the meeting ID from the URL. The "Get a transcript" node (Fireflies.ai integration) fetches the full meeting transcript using the extracted meeting ID. Transcript Processing: The "Set sentences" and "Set summary" nodes extract structured data (sentences, short summary, overview) from the transcript. The "Full transcript" node combines all transcript segments into a readable format. AI Summarization & Email Generation: Google Gemini models analyze and summarize the transcript in Italian ("Expert Meeting transcripts") and generate a client-friendly recap ("Meeting summary expert"). The "Email writer" node combines summaries into a cohesive email draft. The Markdown to HTML nodes format the content for email readability. Output: A "Draft email to client" node prepares the final recap. Two Gmail nodes ("Send Full meeting summary" and "Send a message1") dispatch the summaries to the specified recipient. Set Up Steps Configure Credentials: Ensure the following credentials are set up in n8n: Fireflies.ai API (for transcript retrieval). Gmail OAuth2 (for email triggering/sending). OpenAI API (for initial text extraction). Google Gemini (PaLM) (for summarization). Adjust Nodes: Update the "Gmail Trigger" node with the correct email filter (subject:Your meeting recap). Replace YOUR_EMAIL in the Gmail Send nodes with the recipient’s address. Verify the Code nodes (e.g., meeting ID extraction) match your URL structure. Deploy: Activate the workflow. Test using the Manual Trigger or wait for the Gmail trigger to execute automatically. Optional Customization: Modify the Google Gemini prompts for different summary styles. Adjust the email templates in the final Gmail nodes. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Xavier Tai
AI Lead Qualifier & Router An intelligent lead management system that automatically captures incoming leads via webhook, uses AI to analyze and score each prospect, then routes them to the appropriate team or campaign based on qualification score—delivering hot leads to sales instantly while nurturing others on autopilot. What It Does This workflow eliminates the manual process of: • Daily lead review and qualification • Manual scoring and prioritization • Lead assignment and routing decisions • Follow-up email composition • CRM data entry and updates • Sales team notifications for hot prospects Instead, it delivers qualified, routed leads with AI insights in under 30 seconds—complete with structured scoring, personalized responses, and organized data storage for tracking. Key Features • Webhook Lead Capture - Accepts leads from any source (forms, landing pages, APIs) • AI-Powered Qualification - Analyzes budget, timeline, message quality, and fit using OpenAI • Structured Scoring - Generates 0-100 scores with reasoning, strengths, and concerns • Intelligent Routing - Automatically directs hot leads (70+) to sales, others to nurture • Instant Notifications - Slack alerts for high-priority prospects with full context • Dual Email Flows - Personalized responses based on lead quality and urgency • Airtable Storage - Organized tracking with qualification data and timestamps
by Matthew
Instagram Hashtag Lead Generation Automate the process of finding and qualifying Instagram leads based on hashtags. This workflow reads hashtags from Google Sheets, scrapes Instagram for posts using Apify, analyzes caption content and language, compiles unique usernames, gathers detailed user info, and filters leads based on follower count. How It Works Fetch Hashtags The workflow starts and pulls a list of hashtags from a Google Sheet. Scrape Instagram Posts For each hashtag, it builds Instagram explore URLs and scrapes posts using Apify. Analyze Captions Each caption is cleaned, hashtags and links are removed, and language/content is analyzed (English/French/Spanish). Extract & Filter Usernames Usernames are combined and deduplicated, their Instagram profiles scraped for follower counts and other details. Qualified Leads Only users with followers in your target range are kept as qualified leads for outreach or analysis. Requirements An n8n instance. Apify API key. Google account with a Sheet containing hashtags. Apify Instagram Scraper actor access. The Google Sheet should have a column with hashtags. Setup Instructions Add Credentials In n8n, add your Apify API key and Google Sheets credentials. Configure Google Sheets Nodes Choose your credentials, spreadsheet, and sheet name in the “Get list of Hashtags” node. Configure Apify Request Nodes Enter your Apify API key and select the Instagram scraper actors. Adjust Filtering Edit the min/max follower count in the relevant filter node to match your needs. Test & Run Manually execute the workflow or add a trigger to run on a schedule. Customization Options 💡 Trigger:** Add a schedule or webhook to automate execution. Language Filtering:** Modify keyword lists or add language detection logic. Lead Output:** Extend the workflow to save leads to a CRM or send notifications. Details Nodes used in workflow: Manual Trigger Google Sheets Code HTTP Request (Apify) IF (Conditional) Aggregate Remove Duplicates Sticky Note
by InfraNodus
Teach your AI agent HOW to think, not WHAT to think This workflow demonstrates how you can build an AI agent in n8n that uses the reasoning logic you define. So an LLM learns a way of thinking, which you can then apply to multiple problems: Make an AI chatbot that knows how to convince anybody using the "Getting to Yes" method Build an LLM workflow that uses Ray Dalio's principles to spot investment opportunities Create an AI agent crew of interdisciplinary thinkers: e.g. a specialist in psychology who gives an advice on education programmes. How it works This template uses the n8n AI agent node as an orchestrating agent that has access to a certain reasoning logic defined by an InfraNodus knowledge graph. This graph contains a list of reasoning rules (ontology), which is extracted to provide an advice that is relevant to the original prompt. It uses GraphRAG under the hood to traverse the parts of the graph relevant to the query. This advice and the reasoning logic extracted is then used by the AI agent to generate a response that is relevant to the user's query but that uses the reasoning logic provided through the graph. Here's a description step by step: The user submits a question using the AI chatbot (n8n interface, in this case, a web form that can be embedded to any website, or a webhook that can be connected to a Telegram / WhatsApp bot) The AI agent node accesses the Reasoning Logic HTTP InfraNodus nodes. The description of AI agent and the description of the reasoning InfraNodus node provides the agent with an understanding of how to rephrase the original question to retrieve relevant reasoning logic. The request is sent to the InfraNodus node. It provides a response that contains the reasoning logic needed to answer the question. This reasoning logic is then sent back to an LLM along with the original query to produce the response. InfraNodus uses GraphRAG under the hood: convert user query into graph find the overlap with the reasoning graph (using n=1 or more hops to include more relations) use similarity search to get additional parts of the graph generate a response based on this intersection as well as the context provided provide information about the underlying structure How to use You need an InfraNodus account to use this workflow. Create an InfraNodus account Get the API key at https://infranodus.com/api-access and create a Bearer authorization key for the InfraNodus HTTP nodes. Create a separate knowledge graph for the reasoning logic Use the AI ontology creator to generate an ontology for a certain topic or text using AI. Then augment it with your own data. See our help article on creating ontologies for detailed instructions For each graph, go to the workflow, paste the name of the graph into the request JSON body name field. Change the system prompt in the AI agent node to reflect the nature of your reasoning logic. For instance, if it's an expert in interactions, you specify that, if it's a psychology expert, you need to specify that as well. Change the description of the reasoning node (HTTP tool). Use the InfraNodus summary and Project Notes > RAG prompt buttons to generate a description for the reasoning logic, which you can then reuse in your workflow. add the LLM key to the OpenAI node (or to the model of your choice) and launch the workflow Requirements An InfraNodus account and API key An OpenAI (or any other LLM) API key Customizing this workflow You can use this same workflow with a Telegram bot, so you can interact with it using Telegram. There are many more customizations available. Check out the complete guide at https://support.noduslabs.com/hc/en-us/articles/21429518472988-Using-Knowledge-Graphs-as-Reasoning-Experts Also check out the video tutorial with a demo:
by Ruthwik
⚡ Next-Gen Customer Support: Two-Way WhatsApp + Telegram Integration for 10k+ Clients Who is this workflow for This workflow is designed for **customer support teams, e-commerce founders, and operations managers** who want to handle thousands of customer queries seamlessly. Instead of building a brand-new chat application, it leverages WhatsApp (where customers already are) and Telegram (where your support team operates) to create a scalable, topic-based support system. If you are a brand handling 1000s of daily WhatsApp customer messages and need a structured way to map each customer into a dedicated support thread without chaos, this workflow is for you. What it does / How it works This two-way n8n automation bridges WhatsApp and Telegram by creating one Telegram forum topic per customer and syncing messages both ways: Incoming WhatsApp → Telegram When a new WhatsApp message arrives, the workflow checks if the customer already has a topic in Telegram. If yes → The message is forwarded into that existing topic. If no → A new topic is created automatically, the mapping is saved in the database, and the message is posted there. Result: every customer has a dedicated thread in your Telegram supergroup. Outgoing Telegram → WhatsApp When a support agent replies in a Telegram topic, the workflow looks up the linked WhatsApp number. The reply is sent back to the customer on WhatsApp, preserving context. Result: two-way synced conversations without building a custom app. How to set it up Configure WhatsApp Cloud API Create a Meta Developer account and register a WhatsApp Business number. Generate an access token and phone number ID. Configure Telegram Bot Use BotFather to create a bot and enable it in a **Telegram Supergroup with Topics**. Get the chat_id and allow the bot to create/send messages in topics. Database (Supabase/Postgres) Create a table wa_tg_threads to map phone_e164 ↔ telegram_topic_id ↔ supergroup_id. n8n Workflows Workflow A: WhatsApp → Telegram Trigger: WhatsApp Webhook Steps: Lookup customer → If exists send to topic, else create topic → Save mapping → Forward message. Workflow B: Telegram → WhatsApp Trigger: Telegram Webhook Steps: Filter only topic replies → Lookup mapping → Send WhatsApp message. Testing Send a WhatsApp message → Check Telegram topic created. Reply in Telegram topic → Ensure customer receives WhatsApp reply. Requirements A free or paid n8n instance (self-hosted or cloud). WhatsApp Cloud API credentials** (phone number ID + access token). Telegram Bot token* with access to a *Supergroup with Topics** enabled. A Postgres/Supabase database to store thread mappings. Basic familiarity with editing HTTP Request nodes in n8n. How to customize the workflow Brand personalization:** Pre-populate first message templates (thank you, order status, delivery updates). Routing rules:** Assign specific agents to certain topics by ID ranges. Integrations:** Extend to CRMs (HubSpot, Zoho) or support platforms (Freshdesk, Zendesk). Notifications:** Push high-priority WhatsApp queries into Slack/Teams for instant alerts. Archival:** Auto-close inactive topics after N days and mark customers as dormant. Why Telegram instead of building a new App The client's requirement was clear: **use an existing, reliable, and scalable chat platform** instead of building a new app from scratch. Telegram Supergroups with Topics** scale to 100,000+ members and millions of messages, making them ideal for managing 10k+ customer threads. Agents don't need to install or learn a new tool---they continue inside Telegram, which is fast, free, and mobile-friendly. Building a custom chat app would require authentication, push notifications, scaling infra, and UX---all solved instantly by Telegram. This decision **saves development cost, accelerates deployment, and provides proven scalability**. Why this improves support productivity Organized by customer:** Each WhatsApp number has its own Telegram topic. No missed messages:** Agents can quickly scroll topics without drowning in one endless chat. Two-way sync:** Replies flow back to WhatsApp seamlessly. Scales automatically:** Handle 10k+ conversations without losing track. Leverages existing tools:** WhatsApp (customers) + Telegram (agents). Result: **faster responses, better tracking, and zero need to reinvent chat software.**
by Margo Rey
Generate and send MadKudu Account Brief into Outreach This workflow generates an account brief tailored to your company using MadKudu MCP and OpenAI and syncs it to a custom field in Outreach. Its for Sales who want to give reps rich account context right inside Outreach, and draft Outreach email with Outreach Revenue Agent based on MadKudu account brief. ✨ Who it's for RevOps or GTM teams using MadKudu + Salesforce + Outreach Sales teams needing dynamic, AI-generated context for target accounts 🔧 How it works 1. Select Accounts: Use a Salesforce node to define which accounts to brief. Filter logic can be updated to match ICP or scoring rules (e.g., MadKudu Fit + LTB). 2. Generate Brief with MadKudu MCP & AI MadKudu MCP provides the account brief instructions, research online for company recent news and provides structured account context from your integrations connected to MadKudu + external signals (firmographics, past opportunities, active contacts, job openings...) The AI agent (OpenAI model) turns this into a readable account brief. 3. Send to Outreach Match account in Outreach via domain. Update a custom field (e.g., custom49) with the brief text. 📋 How to set up Connect your Salesforce account Used to pull accounts that need a brief. Set your OpenAI credentials Required for the AI Agent to generate the brief. Create a n8n Variable to store your MadKudu API key named madkudu_api_key used for the MadKudu MCP tool The AI Agent pulls the account brief instructions and all the context necessary to generate the briefs. Create an Oauth2 API credential to connect your Outreach account Used to sync to brief to Outreach. Customize the Salesforce filter In the “Get accounts” node, define which accounts should get a brief (e.g. Fit > 90). Map your Outreach custom field Update the JSON Body request with your actual custom field ID (e.g. custom49). 🔑 How to connect Outreach In n8n, add a new Oauth2 API credential and copy the callback URL Now go to Outreach developer portal Click “Add” to create a new app In Feature selection add Outreach API (OAuth) In API Access (Oauth) set the redirect URI to the n8n callback Select the following scopes accounts.read, accounts.write Save in Outreach Now enter the Outreach Application ID into n8n Client Id and the Outreach Application Secret into n8n Client secret Save in n8n and connect via Oauth your Outreach Account ✅ Requirements MadKudu account with access to API Key Salesforce Oauth Outreach Admin permissions to create an app OpenAI API Key 🛠 How to customize the workflow Change the targeting logic** Edit the Salesforce filter to control which accounts are eligible. Rewrite the prompt** Tweak the prompt in the AI Agent node to adjust format, tone, or insights included in the brief. Change the Outreach account field** Update the Outreach field where the brief is sync-ed if you're using a different custom field (e.g. custom48, custom32, etc). Use a different trigger** Swap the manual trigger for a Schedule or Webhook to automate the flow end-to-end.
by Mantaka Mahir
Automate Google Classroom: Topics, Assignments & Student Tracking Automate Google Classroom via the Google Classroom API to efficiently manage courses, topics, teachers, students, announcements, and coursework. Use Cases Educational Institution Management Sync rosters, post weekly announcements, and generate submission reports automatically. Remote Learning Coordination Batch-create assignments, track engagement, and auto-notify teachers on new submissions. Training Program Automation Automate training modules, manage enrollments, and generate completion/compliance reports. Prerequisites n8n (cloud or self-hosted) Google Cloud Console access for OAuth setup Google Classroom API enabled Google Gemini API key** (free) for the agent brain — or swap in any other LLM if preferred Setup Instructions Step 1: Google Cloud Project Create a new project in Google Cloud Console. Enable Google Classroom API. Create OAuth 2.0 Client ID credentials. Add your n8n OAuth callback URL as a redirect URI. Note down the Client ID and Client Secret. Step 2: OAuth Setup in n8n In n8n, open HTTP Request Node → Authentication → Predefined Credential Type. Select Google OAuth2 API. Enter your Client ID and Client Secret. Click Connect my account to complete authorization. Test the connection. Step 3: Import & Configure Workflow Import this workflow template into n8n. Link all Google Classroom nodes to your OAuth credential. Configure the webhook if using external triggers. Test each agent for API connectivity. Step 4: Customization You can customize each agent’s prompt to your liking for optimal results, or copy and modify node code to expand functionality. All operations use HTTP Request nodes, so you can integrate more tools via the Google Classroom API documentation. This workflow provides a strong starting point for deeper automation and integration. Features Course Topics List, create, update, or delete topics within a course. Teacher & Student Management List, retrieve, and manage teachers and students programmatically. Course Posts List posts, retrieve details and attachments, and access submission data. Announcements List, create, update, or delete announcements across courses. Courses List all courses, get detailed information, and view grading periods. Coursework List, retrieve, or analyze coursework within any course. Notes Once OAuth and the LLM connection are configured, this workflow automates all Google Classroom operations. Its modular structure lets you activate only what you need—saving API quota and improving performance.