Build a Voice Receptionist for Your Business · 30 min · Vapi · Google Sheets API · Railway
Call Logging Dashboard + Deploy
ngrok is for testing on your laptop -- a receptionist that only works while your terminal is open isn't a business phone line, it's a demo with a countdown timer.
Hiring signal: Logging every call with transcript and outcome, then deploying the webhook server for real, persistent production use, is what turns a working prototype into something a real business could actually run on.
What you will learn
- Capture every call's transcript and outcome via Vapi's call-end webhook
- Log calls to a real, persistent destination (Google Sheets)
- Deploy the webhook server to a persistent host, replacing ngrok
The Capstone Project
Every piece works. Today closes the loop: every call gets logged somewhere durable, and the webhook server moves off your laptop onto something that stays up when you close your terminal.
Logging every call, not just the ones you happened to be watching
app.post('/webhooks/call-end', async (req, res) => {
const { call, transcript, endedReason } = req.body.message;
await appendToGoogleSheet({
timestamp: new Date().toISOString(),
callerNumber: call.customer?.number ?? 'unknown',
duration: call.endedAt && call.startedAt
? (new Date(call.endedAt).getTime() - new Date(call.startedAt).getTime()) / 1000
: null,
outcome: endedReason,
transcriptSummary: transcript?.slice(0, 500),
});
res.json({ received: true });
});
This webhook fires when a call ENDS, regardless of how it ended (hung up, completed booking, transferred) -- meaning every single call gets logged, not just the ones you're actively monitoring. This is the difference between "I checked a few calls manually" and "I have a real record of every call this receptionist has ever handled."
Unlock the full lesson
You've read the first 2 sections. The rest of this lesson covers From ngrok to a real deployment, Ship it — plus a hands-on lab, quiz, and project artifact.
Create a free account to unlock Phase 0 and Phase 1 of every course — no credit card.
Browse all courses · View pricing · DeVenture Academy