Retell handles the voice. WFW handles every integration behind it.
WFW routes calls through Retell's API and normalizes every webhook event into the WFW event bus — so your downstream systems never know which voice engine is running.
Migrate to Retell without rebuilding integrations. Switch back without losing call history. WFW abstracts the engine from the integration layer.
Event Bus Normalization — Retell Webhook Flow
Engine-agnostic architecture
Retell, Vapi, ElevenLabs, and Synthflow all supported. Change the engine — keep every integration.
Capabilities
What this integration enables.
Three concrete capabilities unlocked by connecting Retell to WFW.
Event Bus
Retell Webhook → WFW Event Bus
Retell fires webhooks on call events (start, tool-call, end, transcript). WFW's event bus receives every Retell webhook and routes it through the same normalization pipeline used for all supported voice engines.
Event Bus
Outbound Calls via Retell's Create API
WFW routes outbound call requests to POST https://api.retell.ai/call/create. Call configuration — phone number, agent context, metadata — is assembled by WFW and sent to Retell in Retell's expected format automatically.
Event Bus
Zero-Rebuild Provider Switching
Because WFW owns the integration layer, migrating from ElevenLabs to Retell (or Retell to Vapi) requires only a voice engine setting change in WFW admin. Every Dentrix, Salesforce, or OpenTable integration continues without modification.
Data Flow
How it works.
What moves between WFW and Retell — from outbound initiation to extraction delivery.
WFW initiates via Retell's call API
For outbound calls, WFW sends a request to POST https://api.retell.ai/call/create, including the caller ID, recipient number, agent configuration, and WFW-generated call context for the Retell agent to reference.
Retell manages the conversation
Retell handles all real-time voice processing: STT, LLM inference, TTS delivery. When the agent needs to look up data or write a record, Retell fires a tool-call event via webhook to WFW.
WFW event bus receives and normalizes
Every Retell webhook — tool call, transcript chunk, call end — lands on the WFW event bus. WFW maps the Retell payload to its canonical event schema before routing to downstream integrations.
Consistent extraction data regardless of engine
GET /v2/calls/{id}/extractions returns the same structured output whether the call ran on Retell or any other engine. Your reporting, follow-up triggers, and CRM writes all use the same WFW API.
Use Cases
Before and after.
Real scenarios where WFW's engine abstraction layer changes the calculus.
Before
Migrating from ElevenLabs to Retell requires re-mapping tool-call handlers, updating webhook endpoints in every downstream system, and re-testing all CRM integrations end-to-end.
After
Switch the voice engine in WFW admin. WFW's ToolGateway handles the Retell webhook format. Downstream systems receive the same WFW events — migration takes minutes, not weeks.
Before
Evaluating Retell against another engine requires separate test environments with duplicated integration stacks and manual comparison of call outcomes.
After
Route a test percentage of calls to Retell while the remainder run on the current engine. All call data normalizes into WFW — compare quality scores from a single dashboard.
Before
A regulated industry client mandates a specific voice provider. The entire agent stack needs to be rebuilt for each client's required vendor.
After
Set Retell as the voice engine for that client's WFW agent. The integration layer — HIPAA guardrails, CRM connections, extraction rules — remains unchanged.
Technical Details
Integration specifications.
API endpoints, webhook event types, and normalization details for your team.
| Outbound call API | POST https://api.retell.ai/call/create — called by WFW on outbound initiation |
| Webhook ingestion | Retell webhook POST → WFW event bus → normalized WFW canonical event |
| Auth method | Retell API key stored encrypted in WFW vault; sent as Authorization header |
| Event types handled | call_started, tool_call, transcript_chunk, call_ended — all normalized |
| Call record storage | WFW stores all call records engine-agnostically. Retell call ID stored as external_ref. |
| Switching cost | Zero downstream changes. Voice engine is a single setting in WFW agent configuration. |
API Endpoints
The WFW endpoints enabled by Retell.
These /v2/ endpoints are identical across all supported voice engines. Your code doesn't change when you switch to or from Retell.
Full API Reference →Available Endpoints
/v2/calls/initiateTrigger an outbound call routed through Retell's create API
/v2/calls/{id}/extractionsRetrieve normalized extraction data from a Retell-handled call
/v2/agents/{id}Check agent config — confirms Retell as active voice engine
Setup
Connect Retell in three steps.
One credential entry. Existing integrations unchanged.
Add Retell API key
Enter your Retell API key in WFW admin under Integrations → Voice Engines → Retell. Encrypted and stored in the WFW vault.
Set Retell as active engine
In your agent's settings, select Retell as the voice engine. WFW routes outbound calls to Retell's call/create endpoint immediately.
WFW registers webhook
WFW auto-configures the event bus webhook URL in your Retell account. Confirm in Retell dashboard that the WFW webhook is receiving events.
Get Started
Connect Retell to your voice agents.
Retell as your voice engine. WFW handling every integration behind it. Switch engines anytime — zero rebuilds required.
Connect RetellQuestions? Talk to our team →