by Meak
Form Lead Scoring with AI → Google Sheets + Slack When a new lead fills out your Typeform or any other form, this workflow classifies the message with AI, stores it in the right Google Sheet tab, and can send your team a Slack alert. Benefits Get new leads in real time from any form Classify each lead with AI (hot / neutral / cold) Save leads to the correct Google Sheets tab automatically Send Slack alerts for hot leads so you act fast Keep your pipeline clean and easy to scan How It Works Webhook receives a new form submission Parse name, email, phone, message, and timestamp AI analyzes the message and returns hot / neutral / cold Route to the matching Google Sheets tab (Hot, Neutral, Cold) (Optional) Post a Slack message with key details Who Is This For Agencies running paid ads and lead forms Sales teams that need quick triage Coaches, creators, and SaaS teams with waitlists Setup Connect your form tool (Typeform or other) to a webhook Add Google Gemini (or your AI model) credentials Connect Google Sheets (Spreadsheet ID + Tab names) (Optional) Connect Slack and select a channel Test with a few submissions to check routing ROI & Monetization Respond faster to hot leads → higher close rates Save 2–4 hours/week on manual sorting Offer as “AI lead scoring” for clients ($500–$2k/month) Strategy Insights In the full walkthrough, I show how to: Write a short, reliable prompt for clear labels Map form fields cleanly into Sheets Format Slack alerts for quick reading Expand with auto-replies or CRM sync later Check Out My Channel For more AI automation systems that get real results, check out my YouTube channel where I share the exact strategies I use to build automation workflows, win clients, and scale to $20k+ monthly revenue.
by SpaGreen Creative
WooCommerce New Category Alert via WhatsApp Using Rapiwa API This n8n automation listens for the creation of a new WooCommerce product category, fetches all WooCommerce customers, cleans and formats their phone numbers, verifies them using the Rapiwa WhatsApp validation API, sends a WhatsApp message to verified numbers with the new category info, and logs each interaction into a Google Sheet (separately for verified and unverified customers). Who this is for You have a WooCommerce store and want to: Send a promotional message when a new product category is added, Verify customer WhatsApp numbers in bulk, Keep a clear log in Google Sheets of which numbers are verified or not. What it does (high level) Webhook is triggered when a new WooCommerce category is created. Fetches all WooCommerce customers via API. Limits processing to the first 10 customers (for performance/testing). Cleans phone numbers (removes +, spaces, and non-digits). Verifies each number via Rapiwa WhatsApp Verify API. If verified: sends WhatsApp message with new category info, logs as Verification = verified, Status = sent. If not verified: logs as Verification = unverified, Status = not sent. Processes users in batches with delays to avoid rate limiting. How it works (step-by-step) Trigger**: Webhook node is triggered by WooCommerce category creation. Format Data**: Category details (name, slug, description) are parsed. Get Customers**: Fetch all WooCommerce customers using the WooCommerce API. Limit**: Only the first 10 are processed. Loop & Clean**: Loop over each customer, clean phone numbers and extract info. Verify Number**: Send HTTP POST to https://app.rapiwa.com/api/verify-whatsapp. Decision Node**: Use If node to check if exists == true. Send Message**: If verified, send WhatsApp message with category details. Append to Sheet**: Log verified and unverified customers separately in Google Sheets. Wait + Batch Control**: Use Wait and SplitInBatches nodes to control flow and prevent throttling. Example verify body (HTTP Request node): { "number": "{{ $json['WhatsApp No'] }}" } Customization ideas Send images, videos, or template messages if supported by Rapiwa. Personalize messages using name or category data. Increase delay or reduce batch size to minimize risk of rate limits. Add a second sheet to log full API responses for debugging and auditing. Best practices Test on small batches before scaling. Only send messages to users who opted in. Store API credentials securely using n8n’s credentials manager. Ensure your Google Sheet column headers match exactly with what's expected. Key Improvements Made Clarified the trigger source as a Webhook from WooCommerce category creation. Fixed inconsistency in the "What it does" section (originally referenced reading from Google Sheets, but your workflow starts from WooCommerce, not Sheets). Standardized terminology to match n8n nodes: Webhook, Loop, HTTP Request, etc. Aligned the flow exactly with your nodes: Webhook → Format → Get Customers → Limit → Loop → Clean → Verify → If → Send/Log → Wait → Repeat Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support WhatsApp Support: Chat Now Discord: Join SpaGreen Community Facebook Group: SpaGreen Support Website: https://spagreen.net Developer Portfolio: Codecanyon SpaGreen
by Ossian Madisson
This n8n template allows you to automatically upload all attached files from incoming emails to Google Drive with optional filters on sender, receiver and file types This template is built to be customized for your specific needs. This template has the core logic and n8n node specific references sorted to work with dynamic file names throughout the workflow. Use cases Store invoices in Google Drive Save recurring reports in Google Drive Post recurring reports to another n8n workflow for further processing Archive files to Google Drive by email Save all files received by a client in a dedicated Google Drive folder Good to know The workflow is designed to not use custom code, preferring built-in nodes in n8n How it works Trigger on incoming emails with attachments (Optional) filter on sender/recipient Splits all attachments of the email into separate items (Optional) filter attachment based on file type (Optional) treat attachments with different file types through different paths Upload attachment to Google Drive Mark the email read and archive it after all attachments has been processed Notify in Slack how many attachments was processed in the execution How to use Configure Google credentials (1,2,6) Configure Slack credentials (7) Configure or disable sender/receiver filter (3) Configure or disable file type filter (4) Configure or disable file type paths (5) Configure destination folder (6) Build on this to fit your use case Note: there's a similar template with the same basics but with less ready-made modifications and no loop that allows us to archive the email and notify to Slack when done.
by Roshan Ramani
Who's it for Business owners, freelancers, and professionals who use Cal.com or Calendly for scheduling and want instant WhatsApp notifications for all booking activities without constantly checking their email or calendar apps. What it does This workflow automatically monitors your calendar booking events from both Cal.com and Calendly, then sends beautifully formatted WhatsApp messages to notify you of: New bookings with guest details Rescheduled meetings with old vs new times Cancelled appointments Meeting completion notifications (Cal.com only) The AI agent intelligently formats each message with emojis, proper spacing, and all relevant booking information including guest names, emails, dates, times, locations, and notes. How it saves you time Stop checking multiple platforms: Instead of constantly monitoring email notifications, calendar apps, and booking dashboards, get everything instantly on WhatsApp - the app you're already using throughout the day. Immediate awareness: Know about booking changes the moment they happen, not hours later when you finally check your email. This means you can quickly adjust your schedule, prepare for meetings, or reach out to clients if needed. Mobile-first notifications: Since most people check WhatsApp more frequently than email, you'll never miss important booking updates again. Perfect for busy professionals who are often away from their desk. How it works When a booking event occurs on either platform, the workflow captures the data, merges it through an aggregator, then uses Google Gemini AI to generate a professionally formatted WhatsApp message that gets sent instantly to your phone. Requirements Cal.com and/or Calendly account with API access WhatsApp Business API credentials Google API key for Gemini Active webhook endpoints for both calendar services How to customize Update the recipient phone number in the WhatsApp node Modify message templates in the AI Agent's system prompt Add additional calendar platforms by connecting more trigger nodes Customize emoji usage and message formatting to match your brand
by Cheng Siong Chin
Introduction Automates travel itinerary creation by searching flights and hotels via APIs, then uses AI to generate personalized recommendations delivered as HTML emails through Gmail. How It Works Webhook receives travel requests, searches Skyscanner and Booking.com APIs in parallel, merges results, uses AI to create optimized itineraries, formats as HTML email, sends via Gmail. Workflow Template Webhook → Parse & Validate → Parallel Searches (Flights: Skyscanner | Hotels: Booking.com) → Merge Data → AI Generate Itinerary → Format HTML Email → Send Gmail → Webhook Response Workflow Steps Trigger & Validate: Webhook receives request, extracts destination/dates/budget/preferences, validates data, converts to API parameters. Parallel Search: Skyscanner fetches flights with price/duration/airline. Booking.com retrieves hotels with ratings/pricing. Merge combines both into single JSON object. AI Generation: AI analyzes merged data, evaluates by price/duration/rating, creates itinerary with daily schedule, pairings, costs, and rankings. Delivery: Converts JSON to HTML email with tables and booking links. Gmail sends email. Webhook confirms success. Setup Instructions API Configuration: Add Skyscanner and Booking.com API credentials in n8n. Gmail Setup: Configure OAuth2 authentication. Customization: Copy webhook URL, adjust validation rules, modify AI prompts and HTML template. Prerequisites Skyscanner API key Booking.com API credentials Gmail with OAuth2 n8n instance Use Cases Personal vacation planning Business travel arrangements Customization Add APIs (Kiwi, Expedia) Filter by budget, Modify email design Benefits Saves 2-3 hours per trip Real-time pricing comparison
by Toshiya Minami
Who’s it for Teams building health/fitness apps, coaches running check-ins in chat, and anyone who needs quick, structured nutrition insights from food photos—without manual logging. What it does / How it works This workflow accepts a food image (URL or Base64), uses a vision-capable LLM to infer likely ingredients and rough gram amounts, estimates per-ingredient calories, and returns a strict JSON summary with total calories and a short nutrition note. It normalizes different payloads (e.g., Telegram/LINE/Webhook) into a common format, handles transient errors with retries, and avoids hardcoded secrets by using credentials/env vars. Requirements Vision-capable LLM credentials (e.g., gpt-4o or equivalent) One input channel (Webhook, Telegram, or LINE) Environment variables for model name/temperature and optional request validation How to set up Connect your input channel and enable the Webhook (copy the test URL). Add LLM credentials and set LLM_MODEL and LLM_TEMPERATURE (e.g., 0.3). Turn on the workflow, send a sample payload with imageUrl, and confirm the strict JSON output. (Optional) Configure a reply node (Telegram/Slack or HTTP Response) and a logger (Google Sheets/Notion). How to customize the workflow Outputs**: Add macros (protein/fat/carb) or micronutrient fields. Units**: Convert portion descriptions (piece/slice) to grams with your own mapping. Languages**: Toggle multilingual output (ja/en). Policies**: Tighten validation (reject low-confidence parses) or add manual review steps. Security**: Use signed/temporary URLs for private images; mask PII in logs. Data model (strict JSON) { "dishName": "string", "ingredients": [{ "name": "string", "amount": 0, "calories": 0 }], "totalCalories": 0, "nutritionEvaluation": "string" } Notes Rename all nodes clearly, include sticky notes explaining the setup, and never commit real IDs, tokens, or API keys.
by Aayushman Sharma
AI-powered feedback analysis and response automation from Jotform to Google Sheets and Slack Who’s it for Businesses using Jotform to collect customer feedback who want to automate sentiment analysis, email responses, and internal reporting — especially eCommerce, support, or CX teams looking to scale without hiring more agents. How it works This workflow captures every new Jotform submission, extracts key fields, and uses OpenAI GPT-4.1 to classify sentiment and root cause. Negative feedback or ratings ≤3:** Generates a recovery email, logs it in Google Sheets, and alerts your CX team on Slack. Positive or neutral feedback:** Sends a personalized thank-you email with a link to leave a public review. All submissions are stored in Google Sheets for analytics and performance tracking. How to set up Visit Jotform and sign up (if you’re new) or log in to your existing account. Click your profile icon (top-right) → go to Settings. In the left sidebar, open the API section. Click Create New Key. Set permission to Full Access (recommended for full workflow functionality). Copy the generated API key. In n8n, open Credentials → Create New → JotForm API. Paste your API key and save it as JotForm account. Test the connection by running your Jotform Trigger node. Jotform Configuration Guide (for n8n Feedback Workflow) Follow these steps to connect your Jotform to n8n: 1️⃣ Create the Feedback Form Build a form in Jotform with the following exact fields: Field Label - Field Type - Example Input Full Name - Short Text - Customer Name Email - Email - test@gmail.com Whatsapp Number - Short Text- 91xxxxxxxxxx Order Id - Short Text - #2321 Ratings - Ratings - 3 Please describe your experience in detail. - Long Text - “Feedback” Would you recommend us to others? - Single Choice (Yes/No) - No 💡 Tip: Keep field labels identical — n8n uses these exact keys for data mapping. Requirements Jotform API key (Full Access) OpenAI API key SMTP or transactional email service Google service account or Authenticate using Oauth2 Slack token How to customize You can easily adjust rating thresholds, AI prompts, or email templates to match your brand’s tone. The structure is modular — no code changes needed, just edit nodes and re-deploy.
by Roshan Ramani
Product Video Creator with Nano Banana & Veo 3.1 via Telegram Who's it for This workflow is perfect for: E-commerce sellers needing quick product videos Social media marketers creating content at scale Small business owners without video editing skills Product photographers enhancing their offerings Anyone selling on Instagram, TikTok, or mobile-first platforms What it does Transform basic product photos into professional marketing videos in under 2 minutes: Send a product photo to your Telegram bot Nano Banana analyzes and enhances your image with studio-quality lighting Veo 3.1 generates an 8-second vertical video with motion and audio Receive your scroll-stopping marketing video automatically Perfect for creating engaging vertical content without expensive tools or editing expertise. How it works Input → User sends product photo via Telegram with optional caption AI Analysis → Nano Banana analyzes product and generates detailed enhancement prompt Image Enhancement → Nano Banana creates commercial-grade photo (9:16, studio lighting) Video Generation → Veo 3.1 creates 8-second 1080p video with motion and audio Delivery → Auto-polls status every 30s, delivers final video to Telegram Requirements Google Cloud Platform Vertex AI API** enabled for Veo 3.1 Generative Language API** enabled for Nano Banana OAuth2 credentials Get credentials from Google Cloud Console Telegram Bot token from @BotFather n8n Self-hosted or cloud instance Setup Import workflow JSON into n8n Add credentials: Telegram API (bot token) Google OAuth2 API (client id and secret) Google PaLM API (API key) Update your Project ID in both Veo 3.1 nodes Activate workflow and test with a product photo How to customize Aspect Ratio: Choose 9:16 (vertical), 16:9 (horizontal) in "Generate Enhanced Image" and "Initiate veo 3.1" nodes Duration: Set 2 to 8 seconds by adjusting durationSeconds in "Initiate veo 3.1 Video Generation" Quality: Select 720p or 1080p by changing resolution in "Initiate veo 3.1 Video Generation" Audio: Enable or disable background music by toggling generateAudio in "Initiate veo 3.1 Video Generation" Enhancement Style: Match your brand aesthetic by editing the prompt in "AI Design Analysis" node Polling Time: Adjust retry interval by changing wait time in "Processing Delay (30s)" node Key Features 🔐 Direct Google APIs – No third-party services. Uses Nano Banana and Veo 3.1 directly via Google Cloud for maximum reliability and privacy ⚡ Fully Automated – Send photo, receive video. Zero manual work required 🎨 Studio Quality – Nano Banana delivers professional lighting, composition, and AI-powered color grading 📱 Mobile-First – Default 9:16 vertical format optimized for Instagram Reels, TikTok, and Stories 🔄 Smart Retry Logic – Automatically polls Veo 3.1 status every 30 seconds until video generation completes 🎵 Audio Included – Veo 3.1 generates background music automatically (can be disabled)
by Marth
⚙ How It Works The automated blacklist monitor is designed to be a proactive, not reactive, tool. Here is the high-level process: Scheduled Checks: At regular intervals (e.g., every 30 minutes or every hour), a monitoring script or service sends a request to a list of predefined DNS blacklists (DNSBLs) and real-time blackhole lists (RBLs). Lookup Queries: For each check, the system performs a lookup query for our specified domains and IP addresses against the various blacklists. It essentially asks, "Is our-ip-address.com on your list?" Status Evaluation: The blacklist service responds with a status: either the asset is clean or it is listed. Alerting Mechanism: If a new listing is detected, the system immediately triggers a notification. This alert contains key information like the asset that was blacklisted (domain or IP), the specific blacklist it was found on (e.g., Spamhaus), and the time of detection. Status Logging: The status of each asset (clean or listed) is logged in a central dashboard. This allows us to track the history of an IP or domain, see when a listing occurred, and when it was resolved. Setup Steps Follow these steps to set up the automated blacklist monitor. Select a Service: Choose a reliable blacklist monitoring service. Services like MXToolBox, HetrixTools, or Uptime Robot (with custom checks) are popular options. Create an Account: Sign up and create an account for your organization on the chosen platform. Add Monitored Assets: Navigate to the "Monitors" or "Assets" section within the service's dashboard. Add all of the following: Your primary domain names (e.g., yourcompany.com). All outbound mail server IP addresses. Any other publicly facing IP addresses associated with your business. Configure Notification Channels: Set up how and where you want to receive alerts. The best practice is to configure multiple channels for redundancy: Email: Send alerts to a group alias like security@yourcompany.com or it-alerts@yourcompany.com. Chat/IM: Integrate with a communication tool like Slack or Microsoft Teams and create a dedicated channel (e.g., #blacklist-alerts). Ticketing System: Configure the service to automatically open a ticket in your help desk software (e.g., Jira, ServiceNow) when a new listing is found. Set Up Check Frequency: Configure how often you want the system to perform checks. A frequency of every 15 to 30 minutes is a good starting point for a high-priority service like email. Create a Runbook: A runbook is a document that outlines the steps to take when an alert is received. Create and share a runbook with your team that includes: Confirmation: How to verify the listing. Investigation: Initial steps to find the root cause (e.g., checking mail logs for spam). Delisting: How to submit a delisting request to the specific blacklist provider. Initial Testing: Once everything is configured, perform a manual check to ensure the system is working and that all notification channels are active. You can often do this with a "test check" button within the monitoring service's dashboard.
by uzman
What This Workflow Does Automatically handles customer support emails about Shopify orders using AI. When customers email questions like "Where is my order?" or "When will it arrive?", this workflow: Receives the email via Gmail trigger Classifies the email to identify order-related queries (WISmo - Where Is My Order) Retrieves real-time order data from your Shopify store Generates a friendly, personalized response using AI Sends an automatic reply directly to the customer Key Features ✅ Smart email classification (handles only order-related queries) ✅ Real-time Shopify order lookup ✅ Natural, empathetic AI responses ✅ Fully automated - no manual intervention needed ✅ Non-order emails are filtered out automatically Setup Requirements Estimated setup time: 20-30 minutes You'll need: Gmail account (for receiving/sending emails) Shopify store with Admin API access OpenRouter API key (for AI model) Setup steps: Gmail: Connect your Gmail account to the trigger node (watch this tutorial) OpenRouter: Sign up at openrouter.ai and add your API key Shopify: Create a custom app in your Shopify admin with read_orders permission Detailed setup instructions are included in the workflow's sticky notes. Use Cases E-commerce stores with high email volume Small businesses wanting to automate order inquiries Shopify merchants looking to improve response times Support teams needing 24/7 automated assistance Notes **Only responds to order-related emails automatically Other emails are ignored (passed to "No Operation" node) Customize the AI's tone and behavior in the Agent node's system message Safe and secure - only reads order data, doesn't modify anything**
by Asfandyar Malik
Automatically track new freelance job postings from any platform using Apify Actors, process the results, and get real-time WhatsApp alerts for new opportunities. This workflow saves jobs to Google Sheets for record-keeping and sends instant notifications so you never miss a client lead. Who’s it for Freelancers, agencies, and business developers who want to monitor platforms like Upwork, Fiverr, or Freelancer for new jobs — without checking manually. How it works The workflow starts when a chat message or trigger event is received. It runs an Apify Actor to scrape job listings from your target platform. The dataset results are fetched via Apify’s API. A JavaScript Code node processes and filters the results for relevant jobs. The data is saved to Google Sheets for tracking and reporting. A formatted job summary is created and sent as a WhatsApp message directly to your phone. How to set up Create or use an Apify Actor for scraping job listings from your chosen site. Connect your Apify API token in n8n under credentials. Link your Google Sheets account and specify the sheet for storing job data. Add your WhatsApp Cloud API or Twilio WhatsApp credentials. Test the workflow by sending a trigger message — new jobs will be fetched, stored, and sent to WhatsApp. Requirements Apify account with API access Google Sheets integration WhatsApp Cloud API or Twilio account n8n Cloud or self-hosted instance How to customize 🧩 Add filters: Include keyword or budget filters in the JavaScript node. 🔄 Schedule runs: Replace the chat trigger with a Cron node for hourly or daily tracking. 📊 Change destination: Save results to Notion, Airtable, or Slack instead of Google Sheets. 🗣️ Multi-channel alerts: Send updates to Discord, Telegram, or Email as well. Stay ahead of freelance opportunities — this n8n workflow finds jobs, logs them, and alerts you instantly via WhatsApp.
by Robert Breen
This n8n workflow checks daily ad spend totals from a Google Sheet and sends a Slack alert if spend exceeds $100. It can be scheduled to run automatically or manually triggered for testing. This is perfect for marketing teams who want to monitor budget spikes in near real-time. ✅ Key Features 📥 Google Sheets Integration**: Pulls raw spend data from a shared spreadsheet. 📆 Scheduled or Manual Execution**: Can run daily on a schedule or manually for testing. 📈 Aggregates Spend**: Summarizes daily totals from raw data. 🧠 Logic Check**: Alerts only when spend exceeds a certain threshold. 🔔 Slack Alerts**: Sends instant notification to a specified channel. 🧰 What You'll Need Google Cloud Project** with Sheets API enabled OAuth2 Credential** for Google Sheets Slack Bot Token** with permission to post to your workspace Your Google Sheet link and tab name** 📎 Copy this Sample Google Sheet to Use: Marketing Data Sheet - Copy Me 🔧 Step-by-Step Setup 1️⃣ Schedule or Manual Trigger Node**: Schedule Workflow or Test Workflow Purpose**: Either run daily via a cron-like rule or manually trigger the flow. 2️⃣ Get Google Sheet Data Node**: Get Data What it does**: Fetches all rows from your connected sheet. Setup**: Go to Google Cloud Console Create a new project Enable Google Sheets API Create OAuth2 credentials for a desktop or web application Connect your Google account in n8n via OAuth2 Grant access to the sheet you want to read (ensure it's shared with your OAuth email) Use the copied sheet's link when connecting in n8n 3️⃣ Summarize Spend by Day Node**: Sum spend by Day What it does**: Groups the dataset by Date and sums the Spend ($) column Requirements**: Your sheet must have a header row with Date and Spend ($) as columns 4️⃣ Sort by Most Recent Date Node**: Sort Dates Descending What it does**: Sorts all entries by the Date field so that the most recent day is first Custom JavaScript**: const items = $input.all(); items.sort((a, b) => new Date(b.json.Date) - new Date(a.json.Date)); return items; 5️⃣ Select Top Result Node**: Keep only Last Day What it does**: Captures the top row (most recent day) for evaluation Fields**: Sets only Date and sum_Spend_($) to keep things clean 6️⃣ Check Spend Threshold Node**: Check if Spend over $100 What it does**: Uses an IF node to compare sum_Spend_($) against a 100 threshold Logic**: sum_Spend_($) > 100 7️⃣ Send Slack Notification Node**: Send Slack Message What it does**: Sends a message to a Slack channel if the threshold is exceeded Setup**: Go to Slack API Create a new app Enable chat:write and channels:read scopes under OAuth & Permissions Install the app to your workspace Copy the OAuth Token into your Slack credentials in n8n Select your target channel from the dropdown (must be public or the bot must be invited) Message**: The spend for the most recent day is over $100 8️⃣ No Action if Under Budget Node**: Do Nothing. Under 100 Purpose**: This path simply ends the flow with no action if spend is below the threshold 👤 Created By Robert Breen Automation Consultant | AI Workflow Designer | n8n Expert 📧 rbreen@ynteractive.com 🌐 ynteractive.com 🔗 LinkedIn 🏷️ Tags slack marketing automation budget alert daily schedule google sheets threshold logic n8n spend tracking data summarization