I build AI intake agents (phone, SMS, web form) for home service contractors. During testing, my agent correctly told a caller with a gas smell to leave the house, then logged the emergency with a null address and a null callback number. The escalation was useless: nobody could be sent and nobody could call back.
This workflow sits between the agent and everything downstream:
- Emergency with no usable callback number or address: pages a human immediately, naming what’s missing
- Any other emergency: pages a human with the address and callback number
- Missing or placeholder fields (“unknown”, “123 Main St”, “555-555-5555”): flagged for review
- Everything: continues to your CRM or sheet
The webhook also replies with severity (page, review or ok) and the list of problems, so the voice or SMS platform can log the result.
Nodes: Webhook → Code → Respond to Webhook → IF → HTTP Request (Slack) and a NoOp placeholder for your CRM. No credentials included. Swap the Slack URL for Discord or anything that accepts a POST.
Repo with test commands (PowerShell and curl): GitHub - rizkynandapr/n8n-intake-record-guard: n8n workflow that pages a human when an AI intake agent logs an emergency with no address or callback number. · GitHub
The story behind it: 8 of my AI agent's 30 test calls failed. Every one was my fault. - DEV Community
Feedback welcome, especially on the placeholder list: which fake values have your agents invented to fill a required field?