🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Vapi + Gmail: faster follow-up for new leads

Lisa Granqvist Partner Workflow Automation Expert

New leads come in, and somehow they still sit there. You’re busy, your team is busy, and the follow-up that “should happen right away” quietly turns into “tomorrow.” That’s how deals go cold.

This Vapi Gmail follow-up automation hits insurance agency owners first, but sales managers and ops leads feel it too. You get instant outreach, consistent proposals, and Airtable tracking so nothing slips through.

Below, you’ll see how the workflow calls every new lead, qualifies them by conversation, drafts a tailored “Insurance Blueprint,” and emails it out automatically (with Slack alerts when anything needs a human).

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Vapi + Gmail: faster follow-up for new leads

The Challenge: Speed-to-lead breaks the moment you get busy

When a lead asks for a quote, the clock starts. If you reply fast, you look sharp and helpful. If you reply late, you’re “one of the many.” And the annoying part is that the delay usually isn’t strategic. It’s tiny manual steps that pile up: copying contact details, making the first call, taking notes, deciding if they’re qualified, then trying to write a decent proposal email while you’re juggling everything else. One missed field or a vague note, and you’ll be stuck chasing context instead of moving the deal forward.

It adds up fast. Here’s where it breaks down in real life.

  • A new lead can wait hours just to receive the first contact attempt, even though they were ready to talk a few minutes ago.
  • Call notes end up scattered across inboxes and CRMs, which means the next follow-up feels like starting over.
  • Teams waste time writing “good enough” proposal drafts, and the tone changes depending on who’s tired that day.
  • Unqualified leads still consume attention because nobody has a consistent filter or a clean handoff to the right pipeline status.

The Fix: Instant AI calls, qualified handoffs, and proposal emails on autopilot

This workflow turns every inbound lead into a fast, structured follow-up without relying on someone noticing a notification. A lead submits a simple n8n form (name, email, phone). n8n immediately logs them in Airtable, then triggers Vapi to place an AI voice call right away using your configured assistant and phone number. After the call ends, Vapi posts the transcript and analysis back to n8n, where the workflow normalizes the data and runs a qualification check. If the person is qualified and a type of insurance is identified, OpenAI (GPT-4) generates a polished “Insurance Blueprint” email tailored to what the prospect actually said, then Gmail sends it. If anything fails or a lead is unqualified, Slack alerts your team with the context so you can decide what to do next.

The workflow starts at the moment the lead appears. Then it gathers requirements through a real conversation, not a back-and-forth email chain. Finally, it outputs a ready-to-send proposal draft and updates Airtable so your pipeline stays accurate.

What Changes: Before vs. After

Real-World Impact

Say your agency gets 10 inbound leads a week. Manually, a “fast” process might look like 10 minutes to log the lead, 10 minutes to attempt a call, then another 20 minutes later to write a decent proposal draft, so you’re at about 40 minutes per lead (around 6–7 hours weekly). With this workflow, the form triggers instantly, the Vapi call runs on its own, and the Gmail draft is generated and sent automatically for qualified leads. You’ll still review edge cases, but you’re mostly spending time only where it matters.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Vapi for AI voice calls to new leads.
  • Airtable to track lead status and summaries.
  • Gmail to send the generated proposal email.
  • Slack for internal alerts on failures/unqualified leads.
  • OpenAI API key (get it from your OpenAI dashboard).

Skill level: Intermediate. You’ll connect accounts, map a few fields, and paste IDs/keys into the right nodes.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A lead submits your form. The workflow begins with an n8n Form Trigger capturing basic contact details (name, email, phone number). Simple input, fast start.

The lead is logged immediately. n8n creates a new record in Airtable so you have a reliable system of record, including status fields you can sort and report on later.

Vapi calls and qualifies by conversation. n8n sends an HTTP request to Vapi to place the call using your assistant. After the call, Vapi sends the transcript and call analysis back through a webhook, and n8n checks whether the call was successful and if the type of insurance was actually identified.

