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
- 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.