This one connects directly to Build 2. The chatbot captures the lead and hands them Sam's number. Sam calls, qualifies them on three criteria, and Gemini updates the CRM automatically after the call ends. A few things worth knowing before you attempt this: If you're building from outside the US, check regional support before committing to any voice AI platform. Retell AI requires SMS verification — Zambian numbers aren't supported. I had to pivot to Vapi mid-build. Vapi supports email and GitHub signup only, which works fine. Vapi's Server URL field can look saved when it isn't. Refresh the page after saving and verify the field actually persisted. I spent a long time debugging ngrok, n8n, and Vapi delivery logs before realising the field had never saved in the first place. Vapi fires two events per call: status-update (immediate, empty transcript) and end-of-call-report (full transcript after the call ends). Don't use n8n's "Listen for test event" for this, it catches the wrong one. Use Published workflow + Production URL + Executions tab. Filter out empty transcripts before they reach your AI model. Phantom failed calls still fire end-of-call-report with nothing in the transcript. Gemini will return a qualified: false decision with "No transcript provided" if you let those through. For Airtable Update nodes, match by a unique column like Phone, not by record ID. And make sure your phone number format matches exactly what's stored in Airtable, + prefix included. If n8n starts throwing database ping failures after heavy webhook load, restart clean. SQLite gets unstable under that kind of pressure. Full breakdown of all eight problems and fixes on LinkedIn: https://www.linkedin.com/posts/mark-mwila-1bb779262_aiagents-voiceai-vapi-ugcPost-7479801291691606016-a0Gs/?utm_source=share&utm_medium=member_desktop&rcm=ACoAAECKqN8B08HCNLn9gnczhcsNpq3kEDCKvWM