A proposal is generated and sent (or your team gets alerted). Qualified leads go through OpenAI to generate the “Coverage Blueprint,” then Gmail sends it to the prospect and Airtable is updated to “Qualify.” Unqualified leads update Airtable to “Unqualified” and Slack posts the reason, so you’re not guessing.

You can easily modify the qualification rules and the email tone based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Trigger

Set up the form intake that starts the workflow and collects lead details.

  1. Add the Form Entry Trigger node as your workflow trigger.
  2. Set Form Title to Harvex Insurance.
  3. Set Form Description to Input your following details for an agent to get back to you !.
  4. Configure fields in Form Fields for name, Email (email type), and Phone Number (number type).

⚠️ Common Pitfall: Ensure the field labels match exactly (name, Email, Phone Number) because downstream expressions reference these keys.

Step 2: Connect Airtable

Create the initial lead record and prepare Airtable for later updates.

  1. Add Add Airtable Row and set Operation to create.
  2. Select Base Leads and Table Table 1.
  3. Map name to {{ $json.name }}, Email to {{ $json.Email }}, and Phone number to {{ $json["Phone Number"].toString() }}.
  4. Credential Required: Connect your airtableTokenApi credentials.

Step 3: Set Up Call Handling and Normalization

Trigger the phone call, receive results, normalize the payload, and branch based on qualification.

  1. Add Vapi Phone Request after Add Airtable Row and set URL to https://api.vapi.ai/call/phone with Method POST.
  2. Set JSON Body to the provided template and confirm expressions like {{ '+230' + $json.fields['Phone number']}} and {{ $json.fields.name }} are intact.
  3. Credential Required: Connect your httpBasicAuth and httpHeaderAuth credentials in Vapi Phone Request.
  4. Add Call Result Webhook with HTTP Method POST and Path cf226daa-a404-4c24-a44a-33526891e5f2.
  5. Add Normalize Call Data and map fields like Call summary to {{ $json.body.message.analysis.summary }} and Type of Insurance to {{ $json.body.message.artifact.messages[4].message }}.
  6. Configure Qualification Check with two conditions: {{ $json.Success }} regex true and {{ $json['Type of Insurance'] }} notEmpty.
  7. Qualification Check outputs to both Update Airtable Qualified and Update Airtable Unqualified in parallel branches.

⚠️ Common Pitfall: The webhook must be reachable by Vapi. Copy the production URL from Call Result Webhook into your Vapi configuration.

Step 4: Set Up Processing/AI Node

Generate the insurance blueprint email with AI for qualified leads.

  1. Add Generate Coverage Blueprint after Update Airtable Qualified.
  2. Set Model to gpt-4.1-mini.
  3. Ensure the system prompt references expressions like {{ $json.fields.name }}, {{ $json.fields['Type of Insurance'] }}, and {{ $json.fields['Call summary'] }}.
  4. Credential Required: Connect your openAiApi credentials in Generate Coverage Blueprint.

Step 5: Configure Output/Action Nodes

Update Airtable with status, send the blueprint email, and notify Slack for unqualified leads.

  1. In Update Airtable Qualified, set Status to Qualify, map Email to {{ $json.Email }}, Call summary to {{ $json['Call summary '] }}, and Type of Insurance to {{ $json['Type of Insurance'] }}.
  2. Credential Required: Connect your airtableTokenApi credentials in Update Airtable Qualified.
  3. In Email Blueprint Dispatch, set Send To to {{ $('Update Airtable Qualified').item.json.fields.Email }} and Message to {{ $json.output[0].content[0].text }}, with Subject Your insurance blueprint and Email Type text.
  4. Credential Required: Connect your gmailOAuth2 credentials in Email Blueprint Dispatch.
  5. In Update Airtable Unqualified, set Status to Unqualified and map name, Email, Call summary, and Phone number using the provided expressions.
  6. Credential Required: Connect your airtableTokenApi credentials in Update Airtable Unqualified.
  7. Configure Slack Unqualified Alert with the message template and choose your Channel.
  8. Credential Required: Connect your slackOAuth2Api credentials in Slack Unqualified Alert.

Step 6: Add Error Handling

