by Stephan Koning
WhatsApp Micro-CRM with Baserow & WasenderAPI Struggling to manage WhatsApp client communications? This n8n workflow isn't just automation; it's your centralized CRM solution for small businesses and freelancers. How it works Capture Every Message:** Integrates WhatsApp messages directly via WasenderAPI. Effortless Contact Management:** Automates contact data standardization and intelligently manages records (creating new or updating existing profiles). Rich Client Profiles:** Retrieves profile pictures and decrypts image media, giving you full context. Unified Data Hub:** Centralizes all conversations and media in Baserow, no more scattered interactions. Setup Steps Setup is incredibly fast; you can deploy this in under 15 minutes. Here's what you'll do: Link WasenderAPI:** Connect your WasenderAPI webhooks directly to n8n. Set up Baserow:** Duplicate our pre-built 'Contacts' (link) and 'Messages' (link) Baserow table templates. Secure Your Data:** Input your API credentials (WasenderAPI and Baserow) directly into n8n. Every single step is fully detailed in the workflow's sticky notes – we've made it foolproof. Requirements What do you need to get started? An active n8n instance (self-hosted or cloud). A WasenderAPI.com subscription or trial. A Baserow account. Note: Keep the flow layout as is! This will ensure that the flow is running in the correct order.
by Rahul Joshi
Description Automatically scan your Stripe customers daily to detect duplicates and keep your customer database clean. This workflow uses advanced fuzzy matching for emails and names, logs results to Airtable for review, and notifies your team in Slack with actionable insights. 💳🧹💬 What This Template Does Runs every day at 2:00 AM via scheduled trigger ⏰ Fetches all customers from Stripe 💳 Analyzes for potential duplicates using email and name similarity 🔍 Logs duplicate suggestions into Airtable for review 📊 Sends formatted Slack notifications with detailed reports 💬 Key Benefits Keeps your Stripe customer database clean and deduplicated 🧹 Reduces errors in reporting and billing 💵 Provides confidence scoring for duplicate matches 🔑 Centralized review and approval in Airtable 📋 Real-time team notifications in Slack with actionable insights 📲 Features Daily 2 AM schedule with cron expression 0 2 * * * Email-based duplicate detection 📧 Name similarity matching using Levenshtein distance 👤 Smart grouping: oldest record becomes the primary 🏷️ Logs duplicates to Airtable with status tracking 🔄 Slack notifications with statistics, match types, and Airtable link ⚡ Requirements n8n instance (cloud or self-hosted) Stripe API credentials with customer read access Airtable account with a table for duplicate tracking Slack App & Bot Token with chat:write permission Target Audience SaaS companies managing large Stripe customer databases 🏢 Finance and billing teams wanting clean records 💰 Support teams reducing customer confusion from duplicates 🎧 Growth and marketing teams ensuring CRM accuracy 📈 Any business that relies on Stripe for recurring billing 💼 Step-by-Step Setup Instructions Set up Stripe API credentials in n8n (use your Secret Key). Create an Airtable base and table with required fields (Customer IDs, Email, Similarity Score, Status). Add Slack API credentials and choose your target channel. Replace environment variables for Airtable (AIRTABLE_BASE_ID, AIRTABLE_TABLE_ID) and Slack (SLACK_CHANNEL_ID). Import this workflow into n8n and connect your credentials. Run the workflow once manually to validate data flows. Enable the workflow for daily automated duplicate detection. ✅
by PollupAI
This workflow provides a powerful way to automatically document and maintain an inventory of all your n8n workflows in a Google Sheet. By running on a schedule or manually, it fetches details about every workflow on your instance, processes the key information, and then populates a spreadsheet. This creates a centralized, up-to-date dashboard for auditing, monitoring, and understanding your automation landscape. Who is this for? This workflow is ideal for n8n administrators, developers, and teams who manage multiple workflows. If you need a clear and simple way to track all your automations, their components, and their statuses without manually checking each one, this template is for you. It's particularly useful for maintaining technical documentation, auditing node usage across your instance, and quickly finding specific workflows. What problem is this workflow solving? As the number of workflows on an n8n instance grows, it becomes challenging to keep track of them all. Questions like "Which workflows use the HubSpot node?", "Which workflows are inactive?", or "When was this workflow last updated?" become difficult to answer. This workflow solves that problem by creating a single source of truth in a Google Sheet. It automates the process of cataloging your workflows, saving you time and ensuring your documentation is always current. What this workflow does Triggers Execution: The workflow can be initiated either on a set schedule (via the Scheduled Start node) or manually (via the Manual Start node). Fetches All Workflows: The Get All Workflows node connects to your n8n instance via the API to retrieve a complete list of your workflows and their associated data. Processes Workflows Individually: The Loop Through Each Workflow node iterates through each retrieved workflow one by one so they can be processed individually. Extracts Key Information: The Extract Workflow Details node uses custom code to process the data for each workflow, extracting essential details like its name, ID, tags, and a unique list of all node types it contains. Updates Google Sheet: The Add/Update Row in Google Sheet node then takes this information and appends or updates a row in your designated spreadsheet, using the workflow ID as a unique key to prevent duplicates. Waits and Repeats: The Pause to Avoid Rate Limits node adds a short delay to prevent issues with API limits before the loop continues to the next workflow. Setup Configure Get All Workflows Node: Select the Get All Workflows node. In the 'Credentials' section, provide your n8n API credentials to allow the workflow to access your instance's data. Prepare Your Google Sheet: Create a new Google Sheet. Set up the following headers in the first row: id, title, link, tags, nodes, CreatedAt, UpdatedAt, Active, Archived. Configure Add/Update Row in Google Sheet Node: Select the Add/Update Row in Google Sheet node. Authenticate your Google account in the 'Credentials' section. In the 'Document ID' field, enter the ID of your Google Sheet. You can find this in the sheet's URL (e.g., .../spreadsheets/d/THIS_IS_THE_ID/edit). Select your sheet from the 'Sheet Name' dropdown. Under 'Columns', ensure the id field is set as the 'Matching Columns' value. This is crucial for updating existing rows correctly. Activate the Workflow: Choose your preferred trigger. You can enable the Schedule Trigger to run the sync automatically at regular intervals. Save and activate the workflow. How to customize this workflow to your needs Track Different Data**: You can modify the Extract Workflow Details node to extract other pieces of information from the workflow JSON. For example, you could parse the settings object or count the total number of nodes. Remember to add a corresponding column in your Google Sheet and map it in the Google Sheets node. Add Notifications**: Add a notification node (like Slack, Discord, or Email) after the Loop Through Each Workflow node (in the second output) to be alerted when the sync is complete or if an error occurs. Filter Workflows**: You can add an IF node after the Loop Through Each Workflow node to filter which workflows get added to the sheet. For instance, you could choose to only log active workflows ({{ $('Loop Through Each Workflow').item.json.active }} is true) or workflows containing a specific tag. Adjust Wait Time**: The Pause to Avoid Rate Limits node is set to pause between each entry. You can adjust this time or remove it entirely if you have a small number of workflows and are not concerned about hitting API rate limits.
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 Avkash Kakdiya
How it works This workflow captures new leads from Typeform, instantly checks if their budget is above $5,000, and prioritizes them for faster sales follow-up. High-budget leads are enriched in HubSpot as contacts with detailed properties, and a priority task is created for the sales team. Leads are then routed based on their source (Facebook or SurveyMonkey), logged into Google Sheets for marketing or campaign tracking, and finally, a Slack notification is sent to alert the team in real time. Step-by-step Capture & Qualify Leads The workflow triggers on new Typeform submissions. It evaluates the budget field to identify high-priority leads (>$5,000). CRM Enrichment High-priority leads are automatically created or updated as contacts in HubSpot. A priority follow-up task is logged in HubSpot with the lead’s budget details. Source-Based Routing If the lead comes from Facebook or SurveyMonkey, their details are logged in a Google Sheet. This ensures marketing and campaign teams can analyze and track leads separately. Team Notifications Once logged, the workflow sends a Slack message to the sales/marketing channel. The message includes the lead’s name, email, phone, budget, and source, ensuring instant visibility for follow-up. Why use this? Automatically qualifies high-value leads based on budget. Syncs lead details seamlessly with HubSpot CRM. Routes leads by source for better campaign tracking. Keeps sales and marketing teams aligned with real-time Slack alerts. Cuts down manual effort, ensuring faster response times and higher conversion rates.
by Joe Swink
This workflow is a simple example of using n8n as an AI chat interface into Appian. It connects a local LLM, persistent memory, and API tools to demonstrate how an agent can interact with Appian tasks. What this workflow does Chat interface: Accepts user input through a webhook or chat trigger Local LLM (Ollama): Runs on qwen2.5:7b with an 8k context window Conversation memory: Stores chat history in Postgres, keyed by sessionId AI Agent node: Handles reasoning, follows system rules (helpful assistant persona, date formatting, iteration limits), and decides when to call tools Appian integration tools: List Tasks: Fetches a user’s tasks from Appian Create Task: Submits data for a new task in Appian (title, description, hours, cost) How it works A user sends a chat message The workflow normalizes fields such as text, username, and sessionId The AI Agent processes the message using Ollama and Postgres memory If the user asks about tasks, the agent calls the Appian APIs The result, either a task list or confirmation of a new task, is returned through the webhook Why this is useful Demonstrates how to build a basic Appian connector in n8n with an AI chat front end Shows how an LLM can decide when to call Appian APIs to list or create tasks Provides a pattern that can be extended with more Appian endpoints, different models, or custom system prompts
by Jay Emp0
This workflow automatically backs up all public Postgres tables into a GitHub repository as CSV files every 24 hours. It ensures your database snapshots are always up to date updating existing files if data changes, or creating new backups for new tables. How it works: Schedule Trigger – Runs daily to start the backup process. GitHub Integration – Lists existing files in the target repo to avoid duplicates. Postgres Query – Fetches all table names from the public schema. Data Extraction – Selects all rows from each table. Convert to CSV – Saves table data as CSV files. Conditional Upload – If the table already exists in GitHub → Update the file. If new → Upload a new file. Postgres Tables Preview GitHub Backup Preview Use case: Perfect for developers, analysts, or data engineers who want daily automated backups of Postgres data without manual exports keeping both history and version control in GitHub. Requirements: Postgres credentials with read access. GitHub repository (OAuth2 connected in n8n).
by Edisson Garcia
🚀 Google Drive Image Enhancement with Gemini nano banana This workflow automates image enhancement by integrating Google Drive with Google Gemini. It fetches unprocessed images from a source folder, applies AI-driven transformations based on a customizable prompt (e.g., clean and realistic product backgrounds), and uploads the enhanced results into a destination folder—streamlining e-commerce catalog preparation or creative pipelines. 🔑 Key Features Customizable Prompt Node** → Easily adjust the style/instructions for Gemini (e.g., backgrounds, lighting, focus). Google Drive Integration** → Automatically fetches images from a source folder and uploads results to a target folder. AI Processing via Gemini** → Converts original images to Base64, sends them with the prompt to Gemini, and returns enhanced versions. Image Filtering** → Processes only files whose mimeType contains "image". Loop Handling** → Iterates over all images in the source folder until all are processed. ⚙️ Setup Instructions Configure Prompt Open the promt node. Replace the text with your desired Gemini instructions (e.g., "Add a clean, realistic background for baby products"). Set Google Drive Folders In origin_folder → set Search Query to the name of the source folder (with unprocessed images). In destination_folder → set Search Query to the name of the target folder (to save results). Credentials Provide valid Google Drive OAuth2 credentials for both Drive nodes. Provide a Google Gemini API credential for the banana-request node. Run the Workflow Trigger from the init node. Workflow will download → convert → send to Gemini → reconvert → upload results automatically. 🛠 Customization Guidance Modify the prompt text to change how Gemini processes the images (background, style, product focus). Swap Search Query for folder IDs in Drive nodes if you need more precise targeting. Extend the workflow by chaining post-processing (e.g., watermarking, resizing, or tagging metadata). © 2025 Innovatex • Automation & AI Solutions • innovatexiot.carrd.co • LinkedIn
by OwenLee
Description 💸💬 Slack Pro is powerful — but the price hurts, especially for growing teams. This workflow is designed as a low-cost alternative solution that provides some Slack Pro functions (searchable history + AI summaries) while you stay on the free Slack plan (or minimal paid seats). What is the advantage? 🧠 AI Slack assistant on demand – @mention the bot in any channel to get clear summaries of recent discussions (“yesterday”, “last 7 days”, “this week”, etc.). 🗄️ External message history – recent messages are routinely saved into Google Drive, so important conversations live outside Slack’s 90-day / 10k-message limit. 💰 Cost-efficient setup – rely on Slack free plan + a little Google Drive storage + low-cost AI API, instead of paying Slack Pro ($8.75 USD per user / month). 📚 Business value – you keep the benefits you wanted from Slack Pro (memory, context, easy catch-up) while avoiding a big monthly bill. 🧠 Upgrade your Slack for free with AI chat summaries & history archiving 👥 Who’s it for 💰 Teams stuck on Slack Free because Pro is too expensive (e.g. founders, small teams) Want longer history and better context, but can’t justify per-seat upgrades. Need “Pro-like” benefits (search, memory, recap) in a budget-friendly way. ⚙️ How it works 📝 Slack stays as your main chat tool: People talk in channels the way they already do. 🤖 You add a bot powered by this workflow: When someone @mentions it with something like (@SlackHistoryBot summarize this week). 📆 On a schedule (e.g. monthly), it backs up channels: Walks through channels the bot can access and saves recent messages (e.g. last 30 days) as a CSV file into Google Drive. 🛠️ How to set up 🔑 Connect credentials (once) Slack (Bot / App): recommend other tutorial video Create and configure a bot. Create a credential. Invite the bot to channels you want to cover. Google Drive Connect a Google account for storage. Create a folder like Slack History (Archived) in Drive and select it in the workflow. AI Provider (e.g. DeepSeek) Grab any LLM API key. Plug it into the AI node so summaries use that model. 🚀 Quick Start Import the JSON workflow. Attach your credentials. Save and activate the workflow. Try a real-world test: In a test channel, have a short conversation. Then try @(your bot name) summarize today. Check that archives appear: Manually trigger the “archive” part from your automation tool. You should see files named after your channels and time period in Google Drive. 🧰 How to Customize the Workflow Limit where it runs Only invite the bot to “high value” channels (projects, clients, leadership). This keeps both AI and storage usage under control. Adjust archive frequency ⏰ Monthly is usually enough; weekly only for critical channels. Less frequent archives = fewer operations = lower cost. *Customize the summary style (system prompt) *📃 What language to use (e.g. Chinese by default, or English, or both). How to structure the summary (topics, bullets, separators). What to focus on (projects, decisions, tasks, risks, etc.). 📩 Help & customize other slack function Contact: owenlzyxg@gmail.com
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 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