Use Vapi as your voice engine. Keep every WFW integration intact.
WFW sits above the voice engine layer. Point it at Vapi and WFW's ToolGateway normalizes every tool-call event — so your CRM, PMS, and scheduling integrations never know the difference.
Switch from ElevenLabs to Vapi without rebuilding a single integration. Call history, extraction data, and analytics stay unified in WFW.
ToolGateway Normalization — Tool-Call Event
Engine-agnostic architecture
WFW supports Vapi, ElevenLabs, Retell, and Synthflow. Switch engines from admin settings — no code changes required.
Capabilities
What this integration enables.
Three concrete capabilities unlocked by connecting Vapi to WFW. The key is normalization — not just connection.
ToolGateway
Vapi Tool-Call Normalization via ToolGateway
When a Vapi agent fires a tool call, WFW's ToolGateway intercepts the event and translates it to WFW's canonical schema. Your CRM, scheduling system, and PMS integrations keep working — unchanged — regardless of which voice engine is underneath.
ToolGateway
Outbound Calls via Vapi's Phone API
WFW routes outbound call requests through POST https://api.vapi.ai/call/phone. Call metadata, duration, recording references, and extracted data all flow back through the WFW event bus — consistent with every other voice engine WFW supports.
ToolGateway
Preserved Call History Across Engine Migrations
Every call WFW handles is stored against the WFW call record, not the underlying engine. When you switch from ElevenLabs to Vapi (or back), your entire call history, extraction data, and agent analytics stay intact in WFW.
Data Flow
How it works.
A technically accurate walkthrough of what moves between WFW and Vapi on every call.
WFW routes the call to Vapi
When Vapi is configured as the active voice engine for an agent, WFW sends outbound call requests to POST https://api.vapi.ai/call/phone with the WFW-generated call context, caller ID, and conversation script.
Vapi handles voice — WFW handles data
Vapi manages TTS, STT, and real-time conversation. When the Vapi agent fires a tool call (lookup, booking, CRM write), the event hits WFW's ToolGateway webhook endpoint for normalization before routing to downstream systems.
ToolGateway translates to WFW schema
WFW maps Vapi's tool-call event format to the WFW canonical ToolEvent schema. Your Dentrix, Salesforce, or custom API integration receives a clean WFW event — not a Vapi-specific payload it needs to parse differently.
Extractions and analytics unified in WFW
Call completion, extracted entities, outcome classification, and follow-up triggers all write to the WFW event bus. GET /v2/calls/{id}/extractions returns the same structure whether the call ran on Vapi, ElevenLabs, or Retell.
Use Cases
Before and after.
Real scenarios where the WFW abstraction layer changes the economics of voice AI.
Before
Switching from ElevenLabs to Vapi requires re-mapping every tool-call handler, re-testing all CRM integrations, and rebuilding call analytics dashboards.
After
Change the voice engine setting in WFW admin. ToolGateway handles normalization. Every downstream integration continues working without a single code change.
Before
Testing Vapi against Retell for voice quality means splitting traffic manually and reconciling two separate data pipelines to compare outcomes.
After
WFW routes a percentage of calls to Vapi and the remainder to another engine. All call data lands in the same WFW schema — compare conversion rates apples-to-apples.
Before
A healthcare client requires using a HIPAA-compliant voice provider. Swapping providers means re-engineering the entire agent stack.
After
Point WFW at the compliant voice engine. BAA covers the WFW layer. Tool integrations, PHI extraction rules, and call routing stay exactly the same.
Technical Details
Integration specifications.
API endpoints, auth method, and normalization details for your engineering team.
| Outbound call API | POST https://api.vapi.ai/call/phone — called by WFW on outbound initiation |
| Tool event ingestion | Vapi webhook → WFW ToolGateway endpoint → normalized WFW ToolEvent |
| Auth method | Vapi API key stored encrypted in WFW vault; passed as Bearer token on every request |
| Event normalization | WFW ToolGateway maps Vapi tool-call payload fields to WFW ToolEvent.inputs schema |
| Call data storage | All call records stored in WFW — engine-agnostic. Vapi call ID stored as external_ref. |
| Switching cost | Zero — change voice engine in WFW admin settings. No downstream integration changes required. |
API Endpoints
The WFW endpoints enabled by Vapi.
These /v2/ endpoints work identically whether your agent runs on Vapi, ElevenLabs, or any other supported engine. That's the point — WFW abstracts the engine from the API surface.
Full API Reference →Available Endpoints
/v2/calls/initiateTrigger an outbound call routed through Vapi's phone API
/v2/calls/{id}/extractionsRetrieve normalized extraction data from a Vapi-handled call
/v2/agents/{id}Check agent configuration and active voice engine (Vapi)
Setup
Connect Vapi in three steps.
One credential entry in WFW admin. Every existing integration keeps working.
Add Vapi API key
Enter your Vapi API key in WFW admin under Integrations → Voice Engines → Vapi. The key is encrypted and stored in the WFW vault.
Set Vapi as active engine
In your agent's settings, select Vapi as the voice engine. WFW immediately routes outbound calls through Vapi's phone API.
Verify ToolGateway webhook
WFW auto-registers the ToolGateway webhook URL with your Vapi account. Confirm in Vapi dashboard that the webhook is active.
Get Started
Connect Vapi to your voice agents.
Your preferred voice engine underneath WFW's bot-native API layer. Switch engines anytime — integrations never break.
Connect VapiQuestions? Talk to our team →