Notify Slack when the email fails to send so you can manually intervene.

  1. Open Email Blueprint Dispatch and confirm On Error is set to continue to the error output (this is already configured).
  2. Connect the error output to Slack Email Failure Alert.
  3. In Slack Email Failure Alert, keep the message expression that references {{ $('Qualification Check').item.json.Name }}, {{ $('Qualification Check').item.json.Email }}, and {{ $('Generate Coverage Blueprint').item.json.output[0].content[0].text }}.
  4. Credential Required: Connect your slackOAuth2Api credentials in Slack Email Failure Alert.

⚠️ Common Pitfall: If the Slack channel ID is left as [YOUR_ID], alerts will fail silently. Replace it with a real channel ID.

Step 7: Test and Activate Your Workflow

Validate the end-to-end flow and enable it for production use.

  1. Click Execute Workflow and submit a test entry to Form Entry Trigger with valid name, email, and phone number.
  2. Confirm Add Airtable Row creates a record and Vapi Phone Request returns a call initiation response.
  3. Post a sample payload to Call Result Webhook and verify Normalize Call Data populates fields like Call summary and Type of Insurance.
  4. Check that Qualification Check routes qualified leads to Update Airtable Qualified and unqualified leads to Update Airtable Unqualified and Slack Unqualified Alert.
  5. For qualified leads, confirm Generate Coverage Blueprint outputs text and Email Blueprint Dispatch sends the message successfully.
  6. Turn the workflow Active once all tests succeed.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Vapi credentials and assistant settings can be finicky. If calls don’t start, check your Vapi dashboard for the Assistant ID, Phone Number ID, and that the “Server URL” points to the workflow’s production webhook.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Gmail sending can fail due to permissions, daily limits, or “from” identity issues. Check the Gmail node’s connected account and your Google security settings first, then rely on the Slack failure alert so proposals don’t vanish.

Common Questions

How quickly can I implement this Vapi Gmail follow-up automation?

About 1–2 hours if your Vapi assistant and Airtable base are already set up.

Can non-technical teams implement this follow-up automation?

Yes, but you’ll want one person comfortable with connecting accounts and mapping fields. No coding, just careful setup.

Is n8n free to use for this Vapi Gmail follow-up workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs (often a few cents per proposal) plus Vapi call costs.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

How do I adapt this Vapi Gmail follow-up solution to my specific challenges?

You can adjust the qualification rules in the “Qualification Check” node and tailor the proposal voice in “Generate Coverage Blueprint.” Common tweaks include adding extra form fields (like state or age), changing what counts as “qualified,” and rewriting the system prompt so the email matches your agency’s tone.

Why is my Vapi connection failing in this workflow?

Usually it’s an invalid or missing Vapi API key, assistantId, or phoneNumberId in the Vapi request. Also confirm the Vapi “Server URL” is pointing to your n8n production webhook for the call result, not a test URL. If calls start but you never get transcripts back, the webhook URL mismatch is the first thing to check, honestly.

What’s the capacity of this Vapi Gmail follow-up solution?

On n8n Cloud, capacity depends on your plan’s monthly executions, but this workflow is typically one execution per lead plus a few internal steps. If you self-host, there’s no execution cap and the real limits are your server size, OpenAI throughput, and how many concurrent Vapi calls your setup can handle. For many small teams, handling dozens of leads a day is realistic. If you expect spikes, add queuing logic and make sure Slack alerts are wired so humans can jump in.

Is this Vapi Gmail follow-up automation better than using Zapier or Make?

For this workflow, n8n has a few advantages: more complex logic with unlimited branching at no extra cost, a self-hosting option for unlimited executions, and webhook-driven call processing that stays flexible when your qualification rules evolve. Zapier or Make can work, but multi-step lead logic plus AI generation gets expensive and harder to debug. Also, having Airtable status updates and Slack fallbacks in the same place is simpler to maintain. If you’re unsure which path to take, Talk to an automation expert and get a recommendation based on your lead volume.

This is what “speed-to-lead” is supposed to feel like: immediate outreach, clean qualification, and proposals that go out on time. Set it up once, then let the workflow do the repetitive part.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal