IntegrationWorkforce Wave + Vapi

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

WFWOutbound call → POST https://api.vapi.ai/call/phone
VapiVoice conversation active — patient lookup tool fired
VapiWebhook POST → WFW ToolGateway with Vapi tool-call payload
WFWToolGateway maps to WFW ToolEvent schema
WFWDownstream CRM/PMS receives standard WFW event — unchanged

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.

1

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.

2

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.

3

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.

4

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.

Provider Migration

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.

Multi-Engine A/B Testing

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.

Compliance-Driven Selection

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 APIPOST https://api.vapi.ai/call/phone — called by WFW on outbound initiation
Tool event ingestionVapi webhook → WFW ToolGateway endpoint → normalized WFW ToolEvent
Auth methodVapi API key stored encrypted in WFW vault; passed as Bearer token on every request
Event normalizationWFW ToolGateway maps Vapi tool-call payload fields to WFW ToolEvent.inputs schema
Call data storageAll call records stored in WFW — engine-agnostic. Vapi call ID stored as external_ref.
Switching costZero — 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

POST/v2/calls/initiate

Trigger an outbound call routed through Vapi's phone API

GET/v2/calls/{id}/extractions

Retrieve normalized extraction data from a Vapi-handled call

GET/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.

1

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.

2

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.

3

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 Vapi

Questions? Talk to our team →