by DIGITAL BIZ TECH
AI Cost Estimation Chatbot (Conversational Dual-Agent + OCR Workflow) Overview This workflow introduces a conversational AI Cost Estimation Chatbot with built-in OCR document analysis and interactive form guidance. It helps users and teams handle pricing, measurement, and product configuration for multiple categories such as fabrics and tiles — whether data comes from an uploaded invoice, a stored RFQ, or live user input. The system blends Mistral AI’s reasoning with n8n’s native tools — OCR Extract, Calculator, Supabase, and Gmail — to deliver clear, step-by-step cost calculations. It automatically retrieves or parses OCR data, confirms details conversationally, performs unit conversions, and returns accurate estimates in real time. Escalation and recordkeeping are handled via Gmail and Supabase. Chatbot Flow Trigger: Chat message (from n8n Chat UI) or Webhook (from a live site). Model: Mistral Cloud Chat Model (mistral-medium-latest) Memory: Simple Memory (Buffer Window, 15-message history) Tools: OCR Extract:** Reads and converts invoices, receipts, and RFQs into structured data. Supabase:** Stores and retrieves OCR data for re-use in future calculations. Calculator:** Performs all material, area, and cost computations. Gmail:** Escalates customer queries or sends quote summaries. Agent:** ai agent cost estimate Workflow Behavior: Retrieves or parses OCR data, confirms and completes missing details interactively. Guides users step-by-step through product setup (Fabric or Tile). Calculates costs transparently using MATERIAL_COSTS and PROCESSING_COSTS. Handles GSM ↔ sqm, area, and weight conversions automatically. Escalates support or order confirmations via Gmail when requested. Integrations Used | Service | Purpose | |----------|----------| | * Chat* | User-facing chatbot interface | | OCR Extract | Processes uploaded documents or receipts | | Supabase | Stores and retrieves OCR / quote data | | Mistral AI | Chat model and reasoning engine | | Calculator | Handles all numeric and cost calculations | | Gmail | Sends escalations or quote summaries | Agent System Prompt Summary > “You are an AI cost estimation assistant for a brand. > Retrieve or parse OCR data from Supabase, confirm details with the user, and calculate costs transparently. > Use the Calculator for all numeric logic based on MATERIAL_COSTS and PROCESSING_COSTS. > Handle GSM-to-sqm and other conversions automatically. > If support or follow-up is needed, send a message through Gmail. > Always guide the user conversationally, confirm assumptions, and explain every step clearly.” Key Features ✅ input: Chat Interface ✅ Conversational guidance even when OCR data doesnt exist ✅ OCR + Supabase integration for document reuse ✅ Interactive cost estimator for fabrics and tiles ✅ Transparent calculations and unit conversions ✅ Gmail integration for escalation or order confirmation ✅ Modular design for scaling to other product types Summary A powerful AI + OCR conversational cost estimation assistant that retrieves or parses order data, guides users through setup, and calculates costs transparently. It combines intelligence (Mistral), precision (Calculator), and automation (OCR + Supabase + Gmail) to create a complete, human-like quotation system — perfect for brands, manufacturers, and B2B platforms. 💡 We can help you set it up for free — from connecting credentials to deploying it live. Contact: shilpa.raju@digitalbiz.tech Website: https://www.digitalbiz.tech LinkedIn: https://www.linkedin.com/company/digitalbiztech/ You can also DM us on LinkedIn for any help.
by Robert Breen
A hands-on starter workflow that teaches beginners how to: Pull rows from a Google Sheet Append a new record that mimics a form submission Generate AI-powered text with GPT-4o based on a “Topic” column Write the AI output back into the correct row using an update operation Along the way you’ll learn the three essential Google Sheets operations in n8n (read → append → update), see how to pass sheet data into an OpenAI node, and document each step with sticky-note instructions—perfect for anyone taking their first steps in no-code automation. 0️⃣ Prerequisites Google Sheets** Open Google Cloud Console → create / select a project. Enable Google Sheets API under APIs & Services. Create an OAuth Desktop credential and connect it in n8n. Share the spreadsheet with the Google account linked to the credential. OpenAI** Create a secret key at <https://platform.openai.com/account/api-keys>. In n8n → Credentials → New → choose OpenAI API and paste the key. Sample sheet to copy** (make your own copy and use its link) <https://docs.google.com/spreadsheets/d/15i9WIYpqc5lNd5T4VyM0RRptFPdi9doCbEEDn8QglN4/edit?usp=sharing> 1️⃣ Trigger Manual Trigger – lets you run on demand while learning. (Swap for a Schedule or Webhook once you automate.) 2️⃣ Read existing rows Node:** Get Rows from Google Sheets Reads every row from Sheet1 of your copied file. 3️⃣ Generate a demo row Node:** Generate 1 Row of Data (Set node) Pretends a form was submitted: Name, Email, Topic, Submitted = "Yes" 4️⃣ Append the new row Node:** Append Data to Google Operation append → writes to the first empty line. 5️⃣ Create a description with GPT-4o OpenAI Chat Model – uses your OpenAI credential. Write description (AI Agent) – prompt = the Topic. Structured Output Parser – forces JSON like: { "description": "…" }. 6️⃣ Update that same row Node:** Update Sheets data Operation update. Matches on column Email to update the correct line. Writes the new Description cell returned by GPT-4o. 7️⃣ Why this matters Demonstrates the three core Google Sheets operations: read → append → update. Shows how to enrich sheet data with an AI step and push the result right back. Sticky Notes provide inline docs so anyone opening the workflow understands the flow instantly. 👤 Need help? Robert Breen – Automation Consultant ✉️ robert.j.breen@gmail.com 🔗 <https://www.linkedin.com/in/robert-breen-29429625/>
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 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 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 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 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 Shahrear
🧾 Attendance Extraction & Notification Pipeline (Google Drive + VLM Run + Google Sheets + Gmail) ⚙️ What This Workflow Does This workflow automates daily attendance tracking by analyzing uploaded attendance images, extracting participant names via VLM Run’s Execute Agent, appending the structured data into Google Sheets, and emailing a formatted attendance summary through Gmail. 🧩 Requirements A Google Drive account with a designated folder for attendance image uploads. A VLM Run API account and your Execute Agent URL or API credentials. A Gmail account connected to n8n for sending notification emails. An n8n instance with the following credentials configured: Google Drive, Google Sheets, Gmail, VLM Run (HTTP API Credential) ⚡Quick Setup Install the verified VLM Run node by searching for VLM Run in the node list, then click Install. Once installed, you can start using it in your workflows. Add VLM Run API credentials for image parsing. Link your Google Drive, Google Sheets and Gmail accounts in the credentials section. In the “Google Drive Trigger” node, select the folder where attendance images will be uploaded. In the “Append Row” node, connect your Google Sheet and map columns manually (e.g., Date, Total, Names…). Add VLM Run execute agent endpoint. Upload an image (whiteboard attendance photo or scanned sheet) to your Drive folder. Wait for the automation to process and check your Google Sheet for results. After each extraction and logging step, the Gmail Node sends an automated summary email. Email includes: 📅 Date of attendance 👥 Total participants detected 🧍 List of extracted names ⚙️ How It Works Monitor List Uploads – Watches a Google Drive folder for new attendance images (e.g., whiteboard snapshots, scanned sheets). Download List – Downloads each new image automatically for AI processing. VLM Run for Extraction sends the image to VLM Run Execute Agent, which uses an AI model to detect and extract attendee names from the image. Receive Attendance Data – The Webhook node (check-attendance) receives structured JSON data from VLM Run in the format: { "majorDimension": "ROWS", "values": [ ["2025-10-03", "6", "Camila Torres Rivera", "Mellissa Richmond", "Captioner Javier", "Siobhan", "Catherine Soler", "Anisah Anif"] ] } The Google Sheets Node appends the structured attendance data to the selected sheet, maintaining a daily log for future reference. The Gmail Node sends an automatic email summarizing attendance. 💡Why Use This Workflow 🔄 Fully Automated: No manual data entry required. 🧠 AI-Powered Extraction: Uses VLM Run to read and parse images with handwritten or typed text. 📊 Centralized Logging: Attendance data neatly organized in Google Sheets for future analysis. 📬 Instant Notification: Keeps stakeholders informed automatically after each session. ⚡ Scalable: Works with multiple folders, daily batches, or parallel sessions. 🛠️ How to Customize You can tailor this workflow to match your organization’s needs: | Area | Customization Options | | ------------------------ | ---------------------------------------------------------------------------------------------------------- | | Drive Folder | Point to a different upload folder for each department or class. | | Google Sheet Mapping | Add more columns (e.g., “Class Name,” “Supervisor”) and map them in the Append Row node. | | Email Template | Modify the Gmail node’s subject and body to include custom formatting or logos. | | Trigger Schedule | Replace Google Drive Trigger with a Cron Node if you prefer scheduled checks instead of live watching. | | Data Validation | Add a Function Node to filter duplicates or incorrect entries before appending to Sheets. | | Notification Options | Send alerts via Slack, Telegram, or Microsoft Teams instead of Gmail if desired. | ⚠️ Community Node Disclaimer This workflow uses community nodes (VLM Run) that may need additional permissions and custom setup.
by Nalin
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Complete account-based outreach automation with Octave context engine Who is this for? Revenue teams, account-based marketing professionals, and growth operators who want a complete, automated pipeline from account identification to contextualized outreach. Built for teams ready to move beyond fragmented point solutions to an integrated, context-aware GTM engine. What problem does this solve? Most GTM teams are flying blind with disconnected tools that can't talk to each other. You qualify accounts in one system, find contacts in another, research context manually, then hope your email sequences land. Each step loses context, and by the time you're writing outreach, you've forgotten why the account was qualified in the first place. Octave centralizes all this typically fragmented context - your ICP definitions, personas, value propositions, and business logic - so every agent operation can act on the same unified understanding of your market. This workflow demonstrates how Octave's agents work together seamlessly because they all share the same context foundation. What this workflow does Complete Account-to-Outreach Pipeline: This workflow demonstrates the full power of Octave's context engine by connecting multiple agent operations in a seamless flow. Unlike traditional tools that lose context at each handoff, Octave centralizes your business context - ICP definitions, personas, value propositions, competitive positioning - so every agent operates from the same unified understanding of your market. External Context Research: Gathers real-time external data about target accounts (job postings, news, funding, etc.) Processes this information to create runtime context for later use in outreach Establishes the "why reach out now" foundation for the entire workflow Company-Level Qualification: Uses Octave's company qualification to assess account fit against your specific offering Leverages Product and Segment-level fit criteria defined in your Library Filters out accounts that don't meet your qualification thresholds Ensures only high-potential accounts proceed through the workflow Intelligent Contact Discovery: Runs Octave's prospector agent on qualified accounts Finds relevant stakeholders based on responsibilities and business context, not just job titles Discovers multiple contacts per account for comprehensive coverage Maintains qualification context when identifying the right people Runtime Context Integration: Takes the external context gathered at the beginning and injects it into sequence generation Creates truly dynamic, timely outreach that references current company events Generates sequences that feel impossibly relevant and well-researched Multi-Contact Sequence Generation: Splits discovered contacts into individual records for processing Generates contextualized email sequences for each contact Maintains account-level context while creating contact-specific messaging Produces sequences (1-7 emails) that feel unmistakably meant for each person Automated Campaign Deployment: Automatically adds all qualified contacts with their contextualized sequences to email campaigns Maps dynamic content to campaign variables for seamless execution Maintains the context chain from qualification through delivery Setup Required Credentials: Octave API key and workspace access External data source API (job boards, news APIs, enrichment services, etc.) Email platform API key (Instantly.ai configured, easily adaptable) Optional: LLM credentials if using the example external research agent Step-by-Step Configuration: Set up Account Input Source: Replace your-webhook-path-here with a unique, secure path Configure your account source (CRM, website visitors, target lists) to send company data Ensure account data includes company name and domain for processing Configure External Context Research: Replace the example AI agent with your preferred external data source Set up connections to job boards, news APIs, or enrichment services Configure context gathering to find timely, relevant information about target accounts Set up Company Qualification Agent: Add your Octave API credentials Replace your-octave-company-qualification-agent-id with your actual agent ID Configure qualification criteria at Product and Segment levels in your Octave Library Configure Prospector Agent: Replace your-octave-prospector-agent-id with your actual prospector agent ID Define target personas and stakeholder types in your Octave Library Set contact discovery parameters for optimal coverage Set up Sequence Agent: Replace your-octave-sequence-agent-id with your actual sequence agent ID Configure runtime context integration for dynamic content Test sequence quality with the external context integration Configure Email Campaign Platform: Add your email platform API credentials Replace your-campaign-id-here with your actual campaign ID Ensure campaign supports custom variables for dynamic content Required Webhook Payload Format: { "body": { "companyName": "InnovateTech Solutions", "companyDomain": "innovatetech.com" } } How to customize External Context Sources: Replace the example research with your data sources: Job Board APIs:** Reference current hiring and team expansion News APIs:** Mention funding, product launches, or market expansion Enrichment Services:** Pull technology adoption, market changes, or competitive moves Social Monitoring:** Reference recent company posts or industry discussions Company Qualification: Configure qualification in your Octave company qualification agent: Product Level:** Define "good fit" and "bad fit" questions for your core offering Segment Level:** Set criteria for different market segments or use cases Qualification Thresholds:** Adjust the filter score based on your standards Contact Discovery: Customize prospecting in your Octave prospector agent: Target Personas:** Define which Library personas to prioritize Organizational Levels:** Focus on specific seniority levels or decision-making authority Contact Volume:** Adjust how many contacts to discover per qualified account Runtime Context Integration: Configure dynamic content injection: Context Definition:** Specify what external data represents in your sequences Usage Instructions:** Define how to incorporate context into messaging Email-Level Control:** Apply different context to different emails in sequences Sequence Generation: Customize email creation: Core Context (Library):** Define personas, use cases, and offering definitions Strategy (Playbooks):** Configure messaging frameworks and value propositions Writing Style (Agent):** Adjust tone, voice, and communication approach Campaign Integration: Adapt for different email platforms: Update API endpoints and authentication for your preferred platform Modify variable mapping for platform-specific requirements Adjust sequence formatting and length based on platform capabilities Use Cases Complete inbound lead processing from website visitor to qualified outreach Event-triggered account processing for funding announcements or hiring spikes Competitive displacement campaigns with account qualification and contact discovery Market expansion automation for entering new territories or segments Product launch outreach with context-aware targeting and messaging Customer expansion workflows for upselling within existing account bases
by Dahiana
AI Content Summarizer Suite This n8n template collection demonstrates how to build a comprehensive AI-powered content summarization system that handles multiple input types: URLs, raw text, and PDF files. Built as 4 separate workflows for maximum flexibility. Use cases: Research workflows, content curation, document processing, meeting prep, social media content creation, or integrating smart summarization into any app or platform. How it works Multi-input handling: Separate workflows for URLs (web scraping), direct text input, and PDF file processing Smart PDF processing: Attempts text extraction first, falls back to OCR.Space for image-based PDFs AI summarization: Uses OpenAI's GPT-4.1-mini with customizable length (brief/standard/detailed) and focus areas (key points/numbers/conclusions/action items) Language support: Multi-language summaries with automatic language detection Flexible output: Returns clean markdown-formatted summaries via webhook responses Unified option: The all-in-one workflow automatically detects input type and routes accordingly How to use Replace webhook triggers with your preferred method (manual, form, API endpoint) Each workflow accepts different parameters: URL, text content, or file upload Customize summary length and focus in the AI prompt nodes Authentication is optional - switch to "none" if running internally Perfect for integration with Bubble, Zapier, or any platform that can make HTTP requests Requirements OpenAI API key or OpenRouter Keys OCR.Space API key (for PDF fallback processing) n8n instance (cloud or self-hosted) Any platform that can make HTTP requests. Setup Steps Replace "Dummy OpenAI" with your OpenAI credentials Add your OCR.Space API key in the OCR nodes is not mandatory. Update webhook authentication as needed Test each workflow path individually
by Anirudh Aeran
This workflow provides a complete backend solution for building your own WhatsApp marketing dashboard. It enables you to send dynamic, personalized, and rich-media broadcast messages to an entire contact list stored in Google Sheets. The system is built on three core functions: automatically syncing your approved Meta templates, providing an API endpoint for your front-end to fetch those templates, and a powerful broadcast engine that merges your contact data with the selected template for mass delivery. Who’s it for? This template is for marketers, developers, and businesses who want to run sophisticated WhatsApp campaigns without being limited by off-the-shelf tools. It's perfect for anyone who needs to send personalized bulk messages with dynamic content (like unique images or links for each user) and wants to operate from a simple, custom-built web interface. How it works This workflow is composed of three independent, powerful parts: Automated Template Sync: A scheduled trigger runs periodically to fetch all of your approved message templates directly from your Meta Business Account. It then clears and updates an n8n Data Table, ensuring your list of available templates is always perfectly in sync with Meta. Front-end API Endpoint: A dedicated webhook acts as an API for your dashboard. When your front-end calls this endpoint, it returns a clean JSON list of all available templates from the n8n Data Table, which you can use to populate a dropdown menu for the user. Dynamic Broadcast Engine: The main webhook listens for a request from your front-end, which includes the name of the template to send. It then: Looks up the template's structure in the Data Table. Fetches all contacts from your Google Sheet. For each contact, a Code node dynamically constructs a personalized API request. It can merge the contact's name into the body, add a unique user ID to a button's URL, and even pull a specific image URL from your Google Sheet to use as a dynamic header. Sends the fully personalized message to the contact. How to set up Pre-requisite - Front-end: This workflow is a backend and is designed to be triggered by a front-end application. You will need a simple UI with a dropdown to select a template and a button to trigger the broadcast. Meta for Developers: You need a Meta App with the WhatsApp Business API configured. From your app, you will need your WhatsApp Business Account ID, a Phone Number ID, and a permanent System User Access Token. n8n Data Table: Create an n8n Data Table (e.g., named "WhatsApp Templates") with the following columns: template_name, language_code, components_structure, template_id, status, category. Google Sheet: Create a Google Sheet to store your contacts. It must have columns like Phone Number, Full Name, and for dynamic images, Marketing Image URL. Configure Credentials: -> Create an HTTP Header Auth credential in n8n for WhatsApp. Use Authorization as the Header Name and Bearer YOUR_PERMANENT_TOKEN as the value. -> Add your Google Sheets credentials. Configure Nodes: -> In both HTTP Request nodes, select your WhatsApp Header Auth credential. Update the URLs with your own Phone Number ID and WABA ID. -> In the Google Sheets node, select your credential and enter the Sheet ID. -> In all Data Table nodes, select the Data Table you created. First Run: Manually execute the "Sync Meta Templates" flow (starting with the Schedule Trigger) once to populate your Data Table with your templates. Activate: Activate all parts of the workflow. Requirements A Meta for Developers account with a configured WhatsApp Business App. A permanent System User Access Token for the WhatsApp Business API. A Google Sheets account. A front-end application/dashboard to trigger the workflow.
by SpaGreen Creative
Send Automatic WhatsApp Order Confirmations from Shopify with Rapiwa API Who’s it for This n8n workflow helps Shopify store owners and teams automatically confirm orders via WhatsApp. It checks if the customer's number is valid using Rapiwa API, sends a personalized message, and logs every attempt in Google Sheets—saving time and reducing manual work. Whether you're a solo entrepreneur or managing a small team, this solution gives you a low-cost alternative to the official WhatsApp Business API, without losing control or personalization. Features Receives new order details via webhook upon order creation or update. Iterates over incoming data in manageable batches for smoother processing. Extracts and formats customer and order details from the Shopify webhook payload. Strips non-numeric characters from WhatsApp numbers for consistent formatting. Uses Rapiwa API to check if the WhatsApp number is valid and active. Branches the workflow based on number validity — separates verified from unverified. Sends a custom WhatsApp confirmation message to verified customers using Rapiwa. Updates Google Sheet rows with status and validity How it Works / What It Does Triggered by a Shopify webhook or by reading rows from a Google Sheet. Normalizes and cleans** the order payload. Extracts details like customer name, phone, items, shipping, and payment info. Cleans phone numbers (removes special characters). Verifies if the number is registered on WhatsApp via Rapiwa API. If valid: Sends a templated WhatsApp message. Updates Google Sheet with validity = verified and status = sent. If invalid: Skips sending. Updates sheet with validity = unverified and status = not sent. Adds wait/delay between sends to prevent rate limits. Keeps an audit trail in the connected Google Sheet. How to Set Up Set up a Shopify webhook for new orders (or connect a Google Sheet). Create a Google Sheet with columns: name, number, order id, item name, total price, validity, status Create and configure a Rapiwa Bearer token in n8n. Add Google Sheets OAuth2 credential in n8n. Import the workflow in n8n and configure these nodes: Webhook or Sheet Trigger Loop Over Items (SplitInBatches) Normalize Payload (Code) Clean WhatsApp Number (Code) Rapiwa WhatsApp Check (HTTP Request) Conditional Branch (If) Send WhatsApp Message (HTTP Request) Update Google Sheet (Google Sheets) Wait Node (delay per send) Requirements Shopify store with order webhook enabled (or order list in Google Sheet) A verified Rapiwa API token A working n8n instance with HTTP and Google Sheets nodes enabled A Google Sheet with required structure and valid OAuth credentials in n8n How to Customize the Workflow Modify the message template with your own brand tone or emojis. Add country-code logic in the Clean Number node if needed. Use a unique order id in your Google Sheet to prevent mismatches. Increase or decrease delay in the Wait node (e.g., 5–10 seconds). Use additional logic in Code nodes to handle discounts, promotions, or more line items. Workflow Highlights Triggered by Shopify webhook update. Receiving new order data form Shopify using webhook Cleans and extracts order data from raw payload. Normalizing and validating the customer’s WhatsApp number using the Rapiwa API Verifies WhatsApp number using Rapiwa's verify-whatsapp endpoint. Sends order confirmation via Rapiwa's send-message endpoint. Logs every result into Google Sheets (verified/unverified + sent/not sent). Setup in n8n 1. Check WhatsApp Registration Use an HTTP Request node: URL: https://app.rapiwa.com/api/verify-whatsapp Method: POST Auth: httpBearerAuth using your Rapiwa token Body: { "number": "cleaned_number" } 2. Branch Based on Validity Use an If node: Condition: {{ $json.data.exists }} == true (or "true" if string) 3. Send Message via Rapiwa Endpoint: https://app.rapiwa.com/api/send-message Method: POST Body: Hi {{ $json.customer_full_name }}, Thank you for shopping with SpaGreen Creative! We're happy to confirm that your order has been successfully placed. 🧾 Order Details • Product: {{ $json.line_item.title }} • SKU: {{ $json.line_item.sku }} • Quantity: {{ $json.line_item.quantity }} • Vendor: {{ $json.line_item.vendor }} • Order ID: {{ $json.name }} • Product ID: {{ $json.line_item.product_id }} 📦 Shipping Information {{ $json.shipping_address.address1 }} {{ $json.shipping_address.address2 }} {{ $json.shipping_address.city }}, {{ $json.shipping_address.country }} - {{ $json.shipping_address.zip }} 💳 Payment Summary • Subtotal: {{ $json.subtotal_price }} BDT • Tax (VAT): {{ $json.total_tax_amount }} BDT • Shipping: {{ $json.total_shipping_amount }} BDT • Discount: {{ $json.total_discount_amount }} BDT • Total Paid: {{ $json.total_price }} BDT Order Date: {{ $json.created_date }} Warm wishes, Team SpaGreen Creative Sample Google Sheet Structure A Google Sheet** formatted like this ➤ Sample | name | number | order id | item name | total price | validity | status | | ----------- | ------------- | ------------- | ------------------------------ | ----------- | -------- | ------ | | Abdul Mannan | 8801322827799| 8986469695806 | Iphone 10 | 1150 | verified | sent | | Abdul Mannan | 8801322827799| 8986469695806 | S25 UltraXXXXeen Android Phone | 23000 | verified | sent | Tips Always ensure phone numbers have a country code (e.g., 880 for BD). Clean numbers with regex: replace(/\D/g, '') Adjust Rapiwa API response parsing depending on actual structure (true vs "true"). Use row_number for sheet updates, or unique order id for better targeting. Use the Wait node to add 3–10 seconds between sends. Important Notes Avoid reordering sheet rows—updates rely on consistent row_number. shopify-app-auth is the credential name used in the export—make sure it's your Rapiwa token. Use a test sheet before going live. Rapiwa has request limits—avoid rapid sending. Add media/image logic later using message_type: media. Future Enhancements (Ideas) Add Telegram/Slack alert once the batch finishes. Include media (e.g., product image, invoice) in the message. Detect and resend failed messages. Integrate with Shopify’s GraphQL API for additional data. Auto-mark fulfillment status based on WhatsApp confirmation. Support & Community WhatsApp: 8801322827799 Discord: discord Facebook Group: facebook group Website: https://spagreen.net Envato/Codecanyon: codecanyon portfolio