M
MJK.Supplies
Home / n8n / n8n Voice Agents: Connect AI Phone Systems to Yo…
n8n

n8n Voice Agents: Connect AI Phone Systems to Your Workflows

Voice AI agents handle phone calls autonomously — qualifying leads, booking appointments, answering FAQs, and escalating to humans when needed. Combining n8n's automation power with Vapi or Retell AI for voice creates a complete inbound and outbound calling system. This guide covers how to build voice agents with n8n.

M
MJK Supplies · May 9, 2026 · 11 min read
ShareXinf↗
n8n Voice Agents: Connect AI Phone Systems to Your Workflows

Voice Agent Architecture

A voice agent system has three layers:

Voice layer: Handles the phone call. Converts speech to text, manages the conversation flow, and converts text back to speech. This is where Vapi or Retell AI operate.

Intelligence layer: The AI brain. Decides what to say based on what the caller said. Claude API or other LLMs handle this.

Integration layer: Connects calls to your business systems. When a lead qualifies, create a CRM record. When an appointment is booked, update the calendar. n8n handles this.

Vapi + n8n Integration

Vapi provides the voice layer and handles much of the complexity:

  • Phone number management
  • Speech-to-text (STT)
  • Text-to-speech (TTS) with ElevenLabs or other voice providers
  • Real-time conversation management
  • Webhook events for integration

Setting up Vapi webhooks to n8n:

In Vapi, configure webhook URL to your n8n webhook endpoint.

Vapi sends events:

  • call.started — new inbound call
  • call.ended — call completed (with transcript)
  • tool.call — your assistant is calling a tool you defined
  • status-update — conversation progress

n8n handles the events:

  1. Webhook trigger: Vapi event received
  2. IF node: which event type?
  3. Branch for call.ended: process transcript, extract data, update CRM
  4. Branch for tool.call: execute the tool request and return result

Building an Inbound Lead Qualification Agent

The agent's goal: Answer inbound calls, qualify the caller as a potential customer, and book a meeting if qualified.

Vapi configuration:

{ "assistant": { "name": "Alex", "voice": {"voiceId": "your-elevenlabs-voice-id"}, "model": { "provider": "anthropic", "model": "claude-sonnet-4-6", "systemPrompt": "You are Alex, a friendly sales assistant for [Company]. Your goal is to qualify leads and book demos. Ask about: their current solution, company size, specific use case. If they qualify (company 20+ employees, specific use case we serve), offer to book a 30-minute demo via Calendly. Be conversational, not scripted." }, "firstMessage": "Thanks for calling [Company]! This is Alex. How can I help you today?", "tools": [ { "type": "function", "function": { "name": "check_availability", "description": "Check available demo slots for booking", "parameters": {"type": "object", "properties": {}} } }, { "type": "function", "function": { "name": "book_meeting", "description": "Book a demo meeting", "parameters": { "type": "object", "properties": { "name": {"type": "string"}, "email": {"type": "string"}, "slot": {"type": "string"} } } } } ] } }

n8n workflow for tool calls:

  1. Vapi webhook: tool.call event with function.name = "book_meeting"
  2. Extract: name, email, slot from tool arguments
  3. Calendly API: create booking
  4. HubSpot: create contact + deal
  5. Email: send confirmation to caller
  6. Return: confirmation message to Vapi → agent reads to caller

Outbound Calling Campaign

Use n8n to trigger outbound calls:

  1. Airtable trigger: new row (leads to call)
  2. HTTP: Vapi API → initiate outbound call
POST https://api.vapi.ai/call/phone { "phoneNumberId": "your-vapi-number-id", "customer": { "number": "+1{{$json.phone}}" }, "assistant": { "systemPrompt": "You're calling {{$json.name}} at {{$json.company}} to follow up on their interest in..." } }
  1. Wait: 5 minutes (don't flood calls)
  2. Continue loop for next lead

Post-call processing:

  1. Vapi webhook: call.ended (with transcript)
  2. Claude: analyse call outcome — interested, not interested, wrong number, voicemail, callback requested
  3. HubSpot: update contact with call outcome
  4. If interested: create follow-up task for human rep
  5. If voicemail: schedule retry in 24h

Appointment Reminder Calls

Simple voice reminder workflow:

  1. Schedule trigger: check appointments for tomorrow
  2. Database: get appointments with phone numbers
  3. HTTP: Vapi API → initiate reminder call for each
  4. Vapi handles: "Hi, this is a reminder about your appointment tomorrow at 2pm with [Company]. Press 1 to confirm, 2 to reschedule."
  5. Vapi webhook: call.ended → n8n processes response
  6. Calendar: update attendance status

Call Analysis and Intelligence

Every call produces a transcript. Extract value from it:

  1. Vapi webhook: call.ended with full transcript
  2. Claude: "Analyse this sales call transcript. Extract: customer pain points mentioned, objections raised, sentiment, likelihood to convert (1-10), and recommended next step."
  3. HubSpot: update deal with AI analysis
  4. If likelihood ≥ 7: Slack alert to sales rep
  5. Weekly batch: aggregate call insights → email report to sales leadership

Recommended Tools

  • n8n — Voice agent workflow orchestration
  • Vapi — Voice AI platform; best for building phone agents
  • Retell AI — Alternative voice AI platform
  • ElevenLabs — Natural-sounding AI voices
  • Claude API — AI brain for voice agents
  • Twilio — Phone number and telephony infrastructure
#n8n#voice#twilio#vapi

Related articles

MJK Supplies · Automation Services

Want this built for you?

We design and ship custom AI agents and automation systems for teams that want results, not a backlog. Book a free 30-minute consult — no commitment, no pitch deck.