Talk to navigate and take actions

Your product on autopilot

Voice mode turns your app into a hands-free copilot. Users speak naturally—"take me to my orders," "cancel the one from Tuesday," "add another"—and the assistant moves them through your routes and fires off the same tool calls your APIs already expose. No new integration, no second widget; one pill, two surfaces, the same handlers behind both.

Works withChat & voiceAll SDKsPer-app toggleSame tool callsWebRTC
Trigger pill
yak
// Same widget, both surfaces
<YakProvider
appId="your-app-id"
mode="both"
>
Push-to-talk · WebRTC · no second integration

What you get

  • Hands-free navigation across your existing routes
  • Real actions, not transcripts—same tool calls as chat
  • One mode prop flips between chat, voice, or both
  • Push-to-talk over WebRTC against the OpenAI Realtime API
  • Same auth, same permissions, same data the user already sees
  • Persists conversations and feeds insights + memory—just like chat
  • Configurable opening greeting—generated, fixed, or silent to control voice minutes

How it works

1

Wire it once, set the mode

Add the widget with your existing getConfig and onToolCall handlers, set mode to "voice" or "both", and enable voice for the application in the dashboard.

2

User taps the pill and speaks

On a click the SDK mints an ephemeral session, requests microphone access, and opens a WebRTC connection to the OpenAI Realtime API straight from the host page—no extra iframe.

3

The assistant navigates and acts

It speaks, redirects through your routes, and calls the same tools chat uses—routed to your onToolCall, with MCP tools executed server-side—then meters the session for billing.

Frequently asked questions

Related features

Ship voice mode with yak.