by Ayis Saliaris Fasseas
How It Works Starts with a Manual Trigger Reads lead list from Google Sheet Filter rows where email wasn’t sent Generate personalized email body (AI) Generate email subject line (AI) Merge AI outputs with original row data Create Gmail draft Update Google Sheet with email content and date Wait 3 seconds between updates to avoid API limits Setup Steps Connect Google Sheets, Gmail, and OpenAI credentials Check sheet column names (business_name, email, contact_name, city, business_type, email_sent) Run Manual Trigger to test one row Adjust AI prompts if needed Customization Add unique ID column to match rows if needed Change AI prompts to adjust email style Increase wait time to avoid rate limits Use Cases Draft cold emails for review before sending Automate lead outreach while keeping human oversight Generate personalized emails and subject lines quickly Troubleshooting Tips Draft not created → check Gmail credentials and scopes Sheet not updating → check matching column exists AI outputs empty → increase tokens or check response path
by Shohani
Send daily inspirational quotes with AI translation to Telegram subscribers This n8n workflow creates an automated daily quote bot that fetches inspirational quotes, translates them using AI, adds emoji "stickers," and sends them to registered Telegram subscribers. Perfect for content creators, coaches, or anyone wanting to share daily motivation with their audience. Who's it for Content creators and social media managers Life coaches and motivational speakers Community managers running Telegram channels Anyone wanting to automate daily inspirational content Developers learning n8n automation with AI integration How it works The workflow operates on two main flows: Daily Quote Distribution: Schedule Trigger runs daily to fetch a random inspirational quote HTTP Request fetches quotes from the ZenQuotes API (free service) Google Gemini AI translates the quote to your target language and adds relevant emoji "stickers" Google Sheets retrieves the list of registered subscribers Telegram sends the formatted quote (original + translated + emojis) to all subscribers User Registration: Telegram Trigger listens for new messages to your bot Google Sheets automatically registers new users who interact with the bot Requirements Telegram Bot Token** - Create a bot via @BotFather on Telegram Google Gemini API** - For AI translation and emoji enhancement Google Sheets** - To store subscriber list (free Google account) ZenQuotes API** - Free, no API key required How to set up Create Telegram Bot: Message @BotFather on Telegram, create a new bot, and save the token Set up Google Sheets: Create a spreadsheet with columns: registered_users, date Configure Gemini API: Get your API key from Google AI Studio Update the Set Fields node: Configure your target language and bot preferences Test the workflow: Send a message to your bot to register, then manually trigger the quote sending How to customize the workflow Change target language**: Modify the AI prompt in the LLM Chain node to translate to any language Adjust sending schedule**: Update the Schedule Trigger to send quotes at your preferred time/frequency Customize quote sources**: Replace the HTTP Request with other quote APIs or your own content Add quote categories**: Enhance the AI prompt to categorize quotes (motivational, business, life, etc.) Include user preferences**: Expand Google Sheets to store user language preferences for personalized translations Good to know The workflow automatically handles new subscriber registration Supports MarkdownV2 formatting for rich text in Telegram Uses emoji "stickerization" to make quotes more engaging and visual Demo bot working with this workflow is @sgsbot on Telegram
by Abideen Bello
How it works This workflow automatically monitors your Gmail inbox and uses OpenAI's GPT model to intelligently classify incoming emails into four key categories: High Priority - Urgent emails requiring immediate attention from executives, clients, or stakeholders Promotion - Marketing emails, sales offers, product launches, and event invitations Finance/Billing - Invoices, receipts, payment notifications, and financial records Customer Support - Help requests, troubleshooting queries, and service-related issues Once classified, emails are automatically labeled in Gmail using the appropriate tags, making it easy to filter, search, and prioritize your communications. How to set up Requirements Gmail account with OAuth2 access enabled OpenAI API key with GPT model access Custom Gmail labels created for each category Step-by-step setup Create Gmail Labels In Gmail, create these labels: "High Priority", "Promotion", "Finance/Billing", "Customer Support" Note the label IDs (you'll need to replace the hardcoded ones in the workflow) Configure Credentials Add your Gmail OAuth2 credentials in n8n Add your OpenAI API credentials Update Label IDs Replace the hardcoded label IDs in each Gmail node with your actual label IDs You can find label IDs by testing the Gmail node or using Gmail API Adjust Classification Rules Review the Text Classifier categories and modify descriptions to match your specific needs Add or remove categories as required Set Polling Frequency The workflow is set to check every minute - adjust based on your email volume
by Khairul Muhtadin
unli.dev + n8n + Telegram Image Analyzer turns images sent to your Telegram bot into clean, Markdown-formatted transaction text using unli.dev Vision API. Instead of typing numbers and dates manually, the workflow downloads the photo, converts it to base64, analyzes it via API, and replies in-chat with extracted details, saving time and reducing errors. 💡 Why Use Image Analyzer? Save time:** Process images in seconds, cutting manual entry by up to 90%. Solve pain points:** No more blurry screenshot frustration; get clean Markdown transactions. Faster outcomes:** Per-image turnaround under 15s. Competitive edge:** Give staff/customers structured feedback instantly ⚡ Perfect For Small business owners:** Capture receipts/payments quickly. Accountants/bookkeepers:** Intake client receipts with fewer typos. Ops/support teams:** Turn messy screenshots into actionable records. 🔧 How It Works Trigger: Telegram bot receives photo. Process: Convert to base64 & prepare request. Smart Logic: Call unli.dev Vision API for text extraction. Output: Send Markdown result back to Telegram. Optional: Save structured data to Google Sheets, Airtable, or DB. 🛠 Quick Setup Import workflow JSON to your n8n instance. Add credentials: Telegram bot + unli.dev API key. Customize the system prompt (default: extract the transaction in Markdown). Test by sending a real photo to your bot. 🧩 You’ll Need n8n instance Telegram bot token unli.dev Vision API key Optional: Google Sheets / Airtable for storage Made by: Khaisa Studio Category: Image Analysis Contact: Get in touch
by Alejandro Scuncia
An extendable triage workflow that classifies severity, sets components, and posts actionable guidance for support engineers using n8n + Gemini + Cache Augmented Generation (CAG). Designed for Jira Service Management, but easily adaptable to Zendesk, Freshdesk, or ServiceNow. Description Support teams loose valuable time when tickets are misclassified: wrong severity, missing components, unclear scope. Engineers end up re-routing issues and chasing missing info instead of solving real problems. This workflow automates triage by combining domain rules with AI-driven classification and guidance, so engineers receive better-prepared tickets. It includes: ✅ Real-time ticket capture via webhook ✅ AI triage for severity and component ✅ CAG-powered guidance: 3 next steps + missing info ✅ Internal audit comment with justifications & confidence ✅ Structured metrics for reporting ⚙️ How It Works This workflow runs in 4 stages: 📥 Entry & Setup Webhook triggers on ticket creation Loads domain rules (priority policy, components, guidance templates) Sets confidence threshold & triage label 🧠 AI Analysis (Gemini + CAG) Builds structured payload with ticket + domain context Gemini proposes severity, component, guidance, missing info Output normalized for safe automation (valid JSON, conservative confidence) 🤖 Update & Audit Updates fields (priority, component, labels) if confidence ≥ threshold Posts internal audit comment with: 3 next steps Missing info to request Justifications + confidence 📊 Metrics Captures applied changes, confidence scores, and API statuses Enables reliability tracking & continuous improvement 🌟 Key Features CAG-powered guidance** → lightning-fast, context-rich next steps Explainable automation** → transparent audit comments for every decision Domain-driven rules** → adaptable to any product or support domain Portable* → swap JSM with *Zendesk, Freshdesk, ServiceNow** via HTTP nodes 🔐 Required Credentials | Tool | Use | |------|-----| | Jira Service Management | Ticketing system (API + comments) | | Google Gemini/Gemma | LLM analysis | | HTTP Basic Auth | For Jira API requests (bot user) | ⚠️ Setup tip: create a dedicated bot user in Jira Service Management with an API token. This ensures clean audit logs, proper permissions, and avoids mixing automation with human accounts. 🧰 Customization Tips Replace https://your-jsm-url/... with your own Jira Service Management domain. Update the credentials with the bot user’s API token created above. Swap Jira Service Management nodes with other ticketing systems like Zendesk, Freshdesk, or ServiceNow. Extend the domain schema (keywords, guidance_addons) to fit your product or support environment. 🗂️ Domain Schema This workflow uses a domain-driven schema to guide triage. It defines: Components** → valid areas for classification Priority policies & rules** → how severity is determined Keywords** → domain-specific signals (e.g., “API error”, “all users affected”) Guidance addons** → contextual next steps for engineers No-workaround phrases** → escalate severity if present ✨ The full domain JSON (with complete keyword & guidance mapping) is included as a sticky note inside the workflow. 💡 Use Cases Automated triage for IT & support tickets Incident classification with outage/security detection Contextual guidance for engineers in customer support Faster escalation and routing of critical issues 🧠 Who It’s For Support teams running Jira Service Management Platform teams automating internal ticket ops AI consultants prototyping practical triage workflows Builders exploring CAG today, RAG tomorrow 🚀 Try It Out! ⚙️ Import the Workflow in n8n (cloud or self-hosted). 🔑 Add Credentials (JSM API + Gemini key). ⚡ Configure Setup (confidence threshold, triage label, domain rules). 🔗 Connect Webhook in JSM → issue_created → n8n webhook URL. 🧪 Test with a Ticket → see auto-updates + AI audit comment. 🔄 Swap the Ticketing System → adapt HTTP nodes for Zendesk, Freshdesk, or ServiceNow. 💬 Have Feedback or Ideas? I’d Love to Hear This project is open, modular, and evolving. If you try it, adapt it, or extend it, I’d love to hear your feedback — let’s improve it together in the n8n builder community. 📧 ascuncia.es@gmail.com 🔗Linkedin
by Peliqan
How it works This template is an end-to-end demo of an in-house AI agent that can answer a wide range of questions by retrieving information from the Cin7 ERP system. For example users can ask questions related to products, stock, accounting or any other type of information contained in Cin7. Peliqan.io is used as a "cache" of all Cin7 data. Peliqan uses one-click ELT to sync all data from Cin7 to the built-in data warehouse, allowing for fast & accurate queries. The AI agent uses Text-to-SQL to answer questions. Text-to-SQL is performed via the Peliqan node, added as a tool to the AI Agent. The question of the user - in natural language - is converted to an SQL query by the AI Agent. The query is executed by Peliqan.io on the source Cin7 data and the result is interpreted by the AI Agent. Preconditions You signed up for a Peliqan.io free trial account You have a Cin7 Omni or Cin7 Core ERP system Set up steps Sign up for a free trial on peliqan.io Add Cin7 Omni or Cin7 Core as a connection in Peliqan (using an API key from Cin7) Copy your Peliqan API key (in Peliqan go to Settings > API key) and use it in n8n to add a Peliqan connection Select your data warehouse in the Peliqan node "Execute an SQL query via Peliqan" in the drop-down field "Data warehouse name or id" Optional: run the template script in Peliqan that outputs your specific Cin7 datamodel (tables & columns). Copy your datamodel and paste it in the System Message of the AI Agent (replace the standard Cin7 model already present in this workflow) Visit peliqan.io/n8n for more information. Need help ? Contact Peliqan at support@peliqan.io Disclaimer: This template contains a community node and therefore only works for n8n self-hosted users.
by Peliqan
How it works This template is an end-to-end demo of an in-house AI agent that can answer a wide range of questions by retrieving information from the Uniconta ERP system. For example users can ask questions related to products, stock, accounting or any other type of information contained in Uniconta. Peliqan.io is used as a "cache" of all Uniconta data. Peliqan uses one-click ELT to sync all data from Uniconta to the built-in data warehouse, allowing for fast & accurate queries. The AI agent uses Text-to-SQL to answer questions. Text-to-SQL is performed via the Peliqan node, added as a tool to the AI Agent. The question of the user - in natural language - is converted to an SQL query by the AI Agent. The query is executed by Peliqan.io on the source Uniconta data and the result is interpreted by the AI Agent. Preconditions You signed up for a Peliqan.io free trial account You have a Uniconta ERP system Set up steps Sign up for a free trial on peliqan.io Add Uniconta as a connection in Peliqan (using an API key from Uniconta) Copy your Peliqan API key (in Peliqan go to Settings > API key) and use it in n8n to add a Peliqan connection Select your data warehouse in the Peliqan node "Execute an SQL query via Peliqan" in the drop-down field "Data warehouse name or id" Optional: run the template script in Peliqan that outputs your specific Uniconta datamodel (tables & columns). Copy your datamodel and paste it in the System Message of the AI Agent (replace the standard Uniconta model already present in this workflow) Visit peliqan.io/n8n for more information. Need help ? Contact Peliqan at support@peliqan.io Disclaimer: This template contains a community node and therefore only works for n8n self-hosted users.
by Sabrina Ramonov 🍄
Description This fully automated AI Twin Viral News system researches the latest trending news in any niche or industry, then generates talking-head AI clone videos WITHOUT having to film or edit yourself. This can easily be tailored to any particular niche, simply by updating the Perplexity research prompty. It combines ChatGPT, Perplexity, HeyGen, and Blotato to research, create, and auto-post talking-head AI avatar videos to every social media platform, every single day. Who Is This For? This is perfect for digital marketing agencies, small business owners, entrepreneurs, content creators, influencers, and social media agencies. How It Works 1. Trigger Schedule: configured to run once daily at 10am 2. AI Researcher Call Perplexity to research the top 10 latest news in your industry Select news story most likely to go viral Compile detailed factual report on selected news story 3. AI Writer AI writes monologue script, video caption, and short title 4. Create Avatar Video Call HeyGen API (requires paid API plan), specifying your avatar ID and voice ID Create avatar video; optionally pass an image/video background if you have a green screen avatar 5. Get Video Wait awhile, then fetch completed avatar video Upload video to Blotato 6. Publish to Social Media via Blotato Connect your Blotato account Choose your social accounts Either post immediately or schedule for later Setup & Required Accounts Sign up for Perplexity.ai and set up your API Billing Generate your Perplexity API Key: https://www.perplexity.ai/account/api/keys Sign up for Blotato.com Generate Blotato API Key via Settings > API > Generate API Key (paid feature only) Ensure "Verified Community Nodes" enabled in n8n Admin Panel Install "Blotato" verified community node Create Blotato credential Sign up for HeyGen web plan and API plan Paste your HeyGen API key, HeyGen avatar ID, and HeyGen voice ID Complete the 2 setup steps in BROWN sticky notes in this template Optional: Background Image/Video Behind Avatar Ensure you have an avatar with background removed (requires higher tier Heygen plan) Open SETUP HEYGEN node and set parameter 'has_background_video' to true Open SETUP HEYGEN node and replace video URL in parameter 'background_video_url' Recommendation: Only enable after the basic workflow is operational, i.e. you can make avatar videos without a background Tips & Tricks Perplexity API account must have billing funded HeyGen API requires paid plan Make sure you copied your avatar ID correctly (not the group avatar ID) If your script is long, it takes more time for your video to finish While testing: Enable only 1 social platform and deactivate the rest Update AI writer prompt to return a 5-second script instead of 30 seconds to reduce processing time Go to HeyGen and check that your avatar video is being processed After the workflow finishes, check your social media account for the final post If successful, enable another social media node and continue testing 📄 Documentation Full Tutorial Troubleshooting Check your Blotato API Dashboard to see every request, response, and error. Click on a request to see the details. Need Help? In the Blotato web app, click the orange button on the bottom right corner. This opens the Support messenger where I help answer technical questions. Connect with me: Linkedin | Youtube
by Oneclick AI Squad
This n8n workflow automates the collection and analysis of real-time attendee feedback and engagement data during sessions or live polls. It generates actionable insights for organizers, streamlining the process of gathering, processing, and delivering feedback to enhance event management and attendee experience. Key Features Collects session feedback and live poll responses in real-time. Analyzes sentiment and extracts key trends for actionable insights. Delivers summarized reports and recommendations to organizers via multiple channels. Supports seamless integration with external tools for data logging and communication. Workflow Process The Webhook Trigger node captures incoming feedback or poll data from attendees, initiating the workflow. The Extract Feedback Data node processes the raw input to organize and prepare it for analysis. The Analyze Sentiment node uses AI to evaluate feedback sentiment and identify key themes or trends. The Aggregate Feedback node compiles the analyzed data into a cohesive summary. The Calculate Insights node generates actionable insights and recommendations based on the aggregated data. The Check Urgency node assesses the priority of the feedback for timely responses or actions. The Log to Google Sheets node records the feedback and insights for future reference. The Webhook Response node sends real-time updates or acknowledgments back to the source. The Post to Slack node delivers summary messages to organizers via Slack. The Email Report to Organizers node sends detailed reports to organizers via email. Setup Instructions Import the workflow into n8n and configure the Webhook Trigger with your event platform's API credentials. Set up the AI service for sentiment analysis and insight generation with a suitable language model. Configure Google Sheets integration for logging feedback data. Set up Slack and email credentials for notifications and reports. Test the workflow by sending sample feedback or poll responses to ensure proper data flow and analysis. Monitor the output and adjust AI parameters or node settings as needed for optimal performance. Prerequisites Webhook integration with the event platform or polling system. AI/LLM service for sentiment analysis and insight generation. Google Sheets account for data logging. Slack workspace and email service for notifications and reports. Access to real-time attendee data from the event platform. Modification Options Modify the Extract Feedback Data node to include specific data fields or custom parsing rules. Adjust the Analyze Sentiment node to focus on particular sentiment metrics or keywords. Customize the Calculate Insights node to prioritize certain types of recommendations. Add additional notification channels (e.g., Microsoft Teams) to the Post to Slack or Email Report nodes. Configure the Check Urgency node to include custom urgency criteria based on event needs.
by WeblineIndia
WooCommerce Daily Sales & Revenue Spike Monitor → Slack Alert This workflow automatically checks your WooCommerce store’s last 24 hours of revenue, top-selling products, and cancelled orders on a daily schedule. It sends Slack notifications when sales cross a defined threshold or provides a detailed status update—including cancellation impact—if the target hasn’t been met, helping teams react quickly without manual reporting. 🚀 Quick Implementation Steps Set up the Schedule Trigger to run daily Connect WooCommerce and fetch recent orders Filter paid and cancelled orders separately Filter both datasets to the last 24 hours Calculate revenue, top products, and cancellation impact Merge and format sales and cancellation data Compare revenue with a configurable threshold Send enriched Slack alerts with sales and cancellation insights What It Does This workflow serves as a daily sales and revenue health monitoring assistant for your WooCommerce store. It runs automatically on a schedule and collects recent order data from WooCommerce via API. Only paid orders (Completed / Processing) are considered for revenue calculations. Cancelled orders are processed in a separate branch to track revenue loss. Orders created within the last 24 hours are filtered for both paid and cancelled orders. The workflow calculates total revenue, order count, average order value, and top-selling products. It also calculates cancelled order count and cancelled revenue to highlight potential revenue leakage. Sales and cancellation data are merged into a single structured object. An IF node checks whether revenue exceeds a predefined threshold. If the threshold is crossed, a Slack Sales Spike Alert is sent with cancellation context. If the threshold is not reached, a Slack Status / Pending Alert is sent showing progress, top products, and cancellation impact—keeping the team informed without noise. Who’s It For Business owners monitoring daily sales and revenue health Sales and marketing teams tracking revenue spikes and losses E-commerce managers using WooCommerce Operations teams monitoring cancellations and fulfillment risks Non-technical users who want actionable insights without dashboards Requirements to Use This Workflow An active WooCommerce store WooCommerce REST API credentials** An n8n instance (cloud or self-hosted) A Slack workspace with incoming webhook or Slack credentials Permission to read WooCommerce orders and post Slack messages How It Works & Set Up Schedule Trigger Configure the Schedule Trigger to run once per day at your preferred time. Fetch Orders from WooCommerce Use the WooCommerce node to retrieve recent orders from your store. Filter Paid Orders Keep only orders with status Completed or Processing. Filter Last 24 Hours Orders A Code node filters paid orders created within the last 24 hours. Calculate Top Products A Code node aggregates product quantities sold in the last 24 hours. Calculate Total Revenue A Code node calculates total revenue, order count, and average order value. Fetch & Process Cancelled Orders A separate WooCommerce branch fetches orders with status Cancelled. Cancelled orders are filtered to the last 24 hours using a Code node. A Code node calculates cancelled order count and cancelled revenue. Merge & Format Sales Data A Merge node combines sales metrics and cancellation metrics. A Code node formats all results into a single JSON object for Slack. Threshold Check An IF node compares total revenue against a fixed threshold. Send Slack Alerts TRUE path: Sends a **Sales Spike Alert including revenue, top products, and cancellation impact. FALSE path: Sends a **Status / Pending Alert showing current performance, top products, and cancellation insights. Activate Workflow Test once and activate the workflow for daily monitoring. How To Customize Nodes Threshold Value**: Update the IF node condition to match your business target Schedule Time**: Change the Schedule Trigger execution time Slack Channels**: Update Slack nodes to post in your desired channels Order Status Logic**: Adjust filters for paid or cancelled orders if needed Time Window**: Modify the 24-hour logic to 12 hours, 48 hours, or weekly Cancellation Sensitivity**: Add conditions to alert on high cancellation volume or revenue impact Add-ons (Optional Enhancements) Add cancellation rate (%) and net revenue calculations Trigger alerts when cancellation revenue exceeds a defined percentage Store daily sales and cancellation history in Google Sheets or a database Add day-over-day or week-over-week comparisons Send alerts to Microsoft Teams or Email Attach a CSV report with order and cancellation details Use Case Examples Detect viral product sales quickly Monitor flash sale performance Identify revenue loss due to cancellations Alert leadership on high-revenue or high-risk days Track campaign-driven sales spikes and drop-offs Support inventory, operations, and customer experience planning > Many more business scenarios can be addressed based on your store’s needs. Troubleshooting Guide | Issue | Possible Cause | Solution | | ---------------------------------- | -------------------------------- | ---------------------------------------- | | No Slack alert received | Revenue did not exceed threshold | Check threshold or test with lower value | | Workflow fails | WooCommerce API error | Verify API credentials and permissions | | Revenue or cancellation shows zero | Orders filtered out | Validate order status and date logic | | Slack message not sent | Wrong Slack credentials | Reconnect Slack node | | Orders missing | Timezone mismatch | Align WooCommerce and n8n timezone | Need Help? Need help setting up this workflow or customizing it further? Our n8n workflow development team at WeblineIndia can assist you with implementation, add-ons, performance optimization and building similar n8n automations tailored to your business needs. 👉 Contact WeblineIndia today to automate smarter and scale faster.
by Matthew
AI-Powered Personalized Email Nurturing This workflow automates sending tailored onboarding and follow-up emails based on lead commitment levels. It's designed for coaches, consultants, and service-based businesses who want to personalize their outreach and nurture prospects more effectively. How It Works Triggered by New Data: The workflow automatically starts whenever a new row is added to your specified Google Sheet. Assess Commitment: An If node checks the "Commitment" score from your Google Sheet data. If the commitment score is 8 or higher, the lead is considered "warm" and receives a detailed onboarding email. If the commitment score is below 8, the lead is considered "colder" and receives a gentle nudge email. Craft Warm Email (for high commitment): For "warm" leads, an OpenAI node generates an aspirational and confident first-touch email. This email highlights their goals, introduces your flagship offers, and invites them to a 30-minute discovery call. Craft Colder Email (for lower commitment): For "colder" leads, a different OpenAI node generates an encouraging, non-pushy follow-up email. This email thanks them for sharing their goals, reinspires them with the ROI of personal branding, asks a reflective question, and offers a no-pressure Q&A session. Send Emails: The appropriate Gmail node sends the personalized email to the lead. Record Activity: Finally, the Google Sheets node appends the lead's information and details of the sent email to a separate "Contacts" sheet, keeping a clear record of all interactions. Google Sheet Structure Your primary Google Sheet (the one triggering the workflow) must have the following exact column headers: Email** First name** Last name** Phone number** Industry** Title** Three goals you wish to achieve this year** 1-10 how commited are you to your goals** Your secondary Google Sheet (for appending contacts) must have these exact column headers: name** email** phone** industry** title** three goals** commitment** Setup Instructions Add Credentials: In n8n, add your OpenAI API key via the Credentials menu. Connect your Google account via the Credentials menu for Google Sheets and Gmail access. Configure Google Sheets Trigger: Select the Google Sheets Trigger node. Choose your Google Sheets credential, select your spreadsheet, and the specific sheet name that contains your incoming lead data. Configure Commitment Logic: Select the Commitment ≥ 8? If node. The condition is set to ={{ $json['1-10 how commited are you to your goals'] }} >= 8. Ensure your Google Sheet column name for commitment matches exactly, including spacing and capitalization. Configure OpenAI Nodes: Select both crafting warmer email and crafting colder email nodes. Choose your OpenAI credential from the dropdown. Crucially: In both nodes' Messages section, replace placeholder information with your actual company name, founder name, and any specific details about your flagship offers and booking links (https://calendly.com/brandied/discovery). Configure Gmail Nodes: Select both Send warmer email and Send colder email nodes. Choose your Gmail credential. Configure Append Row in Sheet: Select the Append row in sheet node. Choose your Google Sheets credential, select the spreadsheet and sheet name where you want to log sent emails (your "Contacts" sheet). Verify that the column mappings correctly align with the "Google Sheet Structure" for your secondary sheet. Customization Options 💡 Commitment Threshold: Adjust the number in the **Commitment ≥ 8? If node to change what constitutes a "warm" lead (e.g., gte 7 for a commitment score of 7 or higher). Email Content & Tone: Modify the prompts in the **crafting warmer email and crafting colder email OpenAI nodes to fine-tune the email tone, length, specific calls to action, or any other elements to better suit your brand voice and strategy. Follow-Up Cadence: Instead of immediate sending, you could introduce a **Wait node after the email crafting to space out follow-ups or integrate with an email sequence tool. CRM Integration: Replace the final **Google Sheets node with an integration to your CRM (e.g., HubSpot, Salesforce) to automatically log these interactions and enrich lead profiles directly within your CRM.
by Baptiste Fort
Automatically Reply to Customer Emails with Airtable, Gmail, and OpenAI Introduction This guide walks you step by step through setting up an automated agent that: Receives emails sent by your customers. Analyzes the content of the email. Generates an appropriate response using an AI model (OpenAI GPT). Stores all information (received email, AI response, date, customer email) in Airtable. Automatically replies to the customer in the same Gmail thread. Prerequisites Before you start, you’ll need: A Gmail account connected to n8n. An Airtable account. An n8n instance (cloud or self-hosted). An OpenAI API key. Prepare the Airtable Base No need to build everything from scratch — here’s a ready-to-use base you can copy: 👉 Open the Airtable base It already contains the following structure: Subject** (text) → email subject. Date** (date/time) → date of reception. Customer Email** (text) → customer’s email address. Message** (long text) → body of the received email. AI Response** (long text) → AI-generated reply. You can reuse it as it is or duplicate it into your Airtable account. 1. Set Up Gmail Trigger in n8n Alright, now that we have our Airtable base ready, we need to capture customer emails. That’s the job of the Gmail Trigger. Basically, this node lies in wait inside your inbox, and as soon as a new message arrives… bam, your workflow fires up. Connect Your Gmail Account In n8n, add a Gmail Trigger node. Click Credential to connect with and select your Gmail account. If you haven’t done it yet, click Add new, connect your Google account, and allow access. Pro tip: don’t worry, it won’t read your personal emails to gossip — everything stays inside your workflow. Basic Settings Poll Times**: select Every Minute. → This way, n8n checks your inbox every minute. Mode**: Message Received. → You want the flow to trigger whenever a customer writes to you. Event**: Message Received. → Same logic, keep it simple. Simplify**: turn it off (OFF). → Why? Because if you enable "Simplify," you only get a stripped-down version of the email. And you want it all: subject, sender, raw message… the full package. Expected Output When you execute the node, you should see: id**: unique identifier of the email. threadId**: conversation identifier (super useful to reply in the same thread). snippet**: a short preview of the email (first lines). From**: your customer’s email address. To**: your email address. Subject**: the subject of the email. payload**: the full body of the email (yep, in base64 — but we’ll handle that later). And that’s it — your Gmail Trigger is set up. In short, the moment a customer writes “Hey, I have an issue with my account,” your workflow kicks in instantly (well, almost — it checks every minute). 2. Set Up the AI Agent in n8n After configuring your Gmail Trigger (which captures incoming customer emails), you now need a brain to take over, analyze the email, and draft a reply. That’s where the AI Agent node comes in. Its Role The AI Agent node is used to: Read the email content (via the Gmail Trigger). Understand the context and tone of the customer. Generate a clear, concise, and human-like response. Prepare a personalized reply that will later be sent back via Gmail and stored in Airtable. In short, it’s your 24/7 support colleague, but coded as a bot. How to Configure It Source for Prompt (User Message)** → choose Define below. Prompt (User Message)** → describe your business and role as if you were training an intern. Example: “You are an AI support agent for a company that sells solar panels. You respond to technical requests, quotes, and customer questions. Your replies must be short, clear, friendly, and precise.” Chat Model** → connect your AI model (e.g. OpenAI GPT-4.1 Mini). Memory (optional but recommended)* → connect a *Conversation Memory** node. → This allows the AI to retain conversation history and better understand follow-ups. Expected Output When you run this node, you should see in the output: A field output containing the automatically generated AI reply. The text should be short, natural, and adapted to the customer’s tone (casual or formal). 👉 With the Gmail Trigger you capture emails, and with the AI Agent you get a reply ready to send — as if you had written it yourself. 3. Save Emails and Responses in Airtable Now that your AI Agent generates replies, you need to store them somewhere to keep a clear record of all interactions. That’s where Airtable comes in. Quick Reminder You’ve already copied my ready-to-use Airtable base: 👉 Access the base This base contains a table Email Support Logs with the following columns: Subject** Date** Customer Email** Message** AI Response** How to Connect Airtable in n8n Add an Airtable node right after your AI Agent. Under Operation, select Create. In Base → choose BASE AGENT IA EMAIL. In Table → select Email Support Logs. Map the Correct Values Then, link the fields as follows: Subject** → {{ $('Email Received').item.json.Subject }} Customer Email** → {{ $('Email Received').item.json.From }} Message** → {{ $('Email Received').item.json.snippet }} AI Response** → {{ $('AI Agent').item.json.output }} Date** → {{ $now }} Expected Output For each new email received: Gmail captures the email. Your AI drafts the reply. All details (email, sender, subject, reply) are automatically stored in your Airtable base. 👉 You now have a fully automated customer support log. 4. Automatically Reply to the Customer in Gmail Now that you’re storing each interaction in Airtable, it’s time to send your AI’s reply directly back to the customer. This closes the loop: customer writes → AI replies → everything gets logged in Airtable. Add the Gmail Reply Node Add a Gmail node right after your AI Agent (or after Airtable if you prefer logging before replying). Under Operation, select Reply. Connect your Gmail account (same credential as your Gmail Trigger). Configure the Reply Thread ID** → {{ $('Email Received').item.json.threadId }} → Ensures the reply is sent in the same conversation thread. To** → {{ $('Email Received').item.json.From }} → Customer’s email address. Subject** → Re: {{ $('Email Received').item.json.Subject }} → The "Re:" keeps the continuity of the conversation. Message Body** → {{ $('AI Agent').item.json.output }} → This is the text automatically generated by your AI. Expected Output When a customer sends an email: Gmail Trigger captures the message. The AI Agent generates a tailored reply. Airtable logs the full interaction. Gmail automatically sends the response in the same conversation thread. Your customer receives a quick, personalized, and natural reply without you typing a single word. 👉 You now have a complete support agent: listen, analyze, log, reply. Want to save hours each week? Visit Agence automatisation 0vni.