🔓 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

Google Sheets + Twilio: lead calls logged and recapped

Lisa Granqvist Partner Workflow Automation Expert

New lead comes in. You mean to call fast. Then the day gets noisy, the notes end up in three places, and the follow-up email is “I’ll do it later” (which usually means never). This is how lead pipelines quietly leak.

Sales managers feel it when reps forget to log outcomes. A marketing ops person sees it when “lead status” becomes a guessing game. And if you run a small team, you’re the one chasing updates. This Sheets Twilio calls automation keeps calls, summaries, and next steps consistent without extra admin.

You’ll see how the workflow triggers from Google Sheets, uses Twilio and RetellAI to handle calls, then sends Gmail recaps and updates the lead record so nothing falls through the cracks.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + Twilio: lead calls logged and recapped

The Problem: Lead calls happen, but the pipeline doesn’t update

Calling leads is rarely the hard part. The mess starts after. Someone calls from a saved list, scribbles notes in a notebook or a Slack DM to themselves, and later tries to remember what was said. Meanwhile, your Google Sheet still shows “New,” so marketing keeps sending nurture emails to someone who already booked a call. Or worse, nobody follows up because there’s no clear owner. Multiply that by a week of inbound calls and outbound follow-ups, and you get a pipeline that looks fine on paper but is inaccurate in real life.

It adds up fast. Here’s where it breaks down in day-to-day operations.

  • Reps forget to log call outcomes, so the next touchpoint is based on memory instead of data.
  • Inbound callers can’t be matched to the right lead record quickly, which means missed context and awkward conversations.
  • Follow-up emails are inconsistent, and “quick recap” turns into 20 minutes of rewriting after every call.
  • When the sheet is stale, reporting becomes a weekly cleanup job instead of a real-time view.

The Solution: Google Sheets-triggered calls with automatic Gmail recaps

This workflow turns your Google Sheet into the source of truth and keeps it updated automatically. When a new lead is added to Google Sheets, n8n triggers immediately and sends a Twilio SMS reminder to your rep so the first touch happens on time. After an optional short delay, the workflow can initiate an automated call through RetellAI, which is useful for initial qualification or for handling common questions when your team is slammed. When calls happen (inbound or outbound), RetellAI sends call events back into n8n. The workflow filters for analyzed call data, updates the lead record in Google Sheets, generates a clear call recap using OpenAI, and emails that summary through Gmail to the rep or team inbox. Notes get captured. Follow-ups get consistent. Your sheet stays current.

The workflow starts with a new row in Google Sheets or an inbound call webhook. Then RetellAI handles the call flow and sends post-call data back. Finally, Google Sheets and Gmail get updated automatically, so your team can move to the next lead instead of doing admin.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you add 15 new leads a day to Google Sheets. Manually, a rep might spend about 5 minutes per lead doing “extras” (set a reminder, log notes, write a recap), which is roughly an hour a day. With this workflow: the SMS reminder is instant, the call can run after a 5-minute delay, and the recap email plus sheet update happens automatically once RetellAI posts the analyzed call. You still review the outcome, but you’re not doing the busywork.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your lead list and statuses
  • Twilio to send SMS reminders to reps
  • RetellAI API key (get it from your RetellAI dashboard)
  • Gmail to email summaries and confirmations
  • OpenAI API key (get it from the OpenAI API settings page)

Skill level: Intermediate. You’ll connect accounts, paste API keys, and map a few fields like phone number and email.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A new lead appears in Google Sheets. The Google Sheets trigger watches for new rows so the moment a lead is added, the workflow kicks off.

The rep gets nudged via Twilio. An SMS reminder goes out right away, and you can keep the optional wait enabled so the call happens after a short buffer (useful when leads are batch-imported).

RetellAI handles outbound and inbound call events. Outbound calls are initiated via HTTP request to RetellAI, while inbound calls hit a webhook. The workflow looks up the caller’s number in Google Sheets and responds back, so your phone agent can proceed with context (or gracefully fail when the number isn’t found).

