by Nabin Bhandari
Who’s it for This template is designed for bakeries, event planners, and e-commerce platforms that want to automatically generate custom cake designs. It’s also ideal for marketers or digital creators who need personalized celebratory visuals for social media or email campaigns. How it works This workflow converts simple user input (e.g., “Sarah’s Birthday”) into a creative cake design: Webhook: Captures user input from the Bolt frontend form. OpenAI GPT: Generates a detailed and creative cake design prompt. Replicate Flux Schnell: Produces a unique cake image using the AI-generated prompt. HTTP Response: Sends the final cake image back to the frontend. How to set up Import this template into n8n. Add your OpenAI API Key under n8n Credentials for the OpenAI Chat Model node. Add your Replicate API Token as an HTTP Header Auth credential (do not hardcode it). Update the Webhook node URL in the Bolt frontend form to send a POST request to n8n. (Optional) Customize the OpenAI prompt in the Prompt Generator node to adjust cake style, colors, or decorations. Requirements n8n account (cloud or self-hosted). OpenAI API Key** for prompt generation. Replicate API Token** for AI image generation. A Bolt frontend or any form that can call the webhook endpoint. How to customize the workflow Replace "cake" with any product type (e.g., mugs, greeting cards, or T-shirts). Add a database node (Google Sheets or Supabase) to log user requests and images. Implement input moderation by adding an OpenAI moderation node before the prompt generation. Frontend
by Rodrigue Gbadou
How it works Behavioral analytics**: Real-time analysis of product usage and engagement signals Churn prediction**: Predictive model identifying at-risk customers 15 days before Smart upselling**: Personalized recommendations based on usage and profile Retention campaigns**: Automated retention campaigns with dynamic offers Set up steps Product analytics**: Connect Mixpanel, Amplitude or proprietary analytics Billing system**: Integrate Stripe, Chargebee, Recurly for billing data Customer data**: Synchronize your CRM with complete customer history Email/SMS platforms**: Configure SendGrid, Twilio for communications Pricing rules**: Define your pricing matrix and promotional offers ML pipeline**: Configure predictive model training Key Features 🔮 Churn prediction**: At-risk customer identification with 85% accuracy 💰 Smart upselling**: Personalized recommendations increasing ARPU by 35% ⚡ Proactive interventions**: Automated actions before customer churns 📊 Revenue optimization**: Price optimization based on willingness to pay 🎯 Dynamic segmentation**: Real-time customer groups updates 🔄 A/B testing**: Automated testing of retention strategies 📈 LTV maximization**: Customer lifetime value optimization 🛡️ Dunning management**: Automated payment failure handling
by Vincent Belmehel
Purpose This workflow automatically creates a subscriber in a given Beehiiv publication when a new opt-in is registered in a given Systeme.io sales funnel. Good to know: the integration with Systeme.io is done at the sales funnel level, not at the account level. If you have several sales funnels, you can use the same workflow several times. Quick Setup Configure your sales funnel in Systeme.io to create and trigger a webhook after an opt-in Open the “On New Systeme.io Optin” node to find the webhook URL needed to configure your sales funnel on Systeme.io Configure the “Configure Workflow” node Add your Beehiiv publication ID If you know the subscriber's first and last name and want to send it to Beehiiv, configure the custom field names for first and last name Add one or more email addresses to which to send alert notifications in the event of a problem (separated by commas). If you have not already done so : Connect your Beehiiv account in the “Create New Beehiiv Subscriber” node Connect your Gmail account in the “Send Email Alert (Beehiiv API error)” node How It Works As soon as a new opt-in is registered on your sales funnel, Systeme.io triggers the workflow (via a webhook) Only requests actually coming from Systeme.io are considered (whitelisting of their IP addresses for security reasons) A new subscriber is added to your Beehiiv publication (via an API call) If available in Systeme.io, UTM tags (utm_source, utm_medium and utm_campaign) are transferred to Beehiiv to correctly track where your subscribers are coming from If an error occurs during the Beehiiv API call, an alert notification is sent to you (via email) Requirements A Systeme.io account A Beehiiv account with an active publication A Gmail account Benefits Automate & scale your email marketing efforts seamlessly No more manual tasks to keep your subscriber list always up-to-date Focus on creating a newsletter that stands out, not on the technical side Check Out My Other Templates 👉 https://n8n.io/creators/belmehel/
by Oneclick AI Squad
Description AI-Powered Multi-language Customer Support In this guide, we'll walk you through setting up a comprehensive AI-driven workflow that handles customer messages in any language through WhatsApp and email channels, providing intelligent translation, summarization, and automated responses. Ready to revolutionize your customer support? Let's get started! What's the Goal? Automatically handle customer messages** from WhatsApp and email in any language Translate and validate** incoming messages with smart language detection Generate intelligent summaries** with priority classification for support teams Provide automated responses** back to customers via their preferred channel Log all interactions** to database for tracking and analytics Send notifications** to admin team for high-priority cases Deliver 24/7 multilingual customer support** without manual effort Integrate seamlessly** with WhatsApp Business API and email systems By the end, you'll have a fully automated customer support system that handles multilingual communications, prioritizes urgent cases, and maintains comprehensive interaction logs. Why Does It Matter? Manual handling of multilingual customer support can be overwhelming and inefficient. Here's why this workflow is a game-changer: Break Global Language Barriers**: Handle customer inquiries in any language effortlessly Never Miss Important Messages**: Priority detection ensures urgent cases get immediate attention Save 80% of Manual Work**: Automation handles routine inquiries and escalates complex ones 24/7 Availability**: Respond to customers anytime, enhancing satisfaction and retention Professional Customer Experience**: Consistent, well-formatted responses in the customer's language Complete Audit Trail**: Database logging provides insights and accountability Scalable Solution**: Handle growing customer base without proportional staff increase Think of it as your always-on, multilingual customer support team that never sleeps and never misses a beat. How It Works Here's the step-by-step magic behind the automation: Step 1: Multi-Channel Message Capture WhatsApp Trigger**: Captures incoming WhatsApp messages via Business API webhook Email Trigger (IMAP)**: Monitors designated customer support email for new messages Both channels feed into the same processing pipeline for consistent handling Step 2: Data Normalization & Validation Data Normalizer & Validator**: Standardizes message format regardless of source channel Extracts key information: sender details, message content, timestamp, channel source Validates data integrity and handles malformed inputs gracefully Step 3: Smart Language Translation Smart Language Translator**: Automatically detects source language and translates to English Preserves original message context and cultural nuances Stores both original and translated versions for reference Step 4: Enhanced Summary & Priority Processing Enhanced Summary & Priority Processor**: Uses AI to analyze translated content Generates concise summaries highlighting key customer concerns Priority Classification**: Automatically tags messages as: 🔴 High Priority: Urgent issues, complaints, billing problems 🟡 Medium Priority: Product inquiries, general support 🟢 Low Priority: Thank you messages, general feedback Creates structured output with priority flags for support team triage Step 5: Message Source Intelligence Check Message Source**: Determines optimal response channel and method Routes WhatsApp messages back to WhatsApp, emails back to email Maintains conversation context and threading Step 6: Automated Customer Response Customer WhatsApp Auto-Response**: Sends acknowledgment via WhatsApp Customer Email Auto-Response**: Sends professional email replies Responses include: Confirmation of message receipt Estimated response time based on priority Reference number for tracking Next steps or immediate solutions for common issues Step 7: Database Logging & Analytics Log to Database**: Stores complete interaction history including: Original message and translation Priority classification and reasoning Response sent and timestamp Customer contact information Channel and source metadata Enables analytics, reporting, and quality assurance Step 8: Admin Notifications & Alerts Admin Email Notification**: Immediate email alerts for high-priority cases Admin WhatsApp Alert**: SMS/WhatsApp notifications for urgent escalations Workflow Completion & Metrics**: Performance tracking and completion confirmations Workflow Architecture ┌─────────────────┐ ┌──────────────────┐ │ WhatsApp │ │ Email Trigger │ │ Trigger │ │ (IMAP) │ └─────────┬───────┘ └─────────┬────────┘ │ │ └──────────┬───────────┘ │ ┌──────────▼──────────┐ │ Data Normalizer & │ │ Validator │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ Smart Language │ │ Translator │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ Enhanced Summary & │ │ Priority Processor │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ Check Message │ │ Source │ └─────────┬┬──────────┘ ┌┘└┐ ┌──────────▼┐ ┌▼──────────┐ │ Customer │ │ Customer │ │ WhatsApp │ │ Email │ │ Response │ │ Response │ └──────────┬┘ └┬──────────┘ └┬─┬┘ ┌─────────▼─▼─────────┐ │ Log to Database │ └─────────┬───────────┘ │ ┌─────────▼───────────┐ │ Admin Email │ │ Notification │ └─────────┬───────────┘ │ ┌─────────▼───────────┐ │ Admin WhatsApp │ │ Alert │ └─────────┬───────────┘ │ ┌─────────▼───────────┐ │ Workflow Completion │ │ & Metrics │ └─────────────────────┘ How to Use the Workflow? Importing a workflow in n8n is straightforward and allows you to use pre-built or shared workflows to save time. Below is a step-by-step guide to importing the Multi-language Customer Support workflow in n8n. Steps to Import a Workflow in n8n 1. Obtain the Workflow JSON Source the Workflow: Workflows are typically shared as JSON files or code snippets. You might receive them from: The n8n community (e.g., n8n.io workflows page) A colleague or tutorial (e.g., a .json file or copied JSON code) Exported from another n8n instance Format**: Ensure you have the workflow in JSON format, either as a file (e.g., customer-support-workflow.json) or as text copied to your clipboard 2. Access the n8n Workflow Editor Log in to n8n: Open your n8n instance (via n8n Cloud or your self-hosted instance) Navigate to the Workflows tab in the n8n dashboard Open a New Workflow: Click Add Workflow to create a blank workflow, or open an existing workflow if you want to merge the imported workflow 3. Import the Workflow Option 1: Import via JSON Code (Clipboard): In the n8n editor, click the three dots (⋯) in the top-right corner to open the menu Select Import from Clipboard Paste the JSON code of the workflow into the provided text box Click Import to load the workflow into the editor Option 2: Import via JSON File: In the n8n editor, click the three dots (⋯) in the top-right corner Select Import from File Choose the .json file from your computer Click Open to import the workflow Configuration Requirements Essential Setup Notes: WhatsApp Integration: Configure WhatsApp Business API credentials in the WhatsApp Trigger node Set up webhook URL in your WhatsApp Business account Test connection with a sample message Email Configuration: Set up IMAP credentials for your customer support email in the Email Trigger node Configure SMTP settings for outbound email responses Ensure proper email authentication (SPF, DKIM records) Translation Services: Add Google Translate API credentials in the Smart Language Translator node Alternative: Configure Azure Translator or AWS Translate based on preference Set up language detection and translation parameters Database Connection: Configure database credentials in the "Log to Database" node Create required tables for storing customer interactions: CREATE TABLE customer_interactions ( id SERIAL PRIMARY KEY, customer_contact VARCHAR(255), channel VARCHAR(50), original_message TEXT, translated_message TEXT, summary TEXT, priority VARCHAR(20), response_sent TEXT, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); Admin Notifications: Set up admin email addresses in notification nodes Configure WhatsApp/SMS credentials for urgent alerts Customize notification templates and thresholds Priority Classification Rules: Customize JavaScript code in "Enhanced Summary & Priority Processor" node Define keywords and patterns for priority detection: // High Priority Keywords const urgentKeywords = ['urgent', 'emergency', 'billing issue', 'not working', 'broken', 'refund', 'complaint']; // Medium Priority Keywords const mediumKeywords = ['question', 'how to', 'support', 'help', 'information']; // Classification logic if (urgentKeywords.some(keyword => message.toLowerCase().includes(keyword))) { priority = 'HIGH'; } else if (mediumKeywords.some(keyword => message.toLowerCase().includes(keyword))) { priority = 'MEDIUM'; } else { priority = 'LOW'; } Response Templates: Customize auto-response templates in both WhatsApp and Email response nodes Include your company branding and contact information Set up response templates for different priority levels and common scenarios Testing and Deployment: Test Each Channel: Send test messages via WhatsApp and email to verify end-to-end flow Verify Translations: Test with messages in different languages Check Database Logging: Confirm all interactions are properly stored Test Admin Notifications: Verify alerts are sent for high-priority cases Monitor Performance: Set up workflow execution monitoring and error handling Your Multi-language Customer Support workflow is now ready to handle customer communications 24/7 across multiple channels with intelligent automation and human oversight where needed!
by Jimleuk
This n8n template watches a Gmail inbox for support messages and creates an equivalent issue item in Linear. How it works A scheduled trigger fetches recent Gmail messages from the inbox which collects support requests. These support requests are filtered to ensure they are only processed once and their HTML body is converted to markdown for easier parsing. Each support request is then triaged via an AI Agent which adds appropriate labels, assesses priority and summarises a title and description of the original request. Finally, the AI generated values are used to create an issue in Linear to be actioned. How to use Ensure the messages fetched are solely support requests otherwise you'll need to classify messages before processing them. Specify the labels and priorities to use in the system prompt of the AI agent. Requirements Gmail for incoming support messages OpenAI for LLM Linear for issue management Customising this workflow Consider automating more steps after the issue is created such as attempting issue resolution or capacity planning.
by Srinivasan KB
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. What is DIGIPIN? DIGIPIN (Digital Pincode) is a 10-character alphanumeric code introduced by India Post. It maps any 3x3 meter square in India to a unique digital address. This helps precisely locate homes, shops, or landmarks, especially in areas where physical addresses are inconsistent or missing. What this workflow does This workflow creates a fully offline DIGIPIN microservice using only JavaScript - no external APIs are used. You get two HTTP endpoints: GET /generate-digipin?lat={latitude}&lon={longitude} → returns a DIGIPIN GET /decode-digipin?digipin={code} → returns the latitude and longitude You can plug this into any system to: Convert GPS coordinates to a DIGIPIN Convert a DIGIPIN back to coordinates How it works An HTTP Webhook node receives the request A JS Function node either encodes or decodes based on input The result is returned as a JSON response All the logic is handled inside the workflow - no API keys, no external calls. Why use this Fast and lightweight Easily extendable: you can connect this to forms, CRMs, apps, or spreadsheets Ideal for field agents, address validation, logistics, or rural operations
by GiovanniSegar
Video walkthrough https://www.youtube.com/watch?v=OwIFK-r-NtQ Summary of agent This agent can write and rewrite its own rules, allowing you to mold its behavior. It receives rules from a database as system instructions and has tools to create, edit, or delete them. This is a great baseline for new agent builds. You can tell it things like "Next time, use present tense when talking about this subject" and it will use a tool to save this as a rule, then receive that instruction in all future iterations. How to start using it Option 1: With a Postgres database (e.g., Supabase) Supabase Schema: Create a table (e.g., agent_rules) with the following columns: id: bigint (Primary Key, auto-incrementing) created_at: timestamp with time zone (Default: now()) rule_text: text agent: text Workflow Updates: Update the Postgres credentials in the "Get rules from database," "Insert rule into database," and "Execute query on rule database" nodes. Update the agent value (currently 'TestAgent') in the "Get rules from database" and "Insert rule into database" nodes if you want a different agent name. Update the Anthropic API credentials. Option 2: With Google Sheets Google Sheet Setup: Create a Google Sheet with columns for rule_text and agent. Workflow Updates: Example Google Sheets nodes are included. You will need to: Connect your Google Sheets credentials. Select your Google Sheet (with rule_text and agent columns) in all relevant Google Sheets nodes. Replace the existing Postgres nodes ("Get rules from database", "Insert rule into database", "Execute query on rule database") with the configured Google Sheets nodes. Update the agent value (currently 'TestAgent') in the Google Sheets nodes if you want a different agent name. Update the Anthropic API credentials. Agent Instructions: Update the agent's system message and remove the database schema section as it is no longer relevant
by M Shehroz Sajjad
Monitor BeyondPresence video agent conversations in real-time to automatically score leads (0-100+) based on buying signals and send instant Slack alerts when hot opportunities or competitors are mentioned. This template helps sales teams prioritize leads immediately, never miss competitor mentions, and respond to high-intent prospects while they're still engaged. How it works Real-time webhook** processes each user message as it happens during calls Scoring engine** analyzes for buying signals (+points) and objections (-points) Competitor detection** instantly identifies when alternatives are mentioned Smart routing** sends alerts to different Slack channels based on urgency Hot leads** (70+ score) trigger immediate notifications with recommendations Call summary (Optional)** provides final qualification score when conversation ends Set up steps Connect Slack OAuth2 - Use n8n's built-in Slack integration (no webhooks needed!) Create Slack channels - Set up #sales-hot-leads, #sales-competitors, #sales-qualified Add webhook to BeyondPresence - Copy URL from n8n to BeyondPresence Settings → Webhooks Customize competitors - Edit the scoring node to add your specific competitor names Adjust scoring weights (optional) - Tune point values for your sales process Setup time: 10-15 minutes Requirements: BeyondPresence account, Slack workspace admin access
by Jimleuk
This n8n demonstrates how to build a simple Google Drive MCP server to search and get contents of files from Google Drive. This MCP example is based off an official MCP reference implementation which can be found here -https://github.com/modelcontextprotocol/servers/tree/main/src/gdrive How it works A MCP server trigger is used and connected to 1x Google Drive tool and 1x Custom Workflow tool. The Google Drive tool is set to perform a search on files within our Google Drive folder. The Custom Workflow tool downloads target files found in our drive and converts the binaries to their text representation. Eg. PDFs have only their text contents extracted and returned to the MCP client. How to use This Google Drive MCP server allows any compatible MCP client to manage a person or shared Google Drive. Simple select a drive or for better control, specify a folder within the drive to scope the operations to. Connect your MCP client by following the n8n guidelines here - https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.mcptrigger/#integrating-with-claude-desktop Try the following queries in your MCP client: "Please help me search for last month's expense reports." "What does the company policy document say about cancellations and refunds?" Requirements Google Drive for documents. OpenAI for image and audio understanding. MCP Client or Agent for usage such as Claude Desktop - https://claude.ai/download Customising this workflow Add additional capabilities such as renaming, moving and/or deleting files. Remember to set the MCP server to require credentials before going to production and sharing this MCP server with others!
by Jimleuk
This n8n template shows you how to connect Github's Free Models to your existing n8n AI workflows. Whilst it is possible to use HTTP nodes to access Github Models, The aim of this template is to use it with existing n8n LLM nodes - saves the trouble of refactoring! Please note, Github states their model APIs are not intended for production usage! If you need higher rate limits, you'll need to use a paid service. How it works The approach builds a custom OpenAI compatible API around the Github Models API - all done in n8n! First, we attach an OpenAI subnode to our LLM node and configure a new OpenAI credential. Within this new OpenAI credential, we change the "Base URL" to point at a n8n webhook we've prepared as part of this template. Next, we create 2 webhooks which the LLM node will now attempt to connect with: "models" and "chat completion". The "models" webhook simply calls the Github Model's "list all models" endpoint and remaps the response to be compatible with our LLM node. The "Chat Completion" webhook does a similar task with Github's Chat Completion endpoint. How to use Once connected, just open chat and ask away! Any LLM or AI agent node connected with this custom LLM subnode will send requests to the Github Models API. Allowing your to try out a range of SOTA models for free. Requirements Github account and credentials for access to Models. If you've used the Github node previously, you can reuse this credential for this template. Customising this workflow This template is just an example. Use the custom OpenAI credential for your other workflows to test Github models. References https://docs.github.com/en/github-models/prototyping-with-ai-models https://docs.github.com/en/github-models
by Jimleuk
Mistral OCR is a super convenient way to parse and extract data from multi-page PDFs or single images using AI. What makes it special and differs it from the competition is that Mistral OCR also performs document page splitting and markdown conversion. This helps reduce dependencies required for document parsing workflows where tools like StirlingPDF. Read the official documentation on Mistral OCR API here: https://docs.mistral.ai/capabilities/document/#tag/ocr/operation/ocr_v1_ocr_post How it works To access Mistral-OCR, you'll need to use Mistral Cloud API via the HTTP request node Mistral OCR can only accept 2 file types: PDF and Image. Here, we use 2 different request to the Mistral-OCR API to parse a bank statement PDF and an screenshot of a bank statement to extract the tables. Next, we explore a more secure method of uploading documents to the Mistral OCR API by using Mistral's cloud storage. In example 2, we first store a copy of our documents to Mistral cloud and then generate a signed URL to retreive the file before sending it to Mistral OCR. This ensures the file is not accessible publicly and protects it from unauthorised access. Finally, another way to use Mistral-OCR is via document understanding. This allows you to ask questions about the document rather than extract contents from it. In example 3, I demonstrate this use-case asking Mistral-small to tell me how many deposits are shown in the bank statement. How to use Ensure your documents are either publicly accessible for Mistral-OCR or upload them to Mistral Cloud. Alternatively, signed urls from AWS S3 or Cloudflare R2 should also work. Requirements Mistral Cloud account and API Key. You'll also need credit on your account to use Mistral-OCR. Customising the workflow Mistral-OCR also works for images such as charts and diagrams so try using it on Financial Reports. Mistral-OCR is even cheaper with batching enabled. This returns your results within 24hrs but is half the price per page.
by Agent Studio
Overview This workflow allows you to trigger custom logic in n8n directly from Retell's Voice Agent using Custom Functions. It captures a POST webhook from Retell every time a Voice Agent reaches a Custom Function node. You can plug in any logic—call an external API, book a meeting, update a CRM, or even return a dynamic response back to the agent. Who is it for For builders using Retell who want to extend Voice Agent functionality with real-time custom workflows or AI-generated responses. Prerequisites Have a Retell AI Account A Retell agent with a Custom Function node in its conversation flow (see template below) Set your n8n webhook URL in the Custom Function configuration (see "How to use it" below) (Optional) Familiarity with Retell's Custom Function docs Start a conversation with the agent (text or voice) Retell Agent Example To get you started, we've prepared a Retell Agent ready to be imported, that includes the call to this template. Import the agent to your Retell workspace (top-right button on your agent's page) You will need to modify the function URL in order to call your own instance. This template is a simple hotel agent that calls the custom function to confirm a booking, passing basic formatted data. How it works Retell sends a webhook to n8n whenever a Custom Function is triggered during a call (or test chat). The webhook includes: Full call context (transcript, call ID, etc.) Parameters defined in the Retell function node You can process this data and return a response string back to the Voice Agent in real-time. How to use it Copy the webhook URL (e.g. https://your-instance.app.n8n.cloud/webhook/hotel-retell-template) Modify the Retell Custom Function webhook URL (see template description for screenshots) Edit the function Modify the URL Modify the logic in the Set node or replace it with your own custom flow Deploy and test: Retell will hit your n8n workflow during the conversation Extension Ideas Call a third-party API to fetch data (e.g. hotel availability, CRM records) Use an LLM node to generate dynamic responses Trigger a parallel automation (Slack message, calendar invite, etc.) 👉 Reach out to us if you're interested in analyzing your Retell Agent conversations.