n8n can start AI voice calls and react to their results. Install the Edesy community node (or use an HTTP Request node with an API key), start calls with variables from any trigger, and subscribe to call events such as call ended or data extracted. Five ready templates cover outbound calls, event handling, Google Sheets, HubSpot and Airtable.
Connect n8n to a voice agent: Try Edesy free — ₹50 free credit, no card needed.
What you get
| Piece | What it does |
|---|---|
| Voice Agent node | Make Call (agent, phone number, variables), Get Call Status, List Calls, List Agents |
| Voice Agent Trigger | Starts a workflow on call events, for all agents or one agent |
| HTTP Request (alternative) | Calls the Edesy REST API with Authorization: Bearer vp_live_... |
| Webhook events | call.ended, call.analyzed, call.failed, call.extracted, call.recording_ready |
| Templates | Basic outbound call, call event handler, Google Sheets campaign, HubSpot lead caller, Airtable campaign |
API keys are created in the dashboard, can be scoped read or write per resource, and are rate limited to 120 requests per minute per key. The full API reference is in the developer docs, and webhook setup is in webhook subscriptions.
We already have step-by-step guides for two of these templates: Google Sheets to AI calls with n8n and log AI calls to Airtable with n8n. This post is the map: the patterns, and which one to use when.
Setup in five steps
- Build and test an agent in Edesy. Use
{{variables}}in the prompt for anything that changes per call, such as{{customer_name}}or{{due_date}}. - Create an API key in Settings, API Keys. Use a
vp_test_key while you build. - Add the credential in n8n: the Edesy node credential, or a Header Auth credential for HTTP Request.
- Import a template or add the Voice Agent node to your own workflow.
- Subscribe to events for the results you need, and verify the
x-edesy-signatureheader in your workflow before trusting the payload.
Pattern 1: new lead, call in minutes
Trigger: a form submission, a CRM webhook or a new row. Steps: wait a few minutes, then Make
Call with the lead's name and what they asked about. On call.extracted: update the lead with
qualification fields. Speed matters more than polish here; a lead called within minutes is far more
likely to pick up than one called the next day.
Pattern 2: daily reminder run
Trigger: n8n Schedule, every morning. Steps: query today's appointments, payments or
deliveries, loop over them and start one call each with the date and amount as variables. On
call.ended: write the disposition back to the source row.
For large lists, consider an Edesy campaign instead of an n8n loop. Campaigns handle parallel calls (1 to 100), retries on chosen dispositions, multiple caller IDs and a daily calling window. n8n can then just upload the list and listen for results.
Pattern 3: call event handler
Trigger: Voice Agent Trigger on call.ended and call.failed. Steps: branch on disposition.
Interested goes to the sales channel, callback requested creates a task, not answered goes to a retry
sheet. This is the template to start with if your calls are already running and you only need the
results routed.
Pattern 4: structured data into your systems
Trigger: call.extracted, which fires when post-call extraction
has pulled the fields you defined. Steps: map fields to your database, ERP or ticketing tool. This is
cleaner than parsing transcripts in n8n: define the fields once in Edesy and receive typed values.
Pattern 5: recording archive
Trigger: call.recording_ready. Steps: fetch the recording link and store it with the
customer record, or copy it to your own storage if your policy requires it.
Pattern 6: survey after a ticket closes
Trigger: your helpdesk webhook when a ticket is closed. Steps: wait an hour, start a survey call.
On call.extracted: write the score and comment back to the ticket.
n8n or Edesy workflows?
Edesy has its own workflow builder with triggers for call ended (filtered by outcome), data extracted, form submitted, schedule, API and CRM webhook, and steps for voice calls, WhatsApp, SMS, email, CRM update, Google Sheets, payment links, conditions and delays.
| Use Edesy workflows when | Use n8n when |
|---|---|
| The steps are standard: WhatsApp, SMS, email, Sheets, CRM update | The logic spans many of your own internal systems |
| You want execution history and retry next to the call | You already run n8n and want one place for automation |
| You want non-developers to edit it | You need custom code steps or self-hosted control |
Many teams use both: Edesy workflows for the follow-up message, n8n for the internal plumbing.
Common mistakes
- Starting calls one by one for a big list. Use a campaign and let n8n handle the edges.
- Ignoring
call.failed. Numbers that never connected need their own path, or they disappear. - Not checking the signature. Anyone can post to a public n8n webhook URL. Verify the HMAC.
- Parsing transcripts with regex. Use extraction fields and
call.extractedinstead. - Testing with a live key. Build with a
vp_test_key, switch when it works.
Before you launch
Test the agent on its own first, in the Test Center with a browser call and a few scenarios, then add the automation. If the call itself is wrong, no workflow will fix it. See testing and evals and the agent templates for proven starting points.
Cost
Your n8n bill does not change. Edesy minutes are from ₹4/min on plans and credit packs, ₹6/min pay as you go, plus telephony, billed in 60-second pulses. See pricing.
Import a template and make your first call: Start on Edesy — ₹50 free credit, no card needed.