by Guillaume Duvernay
Stop duplicating your work! This template demonstrates a powerful design pattern to handle multiple triggers (e.g., Form, Webhook, Sub-workflow) within a single, unified workflow. By using a "normalize and consolidate" technique, your core logic becomes independent of the trigger that started it, making your automations cleaner, more scalable, and far easier to maintain. Who is this for? n8n developers & architects:** Build robust, enterprise-grade workflows that are easy to maintain. Automation specialists:** Integrate the same core process with multiple external systems without repeating yourself. Anyone who values clean design:** Apply the DRY (Don't Repeat Yourself) principle to your automations. What problem does this solve? Reduces duplication:** Avoids creating near-identical workflows for each trigger source. Simplifies maintenance:** Update your core logic in one place, not across multiple workflows. Improves scalability:** Easily add new triggers without altering the core processing logic. Enhances readability:** A clear separation of data intake from core logic makes workflows easier to understand. How it works (The "Normalize & Consolidate" Pattern) Trigger: The workflow starts from one of several possible entry points, each with a unique data structure. Normalize: Each trigger path immediately flows into a dedicated Set node. This node acts as an adapter, reformatting the unique data into a standardized schema with consistent key names (e.g., mapping body.feedback to feedback). Consolidate: All "normalize" nodes connect to a single Set node. This node uses the generic {{ $json.key_name }} expression to accept the standardized data from any branch. From here, the workflow is a single, unified path. Setup This template is a blueprint. To adapt it: Replace the triggers with your own. Normalize your data: After each trigger, use a Set node to map its unique output to your common schema. Connect to the consolidator: Link all your "normalize" nodes to the Consolidate trigger data node. Build your core logic after the consolidation point, referencing the unified data. Taking it further Merge any branches:** Use this pattern to merge any parallel branches in a workflow, not just triggers. Create robust error handling:** Unify "success" and "error" paths before a final notification step to report on the outcome.
by James Carter
This n8n template generates a dynamic weekly sales report from Airtable and sends it to Slack. It calculates key sales metrics like total pipeline value, weighted pipeline (based on deal stage), top deal, closed revenue, and win rate.. all formatted in a clean Slack message. How it works A schedule trigger starts the workflow (e.g., every Monday). It fetches deal data from Airtable, splits open vs closed deals, calculates all metrics with JavaScript, and formats the output. The message is then sent to Slack using Markdown for readability. How to use Update the Airtable credentials and select your base and table with fields: Deal Name, Value, Status, etc. Set the Slack channel in the final node to your preferred sales or ops channel. Requirements Airtable base with relevant deal data (see field structure) Slack webhook or token for sending messages Customising this workflow You can adapt the logic to other CRMs like Salesforce or HubSpot, add charts, or tweak stage weights. You can also change the schedule or add filters (e.g., by rep or region).
by higashiyama
AI Team Morale Monitor Who’s it for For team leads, HR, and managers who want to monitor the emotional tone and morale of their teams based on message sentiment. How it works Trigger: Runs every Monday at 9 AM. Config: Defines your Teams and Slack channels. Fetch: Gathers messages for the week. AI Analysis: Evaluates tone and stress levels. Aggregate: Computes team sentiment averages. Report: Creates a readable morale summary. Slack Post: Sends report to your workspace. How to set up Connect Microsoft Teams and Slack credentials. Enter your Team and Channel IDs in the Workflow Configuration node. Adjust the schedule if desired. Requirements Microsoft Teams and Slack access. Gemini (or OpenAI) API credentials set in AI nodes. How to customize Modify the AI prompts for different insight depth. Replace Gemini with other LLMs if preferred. Change posting platform or format. Note: This workflow uses only linguistic data — no personal identifiers or private metadata.
by LeeWei
⚙️ Sales Assistant Build: Automate Prospect Research and Personalized Outreach for Sales Calls 🚀 Steps to Connect: Google Sheets Setup Connect your Google account via OAuth2 in the "Review Calls", "Product List", "Testimonials Tool", "Update Sheet", and "Update Sheets 2" nodes. Duplicate the mock Google Sheet (ID: 1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4) to your drive and update the documentId in all Google Sheets nodes to match your copy's ID. Ensure the sheet has tabs for "Meeting Data", "Products", and "Success Stories" populated with your data. Setup time: ~5 minutes. OpenAI API Key Go to OpenAI and generate your API key. Paste this key into the credentials for both "OpenAI Chat Model" and "OpenAI Chat Model1" nodes. Setup time: ~2 minutes. Tavily API Key Sign up at Tavily and get your API key. In the "Tavily" node, replace the placeholder api_key in the JSON body with your key (e.g., "api_key": "your-tavily-key-here"). Setup time: ~3 minutes. How it Works • Triggers on a new sales call booking (manual for testing). • Pulls prospect details from Google Sheets and researches their company, tech stack, and updates using Tavily. • Matches relevant products/solutions from your product list and updates the sheet. • Generates personalized email confirmation (subject + body) and SMS using testimonials for relevance. • Updates the sheet with the outreach content for easy follow-up. Setup takes ~10-15 minutes total. All nodes are pre-configured—edit only the fields above. Detailed notes (e.g., prompt tweaks) are in sticky notes within the workflow.
by David Olusola
🎬 YouTube New Video → Auto-Post Link to Slack This workflow automatically checks your YouTube channel’s RSS feed every 30 minutes and posts a message to Slack when a new video is published. It includes the title, description snippet, publish date, and a direct “Watch Now” button. ⚙️ How It Works Check Every 30 Minutes A Cron node runs on a 30-minute interval. Keeps monitoring the channel RSS feed for updates. Fetch YouTube RSS The HTTP Request node retrieves the channel’s RSS feed. Uses the format: https://www.youtube.com/feeds/videos.xml?channel_id=YOUR_CHANNEL_ID Parse RSS & Check for New Video A Code node extracts video info: Title Link Description Published date Sorts by most recent publish date. Ensures only new videos within last 2 hours are processed (avoids duplicate posts). Format Slack Message Builds a rich Slack message with: Video title Description preview Published date Button: “🎥 Watch Now” Post to Slack Sends the formatted message to your chosen Slack channel (default: #general). Includes custom username/icon for branding. 🛠️ Setup Steps 1. Get YouTube Channel RSS Go to your channel page → View Page Source. Find: channel/UCxxxxxxxxxx (your channel ID). Construct RSS feed: https://www.youtube.com/feeds/videos.xml?channel_id=YOUR_CHANNEL_ID Replace YOUR_CHANNEL_ID_HERE in the HTTP Request node. 2. Connect Slack Create a Slack app at api.slack.com. Add OAuth scopes: chat:write, channels:read. Install to your workspace. In n8n, connect your Slack OAuth credentials. 3. Adjust Timing (Optional) Default = runs every 30 minutes. Modify the Cron node if you want faster or slower checks. 📺 Example Slack Output 🎬 New Video Published! How to Automate Your Business with n8n 📅 Published: Aug 29, 2025 Learn how to connect your apps and automate repetitive tasks using n8n… With a clickable 🎥 Watch Now button linking directly to the video. ⚡ With this workflow, your Slack team is always up to date on new YouTube uploads — no manual link sharing needed.
by Dart
Automatically turn incoming support emails into categorized, prioritized tasks in Dart—complete with AI-generated summaries, tags, and sender context. What It Does This workflow captures emails from Gmail, uses an AI model to classify them into one of seven categories (e.g., Bug Report, Billing, Feature Request), and creates a structured task in Dart. Each task includes: Title**: The email subject Tag**: Based on the detected category Priority**: Set by the AI based on content analysis Description**: Includes confidence level, rationale, summary, and the cleaned full email body Comment**: Automatically adds the sender’s name and email for easy reference The workflow also parses and cleans the raw HTML email content, ensuring all data is readable and workflow-ready. Who's It For This template is built for support and operations teams using Dart who want to streamline how incoming emails are sorted and turned into actionable tasks. It’s ideal for organizations managing multiple types of requests and updates from clients, partners, or systems. How to Set Up Import the workflow into n8n Connect your Gmail and Dart accounts Replace the dummy Dartboard ID with your actual board ID Choose your preferred AI model (results may vary depending on model quality) If your target email address is in a google group, use the Filter: "Sender" in the Gmail trigger Requirements n8n account Connected Gmail and Dart account How to Customize the Workflow Modify the category list to match your team’s taxonomy Adjust the AI classification prompt to fine-tune tagging and prioritization Choose your preferred AI model
by vibin
Who it’s for This workflow is built for Shopify store owners using Magic Checkout (Razorpay). Since Shopify’s default abandoned cart recovery doesn’t work with third-party checkouts, you’re left without an easy way to track or follow up. This workflow solves that gap by sending you automatic Telegram alerts with every abandoned cart—so you stay on top of potential sales without lifting a finger. There's sticky notes inside for each node to explain everything you need! What it does The workflow runs automatically every 6 hours. Here’s the flow: Fetch abandoned cart data from Razorpay using the API. Format the data into clean, readable text (customer info, cart details, order value). Send the message directly to your Telegram bot. Instead of logging into Shopify or Razorpay to check, you’ll get a notification straight in Telegram. What you need A Telegram account with a bot (create one via BotFather). Your Telegram bot token and client ID. Your Razorpay API key from your Razorpay dashboard. How to set it up Import this workflow into your n8n workspace. Create a new API profile with your Razorpay credentials. Add your Telegram bot details to the Telegram nodes in n8n. (Optional) Adjust the trigger time—default is every 6 hours, but you can make it run more or less frequently. Why it helps This is a free, no-code workaround for a real Shopify limitation. By automating abandoned cart alerts, you save time, cut manual checks, and follow up faster with customers. Even a single recovered cart can pay off the effort. Plus, you can customize it—add more customer info, link directly to their checkout, or even connect it with Slack or email tools.
by Kamran habib
| N8N Workflow | AI Reddit Problem Detection & Auto-Solution Commenter 🤖 This n8n workflow automates Reddit community engagement by detecting posts that discuss problems and automatically replying with AI-generated solutions — powered by Google Gemini. It’s designed for developers, automation creators, and brands who want to provide helpful, automated responses to Reddit users discussing issues in their niche. How It Works The workflow starts with a Manual Trigger (When clicking ‘Execute workflow’). Search for a Post: It scans the r/n8n subreddit (or any subreddit you set) for recent posts containing the keyword “Why I stopped using”. Filter Posts (If Node): Filters posts that have 2 or more upvotes and non-empty text, ensuring only quality discussions are analyzed. Edit Fields: Extracts post details such as title, body text, upvotes, creation time, and subreddit ID for AI processing. AI Agent + Google Gemini Chat Model: The first AI node analyzes the post and decides whether it’s describing a problem or frustration related to AI automation. Gemini responds with “Yes” or “No.” Conditional Branch (If1 Node): If “Yes,” the post is confirmed as discussing a problem. The workflow then triggers the second AI Agent. AI Agent 2 + Gemini: The second AI node uses Gemini to generate a helpful and concise solution addressing the issue mentioned in the Reddit post (for example, offering a fix, suggestion, or new idea). Merge & Log Data: The AI’s findings (post details + solution) are merged and saved into a connected Google Sheet for tracking community insights. Comment on Reddit: The workflow automatically posts the AI-generated solution as a comment reply on the original Reddit thread, engaging users directly. How To Use Import the provided JSON workflow into your n8n dashboard. Set up the required credentials: Reddit OAuth2 API – for searching and posting comments. Google Gemini (PaLM) API – for AI text analysis and solution generation. Google Sheets API – for logging post data and AI results. Adjust the subreddit name, search keyword, or prompts to fit your niche. Click Execute Workflow to run the automation. Requirements Reddit Developer Account (OAuth2 credentials). Google Gemini (PaLM) API account for AI processing. Google Sheets account for saving analysis results. How To Customize Change the search keyword (e.g., “help with automation,” “issue with API,” etc.). Modify the AI prompts to tailor the solution style (technical, friendly, educational, etc.). Edit the Google Sheet fields to capture more or fewer details. Enable/disable the comment node if you want to manually approve replies before posting. Adjust the Gemini model name (e.g., models/gemini-2.0-flash) or parameters for faster or more creative responses.
by Robert Schröder
AI Image Generation Workflow for Social Media Content Overview This n8n workflow automates the creation of photorealistic AI-generated images for social media content. The workflow uses RunComfy (ComfyUI cloud service) combined with Airtable for data management to create high-quality images based on custom prompts and LoRa models. Key Features Automated Image Generation: Creates photorealistic images using Flux Realism model and custom LoRa models Airtable Integration: Centrally manages content requests, model information, and image status Cloud-based Processing: Utilizes RunComfy servers for powerful GPU processing without local hardware requirements Status Tracking: Monitors generation process and automatically updates database entries Telegram Notifications: Sends success notifications after image completion Technical Workflow Server Initialization: Starts RunComfy server with configured specifications Data Retrieval: Fetches content requests from Airtable database Image Generation: Sends prompts to ComfyUI with Flux Realism + LoRa models Status Monitoring: Checks generation progress in 30-second intervals Download: Downloads completed images Database Update: Updates Airtable with image links and status Server Cleanup: Deletes RunComfy server for cost optimization Prerequisites RunComfy Membership** with API access Airtable Account** with configured database Telegram Bot** for notifications Flux Realism Workflow** in RunComfy library Uploaded LoRa Models** in RunComfy Airtable Schema The database must contain these fields: topic: Content description pose_1: Detailed image prompt LoRa Name Flux: LoRa model name Model: Character name pose_1_drive_fotolink: Link to generated image Bilder erstellt: Generation status Configuration Options Image Resolution: Default 832x1216px (adjustable in ComfyUI parameters) Generation Parameters: 35 steps, Euler sampler, Guidance 2.0 Server Size: "Large" for optimal performance (adjustable based on requirements) Time Intervals: 30s status checks, 50s server initialization This workflow is ideal for content creators who need regular, high-quality, character-consistent images for social media campaigns.
by Rosh Ragel
Automatically Send Monthly Sales Reports from Square via Gmail What It Does This workflow automatically connects to the Square API and generates a monthly sales summary report for all your Square locations. The report matches the figures displayed in Square Dashboard > Reports > Sales Summary. It's designed to run monthly and pull the previous month’s sales into a CSV file, which is then sent to a manager/finance team for analysis. This workflow builds on my previous template, which allows users to automatically pull data from the Square API into n8n for processing. (See here: https://n8n.io/workflows/6358) Prerequisites To use this workflow, you'll need: A Square API credential (configured as a Header Auth credential) A Gmail credential How to Set Up Square Credentials: Go to Credentials > Create New Choose Header Auth Set the Name to Authorization Set the Value to your Square Access Token (e.g., Bearer <your-api-key>) How It Works Trigger: The workflow runs on the 1st of every month at 8:00 AM Fetch Locations: An HTTP request retrieves all Square locations linked to your account Fetch Orders: For each location, an HTTP request pulls completed orders for the previous calendar month Filter Empty Locations: Locations with no sales are ignored Aggregate Sales Data: A Code node processes the order data and produces a summary identical to Square’s built-in Sales Summary report Create CSV File: A CSV file is created containing the relevant data Send Email: An email is sent using Gmail to the chosen third party Example Use Cases Automatically send monthly Square sales data to management for forecasting and planning Automatically send data to an external third party, such as a landlord or agent, who is paid via commission Automatically send data to a bookkeeper for entry into QuickBooks How to Use Configure both HTTP Request nodes to use your Square API credential Set the workflow to Active so it runs automatically Enter the email address of the person you want to send the report to and update the message body If you want to remove the n8n attribution, you can do so in the last node Customization Options Add pagination to handle locations with more than 1,000 orders per month Adjust the date filters in the HTTP node to cover the full calendar month (e.g., use Luxon or JavaScript to calculate start_date and end_date) Why It's Useful This workflow saves time, reduces manual report pulling from Square, and enables smarter automation around sales data — whether for operations, finance, or performance monitoring.
by Ezema Kingsley Chibuzo
📧 What It Does This n8n workflow sends personalized marketing or outreach emails using predefined templates stored in Google Sheets, with SendGrid as the email delivery provider. Instead of relying on dynamic AI content, this setup selects a ready-made template and merges it with business-specific lead data — delivering consistent and fast email personalization at scale. 💡 Why This Workflow? Sometimes, you don’t need the overhead or variability of AI-generated content. Predefined templates give you: ⚡ Faster execution — no calls to AI models 🎯 Total control over tone, formatting, and structure 🛠️ Easy customization using variables like [BusinessName], [Location], etc. 💰 Zero additional cost per email 👤 Who It’s For Freelancers* or *Agencies** running outreach campaigns Startups* or *SMBs** with lead data in Google Sheets Anyone who wants to automate email sending with consistency, control, and low cost. ⚙️ How It Works Manual Trigger starts the workflow. Google Sheets (Leads tab) supplies a list of businesses with fields like name, location, email, category, etc. Loop started to execute each item. Google Sheets (Email Template tab) holds predefined subject and body templates (HTML supported). A random template is selected for each email. Placeholders like [BusinessName] or [Category] are replaced with actual lead info using the Fix Variable (Set) node. The formatted message is sent via SendGrid, using your authenticated sender email. A 1-second wait is added between emails to manage rate limits and avoid spam flags. Loop continues until all leads have been emailed. 🛠 How to Set It Up Import the .json file into your n8n instance. Connect the required credentials: SendGrid API Key (ensure sender domain and identity is verified) Google Sheets OAuth2 Create or duplicate this sample sheet, which contains two tabs and modify to your business interest: Leads Email Template Update the leads and email templates to match your campaign. Click “Execute Workflow” to begin sending emails. 🚀 Want to Scale This? Add additional workflows: 📬 SendGrid Webhook integration to track status & engagements like bounces, opens, and clicks 🔁 Reply tracker via Gmail to update lead status 🤖 AI-based Email Router to label replies as Interested, Not Interested, Others, Forward emails to appropriate department for further engagements. 📆 Follow-up Emails (when there's no email reply) for D+5, D+10 days sequences 📬 Need Help? Feel free to reach out via email: buzanalytics@gmail.com Thanks for using this workflow
by Pramod Kumar Rathoure
Automate Sponsored Deal Emails with n8n + AI 🚀 Managing inbound emails can be exhausting — especially when your inbox is flooded with sponsored deal requests that don’t always fit your brand. Manually reading, filtering, and politely declining each one eats up valuable time. That’s why I built a smart n8n workflow that automatically: Detects sponsored deal inquiries, Decides if they match my criteria, Drafts a professional, courteous reply, Or simply ignores irrelevant messages. The best part? It runs on autopilot. Let’s break down every single node in this workflow. 🔔 1. Gmail Trigger – “Your Inbox Watchdog” Polls your Gmail inbox every minute. Detects new emails instantly. Hands over each email to the next step for analysis. ✂️ 2. Edit Fields (Set Node) – “Extract the Essentials” Pulls out the most important parts of the email: From → Sender’s email address Subject → The email subject line Email Body → The main text content Keeps data structured and ready for AI to process. 🧠 3. AI Agent – “The Smart Classifier” Powered by LangChain + OpenAI. Reads the email content carefully. Outputs two things: isSponsoredEmail → true/false reason → why it decided that way Example: { "isSponsoredEmail": true, "reason": "The email mentions a paid collaboration opportunity." } Structured Output Parser – “Keep It Clean” Ensures the AI response is always structured properly. Forces the output into this format: { "isSponsoredEmail": true/false, "reason": "string" } Prevents messy AI replies from breaking the workflow. 🔀 5. Node – “Decision Maker” Branches logic into two paths: If sponsored** → moves on to draft a polite response. If not sponsored** → sends it to “No Operation” (do nothing). ✍️ 6. AI Agent (Reply Writer) – “Crafts the Perfect Response” If it’s a sponsored email, this node drafts a professional reply. Reply includes: Thanking the sender for reaching out. Explaining sponsorship criteria: Alignment with brand values Relevance for your audience Fit with internal planning cycles Politely declining if the timing isn’t right. Leaving the door open for future opportunities. Tone: professional, warm, and courteous. 📤 7. Gmail Node – “Hit Send!” Takes the AI-generated reply. Sends it directly back to the original sender. No manual typing, no waiting — just instant professionalism. 🚫 8. No Operation – “Do Nothing, Gracefully” If the email isn’t a sponsored deal, the workflow stops here. No unnecessary actions are taken. Keeps your system clean and efficient. 📝 Sticky Notes (Workflow Documentation) To make the workflow easier to understand inside n8n, sticky notes were added: Email Trigger** → Explains inbox polling. Extract** → Notes what fields are being pulled. Process and Validate** → Describes how AI decides sponsorship. Prepare Email Body** → Documents reply drafting process. Reply** → Clarifies auto-reply step. Do Nothing** → Notes what happens if it’s not sponsored. 🌟 Why This Workflow Rocks Saves Hours:** No more manual email filtering. Consistent Replies:** Always professional and brand-friendly. Scalable:** Works for 5 or 500 inbound emails. Customizable:** Easily adapt prompts and conditions to fit your brand. ⚡ Try It Yourself This workflow is built in n8n, an open-source automation tool. You can import the JSON file into your own n8n instance and customize: Your Gmail credentials Your company’s sponsorship guidelines The tone of the AI-generated replies 👉 With just a few tweaks, you’ll have a smart email assistant running on autopilot! 💡 Pro Tip Even if you don’t deal with sponsored deals, you can repurpose this workflow for: Job applications Customer support inquiries Lead qualification The same logic applies — just adjust the AI prompts and reply template.