You'll build a repeatable service that lets plumbers, dentists, and other service-business owners answer calls with a natural-sounding, AI-driven voice that schedules appointments, qualifies leads, and captures payments.
The result is a hands-free phone front-desk that you can sell as a monthly subscription and use to acquire new clients for your agency.
What you'll get: a working n8n workflow that wires Anthropic's Claude, ElevenLabs text-to-speech, and Twilio Programmable Voice together, plus a go-to client-acquisition script that turns the service into a scalable AI automation agency.
What you need Tool Plan / Price* Role n8n (self-hosted Docker) Free (self-hosted) - see Docker Hub for latest image Orchestrates API calls, stores conversation state Twilio Programmable Voice Pay-as-you-go - check Twilio pricing page Provides inbound phone numbers and SIP bridge Anthropic Claude API Usage-based - check Anthropic pricing page Generates conversational replies ElevenLabs TTS API Usage-based - check ElevenLabs pricing page Turns Claude's text into a lifelike voice Cloudflare DNS + SSL Free tier available - verify limits Publishes a secure webhook for Twilio Git (optional) Free Version-controls workflow JSON *We avoid stating exact free-tier caps; always verify the current provider pricing.
Estimated time-to-build: 12-16 hours total (including testing and client-onboarding script).
Defining the core pieces Voice AI is the combination of speech-to-text, natural-language generation, and text-to-speech that lets a computer hold a phone conversation.
In this guide we skip the speech-to-text step by letting Twilio forward the caller's audio to our n8n webhook; the rest happens via APIs.
Key insight: The biggest revenue lever for an AI automation agency is the repeatable client-acquisition funnel, not the underlying technology.
Building voice ai agents for local businesses Below is a step-by-step walkthrough.
Every step mentions the exact UI field, API endpoint, or n8n node name so you can copy-paste without guessing.
1.
Set up a public HTTPS endpoint for n8n Deploy n8n with Docker: Point a subdomain (e.g., ) to your server's IP in Cloudflare DNS.
Enable Full (Strict) SSL in Cloudflare and add a Page Rule that forwards to your n8n port .
When you browse to , you should see a JSON "Welcome" response - that tells you the endpoint is reachable.
2.
Register a Twilio phone number Log in to the Twilio Console and buy a local number - choose a Voice-enabled line.
Under Configure > Voice & Fax, set A CALL COMES IN to Webhook and paste the full URL you just created, e.g., .
Save.
Twilio will now POST a and raw audio stream to your n8n webhook every time the number is dialed.
3.
Create the n8n workflow Open n8n, click New Workflow, and add the following nodes in order: Node Purpose Webhook Receives Twilio's inbound call payload Set (named Extract Speech) Pulls and fields into variables HTTP Request (Anthropic) Sends the conversation transcript to Claude and gets a text reply HTTP Request (ElevenLabs) Sends Claude's reply text to ElevenLabs TTS and receives an audio URL Twilio (Make Call) Plays the TTS audio back to the caller NoOp (End) Returns a to Twilio Configure the Anthropic request node What this does: Calls Claude with a prompt that includes the latest caller input and a short service-specific script.
Why it matters: The prompt is service-specific () so the same workflow can serve plumbers, dentists, or any other service business automation client.
Configure the ElevenLabs request node The node streams the generated audio back to Twilio in the next step.
Play the audio with Twilio Add a Twilio node (type Make Call) and set: To: (the original caller) From: your Twilio number Twiml: When the workflow finishes, the caller hears the AI-generated response as if a human were on the line.
4.
Add a simple CRM hook (optional) Create a second HTTP Request node that POSTs the call details to a Google Sheet via Zapier or directly to HubSpot.
This gives