by WeblineIndia
Retail – New Product Drop Notifications This workflow automatically detects when a new product is created in WooCommerce and instantly notifies internal teams through Slack and email. At the same time, it logs all product details into Google Sheets for tracking and reporting. A centralized data formatting step ensures consistent and reusable product data across all nodes. Quick Implementation Steps Import the workflow JSON into n8n. Connect WooCommerce, Slack, Gmail and Google Sheets credentials. Review the Format Product Details node for field mappings. Select the Slack channel and Google Sheet. Activate the workflow. What It Does This workflow listens for new product creation events from WooCommerce. When a product is created, the workflow extracts key product attributes such as name, price, status, permalink and images and prepares them in a single centralized configuration node. Using this standardized data, the workflow sends a real-time Slack notification to inform internal teams, sends a formatted HTML email announcing the product launch and appends the same product information into a Google Sheet for historical reference and reporting. By centralizing data preparation and reusing it across all downstream nodes, the workflow remains easy to maintain, highly readable and simple to extend for future requirements. Who’s It For This workflow is ideal for: E-commerce teams using WooCommerce Marketing teams managing product launches Operations teams maintaining product logs Sales teams needing instant product visibility Business owners tracking new product releases Prerequisites To use this workflow, you need: An active n8n instance (self-hosted or cloud) WooCommerce REST API credentials Slack workspace with API access Gmail account with OAuth2 access Google Sheets API access A Google Sheet with predefined columns How to Use & Setup Import the workflow JSON into n8n. Configure WooCommerce – New Product Created with your WooCommerce credentials. Review the Format Product Details node to verify product field mappings. Configure Notify Team on Slack and select the target Slack channel. Configure Send Product Launch Email and update the recipient email if required. Configure Log Product in Google Sheets and select the target spreadsheet and sheet. Save and activate the workflow. Once activated, the workflow runs automatically whenever a new product is created in WooCommerce. How To Customize Nodes Format Product Details** Add or remove product attributes such as SKU, categories or tags. Modify how images are processed or stored. Slack Notification** Customize message format, emojis or mentions. Email Notification** Adjust branding, layout or additional product details. Google Sheets Logging** Add more columns like product ID, category or creator. Add-ons (Optional Enhancements) This workflow can be extended to: Prevent duplicate product entries in Google Sheets Route Slack notifications to different channels by category Send emails to multiple stakeholder groups Add approval or review steps before notifications Integrate with CRM or ERP systems Generate daily or weekly product launch summaries Use Case Examples Marketing teams receiving instant alerts for new product launches. Operations teams maintaining a centralized product creation log. Sales teams staying updated on new offerings. Business owners tracking product launch activity over time. Teams ensuring consistent communication across Slack, email and reports. There can be many additional use cases depending on business needs. Troubleshooting Guide | Issue | Possible Cause | Solution | |------|---------------|----------| | Slack message not sent | Invalid Slack credentials | Reconnect Slack API credentials | | Email not delivered | Gmail OAuth expired | Reauthorize Gmail account | | Google Sheet not updated | Sheet permissions missing | Verify Google Sheets access | | Images missing | Product has no images | Check WooCommerce product data | | Workflow not executing | Workflow inactive | Activate the workflow | Need Help? If you need help setting up, customizing or extending this workflow or want to build similar automations tailored to your business, our n8n developers at WeblineIndia can assist with advanced workflow design and automation solutions.
by Avkash Kakdiya
How it works This workflow monitors a Notion database for new or updated tasks and checks if the scheduled time is available in Google Calendar. It logs every task into Google Sheets for tracking and auditing. Based on availability, it either creates a calendar event or sends a conflict notification email. The workflow also updates the task status in Sheets to reflect success or failure. Step-by-step Trigger task updates from Notion** Get Task – Watches for new or updated tasks in the Notion database. Check Availability – Queries Google Calendar to check if the selected time slot is free. Log data and evaluate availability** Record – Stores task details in Google Sheets for tracking. If – Checks whether the time slot is available based on calendar results. Create calendar event if available** Create an event – Adds the task as an event in Google Calendar. Update Status – Marks the task as successfully scheduled in Google Sheets. Handle scheduling conflicts** Send Error – Sends an email notification about the calendar conflict. Update Status1 – Updates the task status as failed or unavailable in Google Sheets. Why use this? Prevents double-booking by checking calendar availability automatically Keeps a centralized log of all tasks and their scheduling status Sends instant alerts when scheduling conflicts occur Reduces manual effort in managing tasks across tools Improves visibility and reliability of task scheduling workflows
by isaWOW
Description Paste any sales call recording URL into a form — this n8n workflow automatically transcribes the call using WayinVideo, extracts structured CRM data with AI, and saves a complete report directly to your shared Google Doc.** No manual note-taking, no missed action items, no forgotten follow-ups. Just submit the recording and your CRM notes write themselves. Built for sales teams, digital marketing agencies, and freelancers who want to turn every client call into structured, searchable CRM data — automatically. What This Workflow Does This automation handles your complete call-to-CRM pipeline: Form-triggered input** — Salesperson submits a Zoom or Google Meet recording URL plus client details via a simple web form and the workflow starts instantly AI transcription** — WayinVideo automatically generates a speaker-labeled transcript from the recording, identifying who said what and when Smart polling loop** — Waits and retries every 45 seconds until transcription is fully complete before moving forward AI-powered CRM extraction** — GPT-4o-mini analyzes the full transcript and extracts deal status, action items, client objections, buying signals, pricing discussed, and next follow-up date Auto-save to Google Docs** — Appends the complete CRM report to your shared team Google Doc with a timestamp and separator for every call Zero manual work** — No editing, no copy-paste, no summarizing. Submit the URL and your CRM updates itself Setup Requirements Tools You'll Need Active n8n instance (self-hosted or n8n Cloud) WayinVideo account with API access OpenAI account with API access (GPT-4o-mini) Google account with Google Docs access Estimated Setup Time: 15–20 minutes Step-by-Step Setup 1. Get Your WayinVideo API Key WayinVideo is the transcription engine that converts your call recording into a speaker-labeled text transcript. Go to WayinVideo and create or log into your account Navigate to your Dashboard → API section Copy your Bearer API token Open the 2. WayinVideo — Submit Transcript node in n8n Replace YOUR_WAYIN_API_KEY in the Authorization header with your actual token Open the 4. WayinVideo — Get Transcript node Replace YOUR_WAYIN_API_KEY in that node's Authorization header as well > ⚠️ The API key appears in two separate nodes — Submit Transcript and Get Transcript. You must replace it in both or the workflow will fail at the polling step. 2. Connect Your OpenAI Account OpenAI's GPT-4o-mini is the AI brain that reads the transcript and writes the structured CRM report. In n8n, go to Credentials → Add Credential → OpenAI API Paste your OpenAI API key (get it from platform.openai.com → API Keys) Open the OpenAI Chat Model — GPT-4o-mini node Select your newly added OpenAI credential from the dropdown 3. Connect Google Docs and Set Your Document This is where every completed CRM report gets saved automatically. In n8n, go to Credentials → Add Credential → Google Docs OAuth2 API Complete the Google OAuth authentication flow Open the 7. Google Docs — Save CRM Report node Select your Google Docs credential Replace YOUR_GOOGLE_DOC_URL_OR_ID with your actual Google Doc ID How to find your Google Doc ID: Open your Google Doc in the browser. The URL will look like: https://docs.google.com/document/d/1aBcDeFgHiJkLmNoPqRsTuVwXyZ/edit Copy only the long string of characters between /d/ and /edit — that is your Doc ID. 4. Activate the Workflow and Share the Form Toggle the workflow Active at the top of the n8n editor ✅ Click the 1. Form — Call Recording + Details node Copy the Production Form URL Share this URL with your sales team — anyone can now submit call recordings without needing access to n8n How It Works (Step by Step) Step 1 — Web Form Trigger A salesperson opens the form and fills in four fields: the call recording URL (Zoom, Google Meet, or any accessible video link), the client or company name, their own name, and the product or service discussed in the call. Clicking submit triggers the entire workflow instantly. Step 2 — Submit Recording to WayinVideo The workflow sends the recording URL to the WayinVideo transcription API. WayinVideo processes the audio, identifies different speakers automatically, and returns a Job ID. That Job ID is stored and used in the next check to retrieve the completed transcript. Step 3 — Wait 45 Seconds The workflow pauses for 45 seconds to give WayinVideo time to process the recording. This prevents the next step from checking too early and receiving an empty or incomplete response. Step 4 — Poll for Transcript Result Using the Job ID from Step 2, the workflow calls the WayinVideo results endpoint to check whether the transcript is ready. The response includes a transcript array with each speaker's lines, their speaker label, and a timestamp in milliseconds. Step 5 — Is the Transcript Ready? (Smart Retry Loop) A check runs to see whether the transcript array contains any data: YES (transcript ready)** → The workflow moves forward and passes the full transcript to the AI report generator NO (still processing)** → The workflow loops back to Step 3, waits another 45 seconds, and checks again automatically This retry loop runs on its own every 45 seconds until transcription is complete — no manual re-runs needed. Step 6 — AI Agent Generates CRM Report GPT-4o-mini receives the full speaker-labeled transcript alongside the call details from the form. It analyzes the conversation and writes a structured CRM report covering: call summary, action items, deal status with reasoning, client objections, buying signals, pricing discussed, next follow-up timeline, and overall call sentiment. Step 7 — Save Report to Google Docs The completed CRM report is appended to your shared Google Doc. Each entry is separated by a clear header line showing the client name, salesperson name, and exact timestamp — so your full call history stays organized and searchable in one document. Key Features ✅ Zero manual CRM entry — AI extracts and writes all CRM data from the raw transcript automatically ✅ Speaker identification — WayinVideo labels who is speaking at each point, so the AI knows exactly who is the salesperson and who is the client ✅ Smart retry loop — Auto-checks every 45 seconds until transcription is complete, no timeouts, no manual re-runs ✅ Deal status classification — AI automatically categorizes each call as Hot Lead, Warm Lead, Cold Lead, Negotiating, Closed Won, or Closed Lost with a one-line reason ✅ Objection and buying signal detection — Every client concern and every positive signal is pulled out and listed separately ✅ Team-ready form — Share one URL with your whole sales team, no n8n access needed ✅ Timestamped entries — Every report is saved with an exact date and time so your call history stays chronologically organized ✅ Supports any recording platform — Works with Zoom, Google Meet, Loom, or any publicly accessible video URL Customisation Options Send a Slack notification after each report is saved: Add a Slack node after the 7. Google Docs — Save CRM Report step. Map the client name, deal status, and salesperson name into the message so your sales manager gets an instant alert every time a new call is logged. Switch to GPT-4o for higher accuracy: Open the OpenAI Chat Model — GPT-4o-mini node and change the model from gpt-4o-mini to gpt-4o. Use this for longer calls or complex enterprise deals where nuance matters. Add a max-retry counter to prevent infinite loops: Add a counter variable before the Wait node and increment it each loop. Add a second IF branch that stops execution and sends an error alert if retries exceed 5 — this protects against recordings that fail to process. Save to a CRM like HubSpot or Notion instead of Google Docs: Replace the 7. Google Docs — Save CRM Report node with a HubSpot, Notion, or Airtable node. Map the AI output fields to the corresponding CRM properties — deal status, contact name, next steps, and notes. Increase wait time for longer recordings: Change the amount in the 3. Wait — 45 Seconds node from 45 to 90 or 120 for calls that are over 60 minutes long and need more processing time. Add an email confirmation to the salesperson: After the Google Docs node, add a Gmail node that sends the salesperson a copy of their CRM report directly to their inbox as soon as it's ready. Troubleshooting WayinVideo API returning an error or empty response: Check that your API key is replaced correctly in both the Submit and Get Transcript nodes — not just one Make sure the Bearer format is correct: Bearer YOUR_ACTUAL_KEY with a space after Bearer Confirm your WayinVideo account is active and has API access enabled Transcript never becomes ready — workflow keeps looping: Verify the recording URL is publicly accessible (not behind a login or expiry link) Try opening the URL in an incognito browser window to confirm it loads without authentication Check that the video format is supported by WayinVideo (MP4, Zoom links, and Google Meet recordings all work) OpenAI node failing or returning no output: Confirm your OpenAI API key is valid and has available credits Check that the credential is properly selected inside the OpenAI Chat Model node If the transcript is very long, the token limit may be exceeded — switch to GPT-4o which has a larger context window Google Docs node not saving the report: Confirm your Google Docs OAuth credential is connected and not expired — reconnect if needed Double-check the Document ID is correct — it should be only the ID string, not the full URL Make sure the Google account you authenticated with has edit access to the document Form not triggering the workflow: Confirm the workflow is set to Active (not just saved) Use the Production URL from the form node, not the test URL If testing inside n8n, use the test execution button and submit the form while the test is running Support Need help setting this up or want a custom version built for your team or agency? 📧 Email: info@isawow.com 🌐 Website: https://isawow.com > Pro Tip: Pin your shared Google Doc link to your team's Slack channel or CRM dashboard so every salesperson can view the full call history without needing to search for it after each meeting.
by Oneclick AI Squad
Enhance your hiring pipeline by automating interview management post-screening. This workflow runs every 5 minutes to scan upcoming Google Calendar events, filter relevant interviews, send timely email reminders to candidates and internal teams, and handle result submissions via webhook — updating statuses in Google Sheets and notifying via Gmail based on pass/fail outcomes. Ensure no interviews slip through the cracks with proactive reminders and instant feedback loops. What This Template Does Step 1: Triggers every 5 minutes to proactively check for upcoming interviews. Step 2: Fetches all Google Calendar Events and identifies interview-related ones. Step 3: Filters Upcoming Interviews based on event details (e.g., candidate name, role). Step 4: Sends Reminder Emails to candidates and interviewers via Gmail for preparation. Step 5: Receives Webhook Submission of interview results (pass/fail) post-event. Step 6: Updates Google Sheet with result data, including feedback and updated status. Step 7: Branches on result: → Passed: Sends congratulatory Email to Candidate and advances status. → Failed: Sends polite Failure Notification and closes the loop. Key Benefits ✅ Reduces no-shows with automated reminders ✅ Centralizes interview tracking in Google Sheets ✅ Instant Gmail notifications for pass/fail decisions ✅ Minimizes manual status updates ✅ Improves candidate experience with timely communication ✅ Ensures audit-ready logs of all interactions Features Cron-triggered checks every 5 minutes Google Calendar integration for event fetching Smart filtering for interview-specific events Gmail-powered reminder and notification emails Webhook for secure result submissions Conditional branching on pass/fail Real-time Google Sheets append/update Comprehensive sheet structure for tracking Requirements GOOGLE_SHEET_ID**: Your Google Sheet ID (structured as below) Credentials Needed:** Google Calendar OAuth2 Gmail API Key Customize:** • Event filter criteria (e.g., keywords like "Interview") • Reminder timing (e.g., 24 hours before) • Email templates for reminders and results • Webhook endpoint for result submission Google Sheet Structure: Create a sheet with columns: Candidate Email Interview Link Status Result Meet Link Feedback Updated At Target Audience Recruiters juggling multiple interview schedules 🗓️ HR teams focused on candidate engagement 💬 Hiring managers needing quick result turnarounds ⚡ Growing companies scaling interview volumes 📈 Remote teams relying on calendar and email sync 🌐 Step-by-Step Setup Instructions Set up Google Sheet → Create sheet with the specified columns: Candidate Email, Interview Link, Status, Result, Meet Link, Feedback, and Updated At. → Replace YOUR_SHEET_ID in the workflow with your actual Sheet ID. Configure Calendar Integration → Connect Google Calendar OAuth2 and select the relevant calendar (e.g., hiring@company.com). Define Event Filters → In the "Filter Upcoming Interviews" node, set keywords (e.g., "Candidate Interview") to match event titles/descriptions. Customize Reminders → Edit the "Send Reminder to Candidate" template (e.g., include interview link and prep tips). → Set reminder offset (e.g., 1 day before event). Set Up Webhook for Results → Generate and expose the webhook URL for your interview form/tool to submit pass/fail data. Connect Gmail → Enable Gmail OAuth2. → Define sender email and customize pass/fail templates. Test the Flow → Create a test calendar event for an upcoming interview. → Wait 5 minutes or trigger manually → Verify reminder email. → Submit test webhook result → Check sheet update and notification email. Go Live → Enable the 5-minute cron trigger. → Monitor sheet for real entries on Thursday, October 23, 2025, or your next interview day.
by WeblineIndia
Retail Payment Failure Alerts with Retry Emails, Slack & Supabase This n8n workflow automatically handles failed payment events from payment gateways such as Stripe, Shopify, PayPal or WooCommerce. It receives payment failure webhooks, standardizes the incoming data, identifies the reason for failure and classifies each case into: Soft Failure** (temporary / retryable) Hard Failure** (permanent / non-retryable) Fraudulent Failure** (high-risk / suspicious) Based on the classification, the workflow automatically: Sends internal Slack alerts Emails customers to retry failed payments Applies retry limits with wait delays Flags fraud cases instantly Stores all payment failures in Supabase It helps businesses recover lost revenue, reduce manual payment support work and detect suspicious transactions early. Quick Implementation Steps Import this JSON workflow into your n8n account. Connect your payment provider webhook endpoint. Add Slack API credentials. Add Gmail credentials for customer retry emails. Add Supabase credentials for failure logging. Enable the workflow — done! What It Does Receives Payment Failure Events Accepts POST webhook requests when a payment fails. Supports providers such as Stripe, Shopify, PayPal, WooCommerce or custom gateways. Normalizes Payment Data Extracts consistent fields such as: order_id customer_email customer_name order_value currency failure_reason retry_url Classifies Failure Type Soft Failure → insufficient funds, timeout, temporary processor issues Hard Failure → expired card, invalid card, permanent decline Fraud Failure → stolen card, restricted card, suspicious activity Soft Failure Recovery Flow Sends Slack alert to internal team Checks if order is high-value Sends retry email to customer Waits before next retry Counts retry attempts Stops after retry limit Hard Failure Handling Sends internal Slack notification Logs failure for support / reporting Fraud Handling Sends urgent Slack fraud alert Prevents retry flow Logs suspicious payment event Supabase Logging Stores all failures with timestamp, customer email, retry count, order value, status and reason. Who It's For This workflow is ideal for: Ecommerce stores handling online payments Subscription SaaS businesses Finance and billing teams Operations teams reducing payment support workload Businesses wanting failed payment recovery automation Teams using Slack + Gmail + Supabase + n8n Requirements n8n account (Self-Hosted or Cloud) Payment provider capable of sending webhooks Slack Bot credentials Gmail OAuth credentials Supabase account + database table Basic understanding of payment failure events How It Works Webhook Trigger Workflow starts when a payment failure event is sent to the webhook endpoint. Normalize Data Extracts payment details from webhook payload. Converts provider-specific fields into a unified structure. Failure Detection Logic Function node checks decline codes and error messages. Categorizes failure into: soft hard fraud Routing Soft failures go to retry recovery flow. Fraud and hard failures go to separate alerting branches. Retry Recovery Slack notification sent. High-value order check performed. Customer receives retry payment email. Wait timer delays repeated reminders. Retry count increases. Stops after 3 attempts. Fraud Handling Immediate Slack fraud alert. Logs case in database. Hard Failure Handling Team notified. Case logged in database. Database Logging All outcomes saved into Supabase. Setup Instructions Import Workflow → Workflows → Import from File in n8n. Webhook Setup → copy URL from Receive Payment Failure node. Payment Gateway Setup → configure Stripe / Shopify / PayPal webhook to send failed payment events. Slack Credentials → connect Slack account and choose alert channel. Gmail Credentials → connect Gmail account for customer notifications. Supabase Setup → connect Supabase and create payment_failure table. Configure Thresholds High-value order threshold = 500 Retry limit = 3 Wait delay = 2 minutes Test Workflow using sample failed payments. Enable Workflow once validated. Logic Overview | Step | Node | Description | |---|---|---| | 1 | Webhook Trigger | Starts workflow on failed payment webhook | | 2 | Normalize Data | Creates standard payment fields | | 3 | Classify Failure | Detects soft, hard or fraud | | 4 | Route by Type | Branches logic by failure category | | 5 | Soft Alert | Sends internal Slack notification | | 6 | High Value Check | Checks order amount ≥ threshold | | 7 | Customer Retry Email | Emails payment retry link | | 8 | Delay | Prevents excessive reminders | | 9 | Increase Counter | Tracks retry attempts | | 10 | Limit Check | Stops after max retries | | 11 | Fraud Alert | Urgent suspicious payment alert | | 12 | Hard Failure Alert | Standard non-retryable alert | | 13 | Database Logging | Stores all results in Supabase | Customization Options Webhook Node** → change endpoint path. Failure Detection Logic** → add new decline codes from your payment provider. Retry Limits** → increase or decrease retry attempts. Wait Node** → modify delay between reminders. High Value Threshold** → change 500 to your preferred value. Slack Nodes** → route alerts by severity or department. Email Template** → customize customer retry message. Supabase Table** → add columns like gateway, country, payment method. Optional Enhancements SMS payment retry reminders Auto-create CRM support tickets Dashboard reporting Customer segmentation by payment risk AI fraud scoring Revenue recovery analytics Retry using alternate payment gateway Use Case Examples Recover failed subscription renewals automatically. Detect stolen card attempts in real time. Notify customers when cards have insufficient funds. Reduce abandoned orders caused by temporary payment issues. Track failed payment trends across gateways. Alert finance teams for high-value payment failures. Troubleshooting Guide | Issue | Possible Cause | Solution | |---|---|---| | Workflow not receiving events | Webhook misconfigured | Verify webhook URL and provider settings | | Customer email not sent | Gmail credentials expired | Reconnect Gmail OAuth | | Slack alerts missing | Wrong channel ID or token | Update Slack credentials | | Soft failures not classified | Missing decline codes | Update Identify Failure Type logic | | Retry loop not stopping | Retry limit condition incorrect | Verify IF node logic | | Supabase insert fails | Wrong table/credentials | Check database schema and credentials | | Order value incorrect | Currency conversion issue | Review amount /100 logic | | Fraud cases not flagged | New fraud codes missing | Add provider fraud decline codes | Need Help? If you need help setting up, customizing or extending this workflow, WeblineIndia can assist with full n8n workflow development, payment automation, revenue recovery systems, fraud monitoring, Slack integrations and custom business process automation.
by Dr. Firas
Build a Customer Support AI Voice Agent with GPT-5 and ElevenLabs 👥 Who is this for? This template is ideal for: Businesses that want to provide 24/7 automated voice-based customer support Service providers needing to schedule appointments via voice interaction Teams looking to handle multilingual customer queries automatically Entrepreneurs aiming to boost customer engagement without hiring large support teams 💡 What problem is this workflow solving? Traditional customer support requires: Human agents to answer repeated questions Manual handling of bookings and confirmations Limited availability outside office hours This workflow solves those issues by combining GPT-5 intelligence with ElevenLabs voice synthesis, enabling your website visitors to: Ask questions and receive spoken answers in multiple languages Request appointment availability Confirm bookings and receive automatic email confirmations All of this happens automatically, reducing costs and ensuring consistent customer experience. ⚙️ What this workflow does Receive customer voice input via webhook from your website Transcribe and understand intent using GPT-5 and LangChain reasoning Fetch information from your knowledge base (Google Sheets) for FAQs, services, or policies Check availability in Google Calendar in real-time Create confirmed appointments only after explicit user confirmation Send confirmation emails with booking details via Gmail Respond back to the user with a multilingual spoken reply using ElevenLabs 🧰 Setup Before launching this workflow, make sure you: Have an OpenAI API key for GPT-5 Set up an ElevenLabs account and API key for voice input/output Enable Google Sheets API and prepare a sheet with your FAQ/knowledgebase Enable Google Calendar API and connect your calendar for scheduling Connect your Gmail account for booking confirmation emails Configure the Webhook URL on your website for sending voice requests Follow the sticky note instructions inside the workflow for final setup 🛠️ How to customize this workflow Knowledgebase:** Add or update information in your Google Sheets to cover new FAQs Voice settings:** Configure ElevenLabs voice style, tone, or supported languages Appointment rules:** Adjust event duration or add reschedule/cancellation options Notifications:** Add Slack or Telegram alerts for each new confirmed booking Email templates:** Customize the confirmation email with your brand style With this workflow, your website becomes an AI-powered voice assistant — capable of handling customer inquiries, providing multilingual support, and managing bookings seamlessly. 📄 Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube
by Felix
What This Workflow Does Receive any business document via email. The attachment is automatically classified (Invoice, Contract, or Purchase Order) using easybits Extractor, then routed down the correct path where a second Extractor pulls out document-specific data. Each route stores the file in Google Drive and triggers the appropriate action – Invoices go to a finance spreadsheet, Contracts and Purchase Orders trigger Slack notifications. How It Works Receive – Gmail polls for new emails with attachments every minute Classify – easybits Extractor identifies the document type and returns a class label Route – A Switch node sends the item down the matching path (Invoice / Contract / PO) Merge Binary – The original file is merged back into the routed item (classification strips the binary) Extract – A second easybits Extractor pulls fields specific to that document type Merge Data + File – Extracted JSON and original binary are combined for upload Store & Notify – The file is uploaded to Google Drive; Invoices update a spreadsheet, Contracts and POs trigger Slack alerts Setup Guide 1. Create Your easybits Classification Pipeline Go to extractor.easybits.tech and create a new pipeline Add one field called document_class In the field prompt, describe your classification categories and how to identify each one (see the "easybits: Classify Document" node for a reference prompt) The prompt should instruct the model to return exactly one category label – no explanations, no extra text Adjust the categories and identification criteria to match your specific document types Copy your Pipeline ID and connect the credential in the classification node > 💡 Tip: The classification prompt is the heart of this workflow. The more specific your category descriptions and decision rules are, the more accurate your results will be. 2. Create Three Extraction Pipelines Create one pipeline per document type on extractor.easybits.tech: Invoice pipeline** – fields: invoice_number, total_amount, currency, due_date, vendor_name Contract pipeline** – fields: client_name, contract_type, contract_value, currency, start_date, notice_period Purchase Order pipeline** – fields: supplier_name, po_number, order_date, expected_delivery_date, total_amount, currency Connect each pipeline's credentials to the matching Extractor node. 3. Set Up Gmail Connect your Gmail account via OAuth2. Optionally filter by label to only process specific emails. Make sure Download Attachments is enabled in the node options. 4. Set Up Google Drive Create three folders in Google Drive: Invoices, Contracts, Purchase Orders. Select the correct folder in each Upload node. Set the Input Binary Field to attachment_0 (or whichever field carries the PDF). 5. Set Up Google Sheets Create a spreadsheet (or use an existing Master Finance File). Make sure the column headers match the field mappings in the "Update Master Finance Sheet" node. 6. Set Up Slack Connect your Slack workspace. Select the channel for contract notifications (e.g. #contracts) and the channel for PO updates (e.g. #operations). Adjust the message templates if your extracted field names differ. 7. Activate & Test Set the workflow to active and send a test email with an invoice, contract, and purchase order attached to verify each route works end to end.
by Rahul Joshi
📝 Description This n8n workflow automates the candidate shortlisting process by integrating Google Sheets, Gmail, ClickUp, and Calendly. It fetches candidate records, filters high-scoring profiles, sends personalized advancement emails, and creates screening tasks for your HR team—all with a single manual trigger. 🚀 What It Does Fetch All Candidate Records Retrieves complete candidate data (names, scores, contact info, summaries) from the ‘Resume store’ Google Sheet (Sheet2). Efficiently loads all rows for batch analysis. Filter High-Score Candidates Applies a threshold filter (default: score > 70) to identify strong-fit candidates. Only qualified profiles advance; threshold is customizable per role. Send Congratulations Email Sends personalized emails to qualified candidates using Gmail. Includes a dynamic Calendly scheduling link for interview booking. Maintains a positive candidate experience with professional messaging. Create Screening Task in ClickUp Automatically generates screening tasks for each qualified candidate in ClickUp. Assigns tasks to a designated team member and organizes them in specified project folders. Ensures accountability and seamless follow-up. 📈 Key Benefits Speed: Instantly advances qualified candidates—no manual sorting. Consistency: Standardized criteria and communications for every role. Organization: Auto-creates ClickUp tasks so nothing slips through. Experience: Timely, professional communication enhances candidate journey. Efficiency: Reduces HR workload and error risk. ⚙️ Customization & Integration Score Threshold: Set to 70 by default; adjust for different roles or seniority. Email Template: Editable subject, body, and CTA (Calendly link). ClickUp Integration: Uses configurable Team, Space, Folder, List, and Assignee IDs. Systems Supported: Google Sheets (data), Gmail (email), ClickUp (tasks), Calendly (scheduling). 🔧 Setup Requirements n8n instance (self-hosted or cloud). Google Sheets access for ‘Resume store’ (Sheet2). Gmail credentials for candidate notifications. ClickUp API token and IDs for task creation. Calendly link for interview scheduling. 👥 Target Audience HR teams, recruiters, staffing agencies. Operations managing high-volume candidate pipelines. Startups/SMBs seeking standardized hiring automation. 🛠️ Maintenance Tips Update email templates seasonally. Review scoring thresholds monthly. Monitor ClickUp task completion rates. Ensure Calendly links remain active. 📋 Step-by-Step Usage Connect Google Sheets, Gmail, and ClickUp credentials in n8n. Import the workflow; configure threshold, email, and ClickUp settings. Edit the email node with your Calendly link and branding. Trigger “Execute workflow” after new candidate scores are added. Review logs and results for successful candidate progression.
by Marth
Website Lead Notification System Let's build this simple and high-value workflow. Here is a detailed, node-by-node explanation of how it works and how to set it up in n8n. How It Works This workflow acts as a bridge between your website's contact form and your sales team. It waits for a submission from your website via a Webhook. As soon as a new lead fills out the form, the workflow instantly captures their data and sends a formatted notification to your team's Slack channel. This ensures your team can respond to new leads in real time, without any delays. Setup Steps 1. Webhooks Trigger: Receive Website Form Submissions Node Type:** Webhook Trigger Parameters:** HTTP Method: POST Path: new-lead Explanation:** This node is the starting point. It creates a unique URL that you will use in your website's form submission settings. When a visitor submits your form, the data is sent to this URL as a POST request, triggering the workflow. 2. Slack: Notify Sales Team Node Type:** Slack Credentials:** YOUR_SLACK_CREDENTIAL Parameters:** Operation: Post Message Channel: YOUR_SALES_CHANNEL_ID (e.g., #sales-leads) Text: `New Website Lead! - Name: {{ $json.name }} Company: {{ $json.company }} Email: {{ $json.email }} Message: {{ $json.message }}` Explanation:** This node sends a formatted message to your designated Slack channel. The curly braces {{ }} contain n8n expressions that dynamically pull the data (name, company, email, etc.) from the website form submission. 3. Google Sheets: Archive Lead Data (Optional) Node Type:** Google Sheets Credentials:** YOUR_GOOGLE_SHEETS_CREDENTIAL Parameters:** Operation: Add Row Spreadsheet ID: YOUR_SPREADSHEET_ID Sheet Name: Leads Data: Name: ={{ $json.name }} Email: ={{ $json.email }} Date: ={{ $now }} Explanation:** This is an optional but recommended step. This node automatically adds a new row to a Google Sheet, creating a clean, organized archive of all your website leads. 4. Gmail: Send Automatic Confirmation Email (Optional) Node Type:** Gmail Credentials:** YOUR_GMAIL_CREDENTIAL Parameters:** Operation: Send To: ={{ $json.email }} Subject: Thanks for contacting us! Body: Hi {{ $json.name }}, thanks for reaching out. We've received your message and will get back to you shortly. Explanation:** This node provides a quick and professional automated response to the new lead, confirming that their message has been received. Final Step: Activation After configuring the nodes, click "Save" at the top of the canvas. Click the "Active" toggle in the top-right corner. The workflow is now live and will listen for new form submissions. Remember: You need to configure your website's form to send a POST request to the URL from your Webhook Trigger node.
by Daiki Takayama
Who's it for This template is perfect for any SaaS business or subscription service using Stripe. Product managers, customer success teams, and founders can use this to automatically collect cancellation feedback without manual follow-up. Ideal for companies looking to reduce churn by understanding why customers leave. What it does When a customer cancels their Stripe subscription, this workflow instantly: Detects the cancellation via Stripe webhook Fetches customer details from Stripe API Sends a personalized feedback survey email with embedded customer information Logs all cancellations to Google Sheets for tracking Receives survey responses via webhook Automatically routes feedback to different Google Sheets based on reason (pricing concerns, feature requests, or other feedback) This organized approach helps you identify patterns in cancellations and prioritize improvements that matter most. How it works Stripe triggers the workflow when a subscription is canceled Customer data is fetched from the Stripe API (email, name, plan details) Personalized email is sent with a survey link containing customer data as URL parameters Cancellation is logged to a Google Sheets "Cancellations" tab When the customer submits the survey, a webhook receives the response Feedback is routed to dedicated sheets based on cancellation reason: Price Concerns → for pricing-related issues Feature Requests → for missing functionality Other Feedback → for everything else Set up steps Setup time: ~20 minutes Prerequisites Stripe account (test mode recommended for initial setup) Google account with Google Sheets Email service (Gmail, Outlook, or SMTP) Survey tool with webhook support (Tally or Typeform recommended) Configuration Stripe webhook: Copy the webhook URL from the "Stripe Subscription Canceled" node and add it to your Stripe Dashboard → Webhooks. Select the customer.subscription.deleted event. Email credentials: Configure Gmail, Outlook, or SMTP credentials in the "Send Feedback Survey Email" node. Update the fromEmail parameter. Survey form: Create a survey form with these fields: Hidden fields (auto-populated from URL): email, customer_id, name, plan Visible fields: reason dropdown ("Too Expensive", "Missing Features", "Other"), comments textarea Configure webhook to POST responses to the "Survey Response Webhook" URL Google Sheets: Create a spreadsheet with 4 sheets: "Cancellations", "Price Concerns", "Feature Requests", and "Other Feedback". Connect your Google account in the Google Sheets nodes. Survey URL: Replace [SURVEY_URL] in the email template with your actual survey form URL. Test: Use Stripe test mode to trigger a test cancellation and verify the workflow executes correctly. Requirements Stripe account with API access Google Sheets (free) Email service: Gmail, Outlook, or SMTP server Survey tool: Tally (free), Typeform (paid), or custom form with webhook capability n8n instance: Cloud or self-hosted How to customize Different surveys by plan: Add an IF node after getting customer details to send different survey links based on subscription tier Slack notifications: Add a Slack node after "Route by Feedback Type" to alert your team about price concerns in real-time Delayed email: Insert a Wait node before sending the email to give customers a 24-hour cooldown period CRM integration: Add nodes to sync cancellation data with your CRM (HubSpot, Salesforce, etc.) Follow-up workflow: Create a separate workflow that triggers when feedback is received to send personalized follow-up offers Custom routing logic: Modify the Switch node conditions to match your specific survey options or add more categories Tips for success Use Stripe test mode initially to avoid sending emails to real customers during setup Customize the email tone to match your brand voice Keep the survey short (2-3 questions max) for higher response rates Review feedback weekly to identify patterns and prioritize improvements Consider offering a discount or incentive for completing the survey
by James Carter
This n8n workflow automatically detects canceled meetings from Calendly, uses GPT to write a friendly follow-up message, and sends it via Gmail, complete with a personalized Loom video link. It also creates an Asana task to remind your team to follow up manually if needed. Ideal for B2B consultants, agencies, and sales teams who want to salvage missed opportunities and stay top-of-mind with prospects after no-shows. ⸻ Who it’s for Sales teams, consultants, and agencies who rely on scheduled calls to close business and want to re-engage leads who cancel or no-show using automated, human-sounding follow-ups. ⸻ How it works / What it does A Calendly Webhook triggers the flow when a meeting is canceled. Edit Fields extracts the meeting details (who canceled, when, and why). A GPT-4 node writes a personalized follow-up email based on the meeting context. You manually paste in your Loom video link. A Merge node combines the AI-written message, user info, and video link. Gmail sends the follow-up message automatically to the contact. An Asana task is created for your team to track the missed call and optionally follow up manually. ⸻ How to set up Create a webhook in Calendly and connect it to the Calendly Trigger node. Add your OpenAI key in the Message a Model node. Connect your Gmail and Asana accounts via n8n credentials. Manually paste in the Loom video link in the Loom Link node. Set your preferred Asana project and teammate in the Create a Task node. ⸻ Requirements A Calendly account OpenAI API key Gmail account with OAuth connected in n8n Asana account with access to a project and user ID ⸻ How to customize the workflow Update the GPT prompt to change the tone or add context based on your business. Replace Loom with a Vidyard, Tella, or custom-hosted video link. Add a Slack notification node to alert your sales team when a call is missed. Link with a CRM or Google Sheets to track follow-up activity across your pipeline. This modular workflow helps you turn no-shows into new opportunities, while keeping your team organized and your leads engaged.
by Vadim Mubi
This workflow automates a complete 5-step user onboarding sequence by integrating Notion (as a CRM), Gmail (for sending emails), and Telegram (for team alerts). Instead of manually checking user sign-up dates, this workflow runs daily to detect where each user is in their journey and triggers the appropriate action. How it works The workflow checks your Notion database every 24 hours and performs the following actions based on the user's registration date: Day 0 (Welcome):** Sends an immediate welcome email via Gmail to new signups. Day 1 (Value):** Sends a "Pro Tip" email to encourage feature adoption. Day 3 (Check-in):** Sends a soft check-in email asking if the user needs help. Day 7 (Sales Push):* Sends a personal email from a manager to users who haven't converted yet, and *sends a Telegram notification** to your sales team about this hot lead. Trial Expiry:** Automatically detects when a trial is about to expire (3 days left) and sends a renewal reminder. Setup steps Duplicate the Notion Template You need a specific database structure for this workflow to work. 👉 Click here to duplicate the CRM Template Configure Content Double-click the 📝 CONFIGURATION node. Here you can easily edit: Email Subjects & Bodies: Customize the text for all 5 emails in one place. Telegram Chat ID: Add your team's chat ID to receive alerts. Connect Accounts Select your Notion Database in the Notion nodes. Connect your Gmail account in the email nodes. (Optional) Add your Telegram credentials. Activate Turn on the workflow. It is set to run daily by default.