Skip to main content

Automate outbound Vapi voice calls from new Google Sheets rows

Workflow preview

Workflow preview
100%
Automate outbound Vapi voice calls from new Google Sheets rows preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

This n8n automation connects your Google Sheets to Vapi , enabling you to automatically call new contacts as soon as their information is added to your spreadsheet. ...

Best for

  • Content Creation automation workflows
  • Multimodal AI automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.httprequest, n8n-nodes-base.set, n8n-nodes-base.googlesheetstrigger, n8n-nodes-base.wait

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Aitor | 1Node.

Original n8n.io source

1.1 Workflow description

Title
Automate outbound Vapi voice calls from new Google Sheets rows
Workflow name
Automate outbound Vapi voice calls from new Google Sheets rows

This n8n automation connects your Google Sheets to Vapi, enabling you to automatically call new contacts as soon as their information is added to your spreadsheet. Instantly reach out with a personalized voice call from a Vapi AI assistant, based on any event that adds a new row to your sheet.

๐Ÿงพ Requirements

Google Sheets

  • Google Sheets credentials enabled and tested in n8n.
  • A table in your Google Sheet formatted as follows:
Required Columns & Data Types
Column Name Example Value Data Type Notes
phone_number +11234567890 Text (String) Must include the + and country code, no spaces or dashes. Mandatory for workflow.
(optional) first_name John Text (String)
(optional) email [email protected] Text (String)
(additional) Any extra info
  • Ensure all columns contain data in plain text format.
  • Phone number field must never be empty and follow the E.164 international format: + + country code + phone number.

Vapi

  • A Vapi account with credit.
  • A connected phone number (to originate calls).
  • An assistant (AI voice agent) created and ready to make calls.
  • Your Vapi API key.

๐Ÿ”— Useful Link


๐Ÿ› ๏ธ Comprehensive Setup Instructions

1. Prepare Your Google Sheet

  • Create a Google Sheet with the required column names as listed above.
  • Ensure your phone_number column is correctly formatted (international format, no spaces).
  • Optionally, add columns such as first_name, email, or any field your workflow should use.

2. Set Up Google Sheets Credentials in n8n

  • In n8n, go to "Credentials" and create Google Sheets credentials.
  • Authenticate with your Google account and test the connection.

3. Configure the n8n Workflow

  • Add a Google Sheets Trigger node:
    • Set trigger mode to "New Row".
    • Select your Google Sheet and worksheet.
  • Add a Wait node:
    • Configure a wait time (e.g., 4 minutes) between trigger and next action.

4. Map & Set Vapi Fields

  • Add a Set node:
    • Create fields required by the Vapi API:
      • phone_number_id: Copy from your Vapi dashboard.
      • assistant_id: Use the ID of your AI assistant.
      • api_key: Store securely (see n8n secret management).
      • to: Set as the Google Sheet's phone_number value.
        Example: {{ $json["phone_number"] }}
    • (Optional) Map extra fields from Sheet (e.g., first_name, email) for personalized calls.

5. Add the HTTP Request to Vapi

  • Add an HTTP Request node:
    • Method: POST
    • URL: https://api.vapi.ai/call
    • Body parameters: Use all mapped fields from previous step.

6. Test the Workflow

  • Add a new row to your Google Sheet.
  • Verify that, after the wait period, Vapi attempts the call and uses personalized information.

๐ŸŽจ Customization Options

  • Personalize Calls Further:
    Add additional columns like first_name, product, or appointment_time in Google Sheets. Map these into the API call so Vapi can use them for dynamic greetings or contextual responses.
  • Conditional Flows:
    Insert n8n logic nodes (IF, Switch) before making the Vapi call. For example, only call if a "Consent" column is TRUE, or select different assistants based on region or product interest.
  • Multiple Assistants/Numbers:
    Store different assistant IDs or phone number IDs in columns, and dynamically route calls based on sheet data (e.g., region-specific assistants).
  • Advanced Field Mapping:
    Pass any relevant sheet fields into the API payload and configure your Vapi assistant scripts to utilize these variables for high-touch, customized user interactions.

๐Ÿ“‡ Example Google Sheet Setup

phone_number first_name email product consent
+11234567890 John [email protected] Widget A TRUE
+44207123456 Maria [email protected] Widget B FALSE
  • In n8n, map only those rows where consent=TRUE.

๐Ÿ™‹โ€โ™‚๏ธ Need Help?

Feel free to contact us at 1 Node
Get instant access to a library of free resources we created.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Start outbound Vapi call

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 3 - Set fields

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 4 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Google Sheets Trigger

Type / Role
n8n-nodes-base.googleSheetsTrigger - googleSheetsTrigger
Config choices
Version 1

Block 6 - Wait 4min

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

3. Summary Table

Workflow Automate outbound Vapi voice calls from new Google Sheets rows
Complexity intermediate
Nodes 6
Categories Content Creation, Multimodal AI
Author Aitor | 1Node
Published 28 Jul 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/6576/6576.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Automate outbound Vapi voice calls from new Google Sheets rows do?

This n8n automation connects your Google Sheets to Vapi , enabling you to automatically call new contacts as soon as their information is added to your spreadsheet. ...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Content Creation, Multimodal AI use case.