Skip to content

How to choose an adapter

Every adapter wraps a different wire transport but exposes the same scenario.run() API. Pick by use case, then click through to the adapter page for the constructor, capabilities, gotchas, and a worked example.

If you want to compare specifics side-by-side, see the capability matrix.

By use case

I want to…Adapter
Test a Twilio IVR (phone, DTMF)Twilio
Test an OpenAI Realtime agentOpenAI Realtime
Test a custom Pipecat botPipecat
Use a branded ElevenLabs Convai agentElevenLabs
Test a Gemini Live agentGemini Live
Test a LiveKit room agent (preview)LiveKit [preview]
Test a Vapi outbound dialer (preview)Vapi [preview]
Test a raw WebRTC datachannel agent (preview)WebRTC [preview]
Plug in your own STT + LLM + TTS pipelineComposable
Speak a custom WebSocket protocolWebSocket

What's next