Build a 24/7 AI Voice Agent That Logs Calls Automatically
A Vapi voice agent tool that captures caller info when you cannot pick up and logs it to a Google Sheet via Make.
What you'll build
A tool for your Vapi voice agent that takes down a caller's information when you can't pick up - weekends, dinner, whenever - and logs it to a Google Sheet so you can follow up at a better time. Missing a client's call is missing straight-up money; this gives your business someone who's there 24/7.
Every call flows: Vapi tool fires → Make.com webhook → Google Sheets row. The sheet gives you the caller's name, phone number, a call summary, the reason for the call (callback request, general inquiry), an outcome (disconnected, needs human follow-up, agent could not answer), a timestamp, and a status column your staff can flip to "completed" once someone's called back. Sort it Z→A so the newest calls sit at the top.
It's three nodes, no code.
What you'll need
- A Vapi account with a working voice agent (the receptionist build from my previous videos works fine)
- A Make.com account
- A Google Sheet for the log
Step 1: Create a custom webhook in Make.com
New scenario → hit the + button → Webhooks → Custom webhook. Name it whatever you want and copy the address to clipboard.
Step 2: Create the API request tool in Vapi
In Vapi, go to Tools → Create an API request. Then:
- Name the tool (mine is "log follow-up demo")
- Paste the webhook URL you just copied as the request URL
- Change the HTTP method to POST - that's saying you're sending the information over
- Request headers:
Content-Type: application/json
Step 3: Configure the request body properties
This part is up to you, but here's exactly how I configured it. The descriptions don't have to be thorough - keep them simple:
- name - required. Description:
Caller name for follow-up. - phone_number - required. E.164 format - this is pretty important; it makes sure the number is collected in the correct format.
- call ID - honestly unnecessary.
- reason - pretty important. Why they called (request a callback, general inquiry, etc.).
- outcome - I put the values in explicitly so I'd know the category:
disconnected,needs human follow-up,agent could not answer. - summary - Description:
Brief summary of caller's request. - timestamp - pretty important, so it doesn't come out in a weird format. Mine specifies date, time, and Eastern Standard Time.
Then - don't skip this - scroll down to your assistant's Tools section and attach the tool, or the agent will never call it.
Step 4: Add the Google Sheets node in Make
Back in Make, first set the webhook to run Immediately (it may default to "on once" or regular intervals at the start).
Add a Google Sheets → Add a Row node:
- Spreadsheet ID - extracted straight from the sheet's URL: it's everything between the
/d/and before/edit. No hunting required. - Sheet name - Sheet1. Column range - A through Z.
- Then just drag the webhook fields into their columns: name, phone number, reason, outcome, summary, timestamp.
Step 5: Add the webhook response node
Add a Webhook Response node at the end - this one you might have to add manually. The body is just:
true
Without this node, the tool reports as FAILED on the Vapi side even when the data went through. All it does is go back to the Vapi agent and say "the tool was called successfully, everything's good" - same reason the demo call ended with "completed successfully."
Step 6: Make the sheet readable
When the data first comes in it might look a little funky. In Google Sheets: Insert → Pre-built tables, fill in a blank table, customize the columns. Then filter the timestamp column Z→A so the newest calls are on top, and use the status column ("completed") so your receptionist or staff can see at a glance which callers still need a callback.
That's it really - three nodes, and your business never misses a client lead again.
Resources
- Vapi - https://vapi.ai
- Make.com - https://www.make.com