This n8n workflow turns each finished voice call into a record in Google Sheets and, optionally, a WhatsApp alert. It reads the end-of-call payload from your voice agent and decides whether the call is urgent.
The workflow starts with a POST webhook that fires when a call ends. The payload carries call metadata and an optional transcript and/or summary. It is normalized into consistent fields: call ID, end reason, transcript or summary text, and caller phone.
Calls that fail on known end reasons, such as missing usable text, are saved as "unprocessable" records. When text is available, OpenAI extracts structured facts: caller name and phone, intent, sentiment, urgency, summary, requested action, and any follow-up date. Urgency is classified from the model's urgency and sentiment plus keyword matching against your configured urgent keyword list. Each call is appended to Google Sheets as urgent or routine, and urgent call details can be sent to the owner by WhatsApp.
- Trigger
- n8n Webhook ("Voice Call Ended"), accepts end-of-call POST payloads
- AI extraction
- OpenAI: caller name/phone, intent, sentiment, urgency, summary, requested action, follow-up date
- Urgency logic
- Model urgency and sentiment plus matching against a configurable urgent keyword list
- Logging
- Google Sheets, Call Log tab: urgent, routine and unprocessable records
- Alerts
- Optional WhatsApp message to the owner for urgent calls
- Normalized fields
- Call ID, end reason, transcript/summary text, caller phone
- Workflow nodes
- Webhook, OpenAI, WhatsApp, Google Sheets, if, set, code, sticky note
- Use cases
- Customer support lines, appointment and sales calls, operational call audits
- Setup
- Copy the webhook URL from the "Voice Call Ended" trigger and set your voice agent platform to POST end-of-call payloads to it. Then connect OpenAI credentials and your Google Sheets and WhatsApp setti