How it works Customer submits your Typeform → instant personalised welcome SMS fires via Twilio Submission logged to Google Sheets with name, phone, timestamp, and nudge tracking Twilio listens 24/7 for replies → marks customer as responde…
Download this n8n workflow template and start using it instantly.
| Branch | Trigger | What it does |
|---|---|---|
| New Submission | Typeform form submit | Welcome SMS + log to Sheets |
| Reply Handler | Incoming Twilio SMS | Mark replied, stop nudges |
| Nudge Engine | Schedule every 6hrs | Nudge 1 at 24h, Nudge 2 at 48h |
| Metric | Manual | This workflow |
|---|---|---|
| Speed to lead | Hours or days | Under 10 seconds |
| Follow-up consistency | Whoever remembers | 100% automated |
| Lead drop-off | High — people go cold fast | Nudges catch non-responders |
| Staff time per lead | 5–15 min | Zero |
| Revenue at risk | Every ignored inquiry | Recovered automatically |
Studies show leads contacted within 5 minutes are 9x more likely to convert. This workflow makes that the default — not the exception.
| Tool | Cost | Why |
|---|---|---|
| Typeform | Free tier works | Intake/booking form |
| Twilio | ~$1/mo + $0.0075/SMS | Send and receive SMS |
| Google Sheets | Free | Track submissions and nudge state |
A2P 10DLC notice: Twilio requires business registration for production SMS in the US. Allow 2-4 weeks. Your signup form needs opt-in language, terms, and a privacy policy.
When Form Submitted (Typeform Trigger): Starts the workflow when the Typeform event occurs.
Extract Name and Phone (Set): Sets or transforms workflow data — prepares, renames, or injects fields before the next step.
Send Welcome SMS (Twilio): Handles the Twilio step in this workflow.
Prepare Tracking Row (Set): Sets or transforms workflow data — prepares, renames, or injects fields before the next step.
Append Submission to Sheets (Google Sheets): Reads from or writes rows to a Google Sheets spreadsheet.
Every 6 Hours (Schedule Trigger): Starts the workflow automatically on a schedule (cron / fixed interval).
Read Non-Responders from Sheets (Google Sheets): Reads from or writes rows to a Google Sheets spreadsheet.
Split Non-Responder List (Split Out): Splits an array field into individual items so each can be processed separately.
If Time For Next Nudge (If): Branches the workflow based on a true/false condition.
Send Nudge SMS (Twilio): Handles the Twilio step in this workflow.
Prepare Nudge Update (Set): Sets or transforms workflow data — prepares, renames, or injects fields before the next step.
Update Nudge Count in Sheets (Google Sheets): Reads from or writes rows to a Google Sheets spreadsheet.
When SMS Reply Received (Twilio Trigger): Starts the workflow when the Twilio event occurs.
Prepare Reply Update (Set): Sets or transforms workflow data — prepares, renames, or injects fields before the next step.
Update Replied in Sheets (Google Sheets): Reads from or writes rows to a Google Sheets spreadsheet.
How it works The automation loads rows from a Google Sheet of leads that you want to contact. It makes a Google search via Apify for LinkedIn links based on the First name / Last name / Company. Another Apify actor fetches the right LinkedIn profile based on the first profile which is retuned The same process is done for the company that the lead works for, giving extra context. If the lead has a current company listed on their LinkedIn, we use that URL to do the lookup, rather than doing a separate Google search. A call is made to OpenRouter to get an LLM to generate an email based on a prompt designed to do personalized outreach. An email is sent via a Gmail node. Set up steps Connect your Google Sheets + Gmail accounts to use these APIs. Make an account with Apify and enter your credentials. Set your details in the "Set My Data" node to customize the workflow to revolve around your company + value proposition. I would recommend changing the prompt in the "Generate Personalized Email" node to match the tone of voice that you want your agent to have. You can change the guidelines to e.g. change whether the agent introduces itself, and give more examples in the style you want to make the output better.
Youtube Explanation: https://youtu.be/KgmNiV7SwkU This n8n workflow is designed to automate the initial intake and scheduling for a law firm. It's split into two main parts: 1. New Inquiry Handling: Kicks off when a potential client fills out a JotForm, saves their data, and sends them an initial welcome message on WhatsApp. 2. Appointment Scheduling: Activates when the client replies on WhatsApp, allowing an AI agent to chat with them to schedule a consultation. Here’s a detailed breakdown of the prerequisites and each node. ** Prerequisites Before building this workflow, you'll need accounts and some setup for each of the following services: JotForm JotForm Account: You need an active JotForm account. A Published Form: Create a form with the exact fields used in the workflow: Full Name, Email Address, Phone Number, I am a..., Legal Service of Interest, Brief Message, and How Did You Hear About Us?. API Credentials: Generate API keys from your JotForm account settings to connect it with n8n. Google Google Account: To use Google Sheets and Google Calendar. Google Sheet: Create a new sheet named "Law Client Enquiries". The first row must have these exact headers: Full Name, Email Address, Phone Number, client type, Legal Service of Interest, Brief Message, How Did You Hear About Us?. Google Calendar: An active calendar to manage appointments. Google Cloud Project: Service Account Credentials (for Sheets): In the Google Cloud Console, create a service account, generate JSON key credentials, and enable the Google Sheets API. You must then share your Google Sheet with the service account's email address (e.g., automation-bot@your-project.iam.gserviceaccount.com). OAuth Credentials (for Calendar): Create OAuth 2.0 Client ID credentials to allow n8n to access your calendar on your behalf. You'll need to enable the Google Calendar API. Gemini API Key: Enable the Vertex AI API in your Google Cloud project and generate an API key to use the Google Gemini models. WhatsApp Meta Business Account: Required to use the WhatsApp Business Platform. WhatsApp Business Platform Account: You need to set up a business account and connect a phone number to it. This is different from the regular WhatsApp or WhatsApp Business app. API Credentials: Get the necessary access tokens and IDs from your Meta for Developers dashboard to connect your business number to n8n. PostgreSQL Database A running PostgreSQL instance: This can be hosted anywhere (e.g., AWS, DigitalOcean, Supabase). The AI agent needs it to store and retrieve conversation history. Database Credentials: You'll need the host, port, user, password, and database name to connect n8n to it. Node-by-Node Explanation The workflow is divided into two distinct logical flows. Flow 1: New Client Intake from JotForm This part triggers when a new client submits your form. 1. JotForm Trigger What it does: This is the starting point. It automatically runs the workflow whenever a new submission is received for the specified JotForm (Form ID: 252801824783057). Prerequisites: A JotForm account and a created form. 2. Append or update row in sheet (Google Sheets) What it does: It takes the data from the JotForm submission and adds it to your "Law Client Enquiries" Google Sheet. How it works: It uses the appendOrUpdate operation. It tries to find a row where the "Email Address" column matches the email from the form. If it finds a match, it updates that row; otherwise, it appends a new row at the bottom. Prerequisites: A Google Sheet with the correct headers, shared with your service account. 3. AI Agent What it does: This node crafts the initial welcome message to be sent to the client. How it works: It uses a detailed prompt that defines a persona ("Alex," a legal intake assistant) and instructs the AI to generate a professional WhatsApp message. It dynamically inserts the client's name and service of interest from the Google Sheet data into the prompt. Connected Node: It's powered by the Google Gemini Chat Model. 4. Send message (WhatsApp) What it does: It sends the message generated by the AI Agent to the client. How it works: It takes the client's phone number from the data (Phone Number column) and the AI-generated text (output from the AI Agent node) to send the message via the WhatsApp Business API. Prerequisites: A configured WhatsApp Business Platform account. --- Flow 2: AI-Powered Scheduling via WhatsApp This part triggers when the client replies to the initial message. 1. WhatsApp Trigger What it does: This node listens for incoming messages on your business's WhatsApp number. When a client replies, it starts this part of the workflow. Prerequisites: A configured WhatsApp Business Platform account. 2. If node What it does: It acts as a simple filter. It checks if the incoming message text is empty. If it is (e.g., a status update), the workflow stops. If it contains text, it proceeds to the AI agent. 3. AI Agent1 What it does: This is the main conversational brain for scheduling. It handles the back-and-forth chat with the client. How it works: Its prompt is highly detailed, instructing it to act as "Alex" and follow a strict procedure for scheduling. It has access to several "tools" to perform actions. Connected Nodes: Google Gemini Chat Model1: The language model that does the thinking. Postgres Chat Memory: Remembers the conversation history with a specific user (keyed by their WhatsApp ID), so the user doesn't have to repeat themselves. Tools: Know about the user enquiry, GET MANY EVENTS..., and Create an event. 4. AI Agent Tools (What the AI can do) Know about the user enquiry (Google Sheets Tool): When the AI needs to know who it's talking to, it uses this tool. It takes the user's phone number and looks up their original enquiry details in the "Law Client Enquiries" sheet. GET MANY EVENTS... (Google Calendar Tool): When a client suggests a date, the AI uses this tool to check your Google Calendar for any existing events on that day to see if you're free. Create an event (Google Calendar Tool): Once a time is agreed upon, the AI uses this tool to create the event in your Google Calendar, adding the client as an attendee. 5. Send message1 (WhatsApp) What it does: Sends the AI's response back to the client. This could be a confirmation that the meeting is booked, a question asking for their email, or a suggestion for a different time if the requested slot is busy. How it works: It sends the output text from AI Agent1 to the client's WhatsApp ID, continuing the conversation.
AI-Enriched Cold Outreach: Research → Draft → QA → Write-back ============================================================ What this template does ----------------------- Automates cold email drafting from a lead list by: 1. Enriching each lead with LinkedIn profile, LinkedIn company, and Crunchbase data 2. Generating a personalized subject + body with Gemini 3. Auto-reviewing with a Judge agent and writing back only APPROVED drafts to your Data Table Highlights ----------- Hands-off enrichment via RapidAPI; raw JSON stored back on each row Two-agent pattern: Creative Outreach Agent (draft) + Outreach Email Judge (QA) Structured outputs guaranteed by LangChain Structured Output Parsers Data Table–native: reads “unprocessed” rows, writes results to the same row Async polling with Wait nodes for scraper task results How it works (flow) ------------------- 1. Trigger: Manual (replace with Cron if needed) 2. Fetch leads: Data Table “Get row(s)” filters rows where email_subject is empty (pending) 3. Loop: Split in Batches iterates rows 4. Enrichment (runs in parallel): LinkedIn profile: HTTP (company_url) → Wait → Results → Data Table update → linkedin_profile_scrape LinkedIn company: HTTP (company_url) → Wait → Results → Data Table update → linkedin_company_scrape Crunchbase company: HTTP (url_search) → Wait → Results → Data Table update → crunchbase_company_scrape (All calls use host cold-outreach-enrichment-scraper with a RapidAPI key.) 5. Draft (Gemini): “Agent One” composes a concise, personalized email using row fields + enrichment + ABOUT ME block. Structured Output Parser enforces: ``json { "email_subject": "text", "email_content": "text" } ` 6. Prep for QA: “Email Context” maps email_subject, email_content, and email for the judge. 7. QA (Judge): “Judge Agent” returns APPROVED or REVISE (brief feedback allowed). 8. Route: If APPROVED → Data Table “Update row(s)” writes email_subject + email_body (a.k.a. email_content) back to the row. If REVISE → Skipped; loop continues. Required setup --------------- Data Table: “email_linkedin_list” (or your own) with at least: email, First_name, Last_name, Title, Location, Company_Name, Company_site, Linkedin_URL, company_linkedin (if used), Crunchbase_URL, email_subject, email_body, linkedin_profile_scrape, linkedin_company_scrape, crunchbase_company_scrape (string fields for JSON). Credentials: RapidAPI key for cold-outreach-enrichment-scraper (store securely as credential, not hardcoded) Google Gemini (PaLM) API configured in the Google Gemini Chat Model node ABOUT ME block: Replace the sample persona (James / CEO / Company Sample / AI Automations) with your own. Nodes used ----------- Data Table HTTP Request: AI Agent: Google Gemini Chat Model Split in Batches: Main Loop Set: RapidAPI-Key Customization ideas ------------------- Process flags: Add email_generated_at or processed` boolean to prevent reprocessing. Human-in-the-loop: Send drafts to Slack/Email for spot check before write-back. Delivery: After approval, optionally email the draft to the sender for review. Quotas & costs --------------- RapidAPI: Multiple calls per row (three tasks + result polls). Gemini: Token usage for generator + judge per row. Tune batch size and schedule accordingly. Privacy & compliance -------------------- You are scraping and storing person/company data. Ensure lawful basis, respect ToS, and minimize stored data.
Description: Automate your entire supplier negotiation process with this AI-driven workflow that intelligently drafts, refines, and sends negotiation emails . Using advanced LLM reasoning and multi-angle strategies , it generates high-converting negotiation messages tailored to each supplier scenario. The workflow tracks replies, sends smart follow-ups , and logs outcomes automatically for full visibility. Perfect for procurement teams looking to reduce costs and eliminate manual back-and-forth communication . What This Template Does: Triggers when a new supplier entry is added to Google Sheets. Validates and structures supplier, product, and pricing data. Generates 3 AI-powered negotiation email drafts using different strategies. Selects the best-performing draft based on scoring logic. Refines the draft using AI self-critique for better tone and clarity. Sends the final negotiation email to the supplier via Gmail. Waits 24 hours and checks for supplier replies automatically. Detects whether a reply is received and routes the workflow accordingly. Sends an optimized follow-up email if no response is received. Logs negotiation details and outcomes in Notion. Updates Google Sheets with final status, pricing, and savings. Notifies the procurement team via Slack with results or retry alerts. Key Benefits: Fully autonomous negotiation process with zero manual effort AI-optimized messaging increases chances of better pricing Smart follow-ups ensure no supplier opportunity is missed Centralized tracking across Sheets, Notion, and Slack Data-driven decision making with scoring and insights Scalable procurement operations for high-volume supplier outreach Features: Google Sheets trigger-based workflow AI-powered negotiation using GPT-4o (multi-angle + self-critique) Automated email sending and reply detection via Gmail Intelligent retry logic using DPO-style optimization Notion logging for audit trails and reporting Slack alerts for real-time team notifications Built-in validation and structured data processing Requirements: Google Sheets account (for supplier data tracking) Gmail account (for sending and receiving emails) OpenAI API key (for AI-generated negotiation logic) Notion account (for logging negotiation outcomes) Slack account (for team notifications) Target Audience: Procurement and sourcing teams E-commerce and retail businesses managing suppliers Startups scaling vendor negotiations Automation agencies building AI-driven business workflows