OpenAI generates the recap, then Gmail sends it. Once post-call analyzed data arrives, the workflow updates the lead record in Sheets, generates a clean summary, and emails it to the right inbox. Appointment confirmation can be sent too.

You can easily modify the SMS copy to match your brand voice based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Google Sheets Trigger

Start by configuring the trigger that watches for new leads in your spreadsheet. This begins the outbound SMS and call sequence.

  1. Add and open Track New Sheet Lead.
  2. Set Event to rowAdded.
  3. Select the target spreadsheet in Document and the worksheet in Sheet (the current values are placeholders = and must be set).
  4. Credential Required: Connect your googleSheetsTriggerOAuth2Api credentials.
  5. Optionally keep Flowpast Branding as a visual label; it does not affect execution.
⚠️ Common Pitfall: The Document and Sheet fields in Track New Sheet Lead are set to = placeholders. Update them to your actual spreadsheet and tab or the trigger won’t fire.

Step 2: Connect the RetellAI Inbound Webhook Flow

Configure the inbound webhook response so RetellAI can retrieve lead details and personalize the call.

  1. Open Inbound RetellAI Webhook and confirm HTTP Method is POST with Path set to ebd11c9b-129c-4b59-8c27-9a4b567305f7.
  2. In Lookup Number in Sheets, set a filter where Phone Number equals {{ $json.body.call_inbound.from_number }}.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials in Lookup Number in Sheets.
  4. In Return Inbound Webhook Reply, keep Respond With as json and set Response Body to { "call_inbound": { "dynamic_variables": { "name": "{{ $json.Name }}" } } }.

Step 3: Set Up Outbound SMS and Call Initiation

Configure the outbound sequence that sends a reminder SMS, waits briefly, and triggers the RetellAI call.

  1. In Dispatch SMS Call Reminder, set To to {{ $json['Phone Number'] }}, From to +1234567890, and Message to Hello, thanks for your interest in our roofing services. We'll be calling you shortly to ask about your project!.
  2. Credential Required: Connect your twilioApi credentials in Dispatch SMS Call Reminder.
  3. In Delay Before Outbound Call, set Unit to minutes and Amount to 1.
  4. In Initiate RetellAI Lead Call, set URL to https://api.retellai.com/v2/create-phone-call and Method to POST.
  5. Set JSON Body to { "from_number": "+33600000000", "to_number": "{{ $json['Phone Number'] }}", "retell_llm_dynamic_variables": { "uuid": "{{ $('Track New Sheet Lead').item.json.UUID }}" } }.
  6. In Initiate RetellAI Lead Call headers, set Authorization to Bearer [CONFIGURE_YOUR_TOKEN] and Content-Type to application/json.
⚠️ Common Pitfall: Replace [CONFIGURE_YOUR_TOKEN] in Initiate RetellAI Lead Call with your actual RetellAI API token, or the call will fail.

Step 4: Configure Post-Call Filtering and Sheet Updates

After the call completes, RetellAI posts the call analysis. This section filters for analyzed calls, validates direction, updates the lead record, and emails a summary.

  1. In Post-Call RetellAI Webhook, confirm HTTP Method is POST and Path is f8878b78-43ea-4caa-b16c-cde9aaf2e9b1.
  2. In Filter Analyzed Call Events, set the condition to Left Value {{ $json.body.event }} equals Right Value call_analyzed.
  3. In Verify Outbound Direction, set the condition to Left Value {{ $json.body.call.direction }} equals Right Value outbound.
  4. Verify Outbound Direction outputs to both Modify Lead Sheet Record and OpenAI Call Review in parallel.
  5. In Modify Lead Sheet Record, set Operation to update and map UUID to {{ $json.body.call.retell_llm_dynamic_variables.uuid }} and Qualification to {{ $json.body.call.call_analysis.custom_analysis_data.qualification }}.
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials in Modify Lead Sheet Record.
  7. In Email Call Summary, set Send To to [YOUR_EMAIL], Subject to New Lead - Call Summary, and keep the Message template using the call analysis fields.
  8. Credential Required: Connect your gmailOAuth2 credentials in Email Call Summary.
