Voice Agent Service Stack

The architecture behind our AI phone agents. Five systems, two key connections, fully templatized. Every new client is the same setup with different data plugged in - which means this is trainable. Hire someone, walk them through it twice, they can run it.

01

Retell AI

The orchestration layer. Retell brings the LLM, voice provider, and telephony together into one platform. Everything else plugs into it.

Retell is the platform that makes the voice provider and the LLM interchangeable. Swap Claude for GPT or Gemini without rebuilding the agent. Swap ElevenLabs for Fish AI without touching the conversation logic. The agent, the flow, the prompts - all stay the same regardless of what powers it underneath. It also has a built-in knowledge base, so we upload business-specific info and the agent can reference it during calls. Every agent we build is a duplicate of our existing template agent - clone it, rewrite the prompt with the onboarding data, attach a knowledge base, done.

🔄

LLM Layer

Currently Claude 4.5 Sonnet (cascading). Swappable to GPT, Gemini, or any supported model. The conversation flow does not change when the model changes.

🎤

Voice Layer

Currently ElevenLabs. Swappable to Fish AI, Play.ht, Cartesia, or Retell's own voices. Pick a voice per client - different businesses can sound different.

📞

Telephony

Phone numbers, inbound/outbound calling, call transfers, DTMF handling. All built into Retell. Buy a number, assign it to an agent, it is live.

🧩

Conversation Flows

Visual node editor for the call logic. Nodes connected by transition conditions. We take the onboarding info, write the prompt, build the flow. Every new agent is a duplicate of our template with the client's data swapped in.

📚

Knowledge Base

Built into Retell. Upload documents, SOPs, service info - the agent can reference it during calls without it being hardcoded in the prompt. Add or update knowledge without rebuilding the flow.

02

The Automation and Data Layer

Retell handles the call. n8n handles everything that happens before, during, and after it.

n8n

Workflow automation platform. Visual node editor. 4 workflows per client make the agent work on the backend: CRM lookup (who is calling), new client add (add to sheet mid-call), MCP server (bridge between Retell and the sheet), and EOC report (post-call logging, spam filter, notifications). All 4 are duplicated from templates for each new client.

📊

Google Sheets

The CRM. One spreadsheet per client, duplicated from a template. 4 tabs - contacts, call log, employees, work notes. n8n reads and writes to it in real time. The client can view their own data anytime.

📱

Twilio

SMS delivery. n8n triggers a text to the business owner after every call with a summary. One shared Twilio number across all clients.

Gmail

Email delivery for employee work note reports. Branded HTML templates. Triggered by n8n when the post-call analysis detects an employee work note.

This is trainable

Every component is a duplicate. The agent, the sheet, all 4 workflows - they are all cloned from templates. New client setup is: duplicate everything, swap in the client's data from the onboarding call, connect two URLs, test. Retell and n8n are both visual editors. Someone could learn the full deployment process in a week and handle new client builds independently from there.

03

Architecture

Two connections per client. MCP handles mid-call data, webhook handles post-call processing.

Retell Agent (conversation flow + knowledge base)

Retell

Handles the call, runs the flow, uses the LLM + voice

↓ MCP connection (mid-call) ↓

n8n - 4 Backend Workflows

MCP Server

Exposes CRM tools to Retell

CRM Lookup

Phone number to contact match

New Client Add

Writes new callers to sheet

↓ ↑

Data

Google Sheets

Caller ID, Call Log, Employees, Notes

↓ Webhook (post-call) ↓

n8n - EOC Report Workflow

EOC Report

Logs call, spam filter, routes notifications

Notifications

Twilio

SMS to owner

Gmail

Email reports

🔗
The two connections every client needs

MCP URL - how Retell talks to n8n during a call to look up callers. Webhook URL - how Retell tells n8n after a call ends so it can log and notify. Set up the spreadsheet first, then n8n, then Retell. Each piece plugs into the next.

04

Call Flow

What happens from ring to notification.

1
Retell answers, greets the caller
2
MCP fires - CRM lookup via n8n

Caller's phone number is checked against the Google Sheet. Returns: employee, existing client, or new caller.

3
Flow branches based on result

Employee -> work note flow (9-question checklist). Existing client -> greet by name, route by department. New caller -> collect name, MCP writes to sheet, then route.

4
Transfer, message, or emergency routing

Cold transfer to the right team member. After-hours check via time-based branch node. Emergency calls bypass hours and go direct.

5
Call ends - webhook fires to n8n EOC workflow

Retell sends the transcript, structured outputs, and recording URL. n8n logs to sheet, runs spam filter, sends SMS via Twilio. Employee work notes trigger a formatted email via Gmail instead.

05

Onboarding Pipeline

AI interviews the client, Claude extracts structured data from the transcript, that data becomes the agent's prompt and knowledge base.

Retell

Outbound call, 20 min AI interview

n8n

Webhook fires, sends transcript to Claude API

Claude

Extracts structured JSON from conversation

Sheet

Extraction saved, human reviews

Build

Data feeds into the new agent's prompt + KB

What the AI asks

1
Name, phone, business name

Gets their contact info into the system

2
Tell me about your business

Location, years, service area, what they do

3
Services deep dive - the most important part

For each service: "If someone calls about this, what would you ask them before sending someone out?" This is what makes the agent actually smart.

4
Team, hours, emergencies

Who handles what, phone numbers, after-hours behavior, emergency contacts

5
The unwritten rules

"What would you tell a new receptionist that is not in any manual?" Pet peeves, words to never say, industry jargon, standard answers to common questions

06

Client Deployment

Duplicate everything, feed in the onboarding data, connect the URLs. We have a template for the prompt - paste in the new info, create the knowledge base, review it, ship it.

Sheet

Copy template, add contacts

n8n

Copy 4 workflows, point at the sheet

Retell

Copy template agent, plug in their info

Test

Call the number, make sure it works

Copy the template. 4 tabs: Caller ID (contacts database - name, phone, employee Y/N), Call Log (fills automatically with every call), Employees (names, phones, emails, what they handle, notification settings), Employee Notes (work reports, fills automatically).

Grab the spreadsheet ID from the URL - you need it for the n8n workflows.

CRM Lookup - checks who is calling by searching the spreadsheet. New Client - adds new callers to the spreadsheet. MCP Server - the bridge that lets Retell use those two tools during a call. EOC Report - runs after every call to log it, filter spam, and send notifications.

Copy each template, swap in the new spreadsheet ID, activate. Get the MCP URL and webhook URL - those go into Retell.

Copy the template agent. Update the conversation flow with the client's business name, team members and phone numbers, department routing, emergency contact, and any words to never say.

Paste the MCP URL (so the agent can look up callers during calls) and the webhook URL (so calls get logged after they end). Buy a phone number and assign it.

Call the number yourself. Test as a new caller (should ask your name, add you to the sheet). Call again (should recognize you). Ask for a transfer (should go to the right person). Check the spreadsheet for new rows. Check your phone for the text notification. Fix anything that sounds off.

📋
The setup order matters

Spreadsheet first (because n8n needs the sheet ID). n8n second (because Retell needs the MCP URL and webhook URL). Retell third (because it needs both URLs from n8n). Each piece plugs into the next one.