⚠️ Common Pitfall: Replace [YOUR_EMAIL] in Email Call Summary or you won’t receive the report.

Step 5: Set Up AI Review and Appointment Confirmation

Analyze the call transcript with OpenAI and send the appointment summary email using both call analysis and AI feedback.

  1. In OpenAI Call Review, set Model to gpt-4.1.
  2. Set the message content to Analyze this call transcript to identify how the call went and identify possible improvements to the voice prompt: {{ $json.body.call.transcript }}.
  3. Credential Required: Connect your openAiApi credentials in OpenAI Call Review.
  4. In Send Appointment Confirmation, set Send To to [YOUR_EMAIL] and Subject to Roofing Appointment Scheduled.
  5. Keep the Message template so it pulls data from Verify Outbound Direction and includes {{ $json.message.content }} from OpenAI Call Review.
  6. Credential Required: Connect your gmailOAuth2 credentials in Send Appointment Confirmation.
⚠️ Common Pitfall: Update [YOUR_EMAIL] in Send Appointment Confirmation to your real recipient address.

Step 6: Test and Activate Your Workflow

Validate each path with a test lead and webhook payloads, then activate the workflow for production.

  1. Manually run Track New Sheet Lead with a new row in your sheet to verify Dispatch SMS Call Reminder and Initiate RetellAI Lead Call execute successfully.
  2. Send a test POST request to Inbound RetellAI Webhook and confirm Lookup Number in Sheets returns a name and Return Inbound Webhook Reply responds with the dynamic variable payload.
  3. Send a test POST request to Post-Call RetellAI Webhook with call_analyzed data and confirm the path runs through Filter Analyzed Call Events, Verify Outbound Direction, and into both Modify Lead Sheet Record and OpenAI Call Review.
  4. Verify that Email Call Summary and Send Appointment Confirmation deliver emails with populated fields and AI feedback.
  5. Set the workflow to Active once tests pass.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Twilio credentials can expire or need specific permissions. If things break, check your Twilio Console messaging logs first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this Sheets Twilio calls automation?

About an hour if your API keys and Google Sheet are ready.

Do I need coding skills to automate Sheets Twilio calls?

No. You’ll mostly connect accounts and map fields like phone number and email.

Is n8n free to use for this Sheets Twilio calls 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 usage and your Twilio/RetellAI call and messaging 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.

Can I customize this Sheets Twilio calls workflow for different summary formats?

Yes, and it’s one of the best tweaks you can make. Update the prompt in the “OpenAI Call Review” node to change the format (bullet points, MEDDICC, objections, next steps, or a short CRM-ready note). You can also make the Gmail recipients dynamic by pulling the rep’s email from the lead row in Google Sheets. And if you’d rather send recaps to Slack instead of Gmail, swap the “Email Call Summary” node for your messaging tool.

Why is my Twilio connection failing in this workflow?

Usually it’s an auth issue or messaging permissions. Check the Twilio Console logs for the message SID and error details, then confirm your n8n Twilio credentials are still valid and the sending number is allowed to text your destination region.

How many calls can this Sheets Twilio calls automation handle?

It depends on your n8n plan and your call provider limits, but most small teams can run dozens of calls a day comfortably.

Is this Sheets Twilio calls automation better than using Zapier or Make?

Often, yes, because this workflow isn’t just a two-step “new row → send message.” You’re dealing with webhooks, filtering analyzed call events, and updating records after asynchronous call processing, which is where simpler builders can get awkward or expensive. n8n also gives you a self-hosting option, which helps when volume grows. Zapier or Make can still be fine if you only need a basic SMS alert and a single email. If you’re on the fence, Talk to an automation expert and map it to your real call flow.

Once this is running, your sheet stops being “a place leads go to die” and starts acting like a live pipeline. The workflow takes care of the repeatable parts so your team can focus on the conversation.

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