Skip to main content

Connect an AI engine

An AI engine is the service that actually talks to your callers. WhautoVoice runs on your own key, so you connect the engine once under Settings > Integrations and every AI voice agent in the workspace can use it. Usage is billed by the engine to your own account.

Why you need one​

An AI voice agent without an engine has nothing to speak with. Until an engine is connected, the AI Voice Agents page shows a No AI engine connected banner and every call routed to an AI agent lands in voicemail instead. Connect an engine first, then build your AI agents.

Before you start​

  • You need the Owner or Administrator role. Agents cannot see Integrations.
  • Have an account with the engine you want to use, with billing enabled.
  • Engines are connected per workspace. If you run several workspaces, connect the engine in each one.

The four engines side by side​

OpenAIxAI GrokElevenLabs AgentsSarvam AI
Best forGeneral useGeneral useMany languages, natural voicesIndian languages
What you pasteAPI key, Project id, Webhook signing secretAPI keyAPI key per regionAPI key
Covers every number automaticallyYesNo. Register each number under Phone Numbers > AI enginesNo. Register each number under Phone Numbers > AI enginesYes, once the number is granted the engine
Where the AI agent is builtIn WhautoVoiceIn WhautoVoiceIn WhautoVoice, pushed to ElevenLabs on saveIn WhautoVoice
Voicesalloy, ash, ballad, coral, echo, sage, shimmer, verse, marin, cedareve, ara, leo, aurora, atlas, plus any others in your xAI catalogueThe voices in your ElevenLabs workspace, with a preview for each37 Bulbul voices, with a preview for each
LanguagesEnglishEnglish32, chosen on the AI agent11 Indian languages, or detect from the caller
Modelsgpt-realtime, gpt-realtime-minigrok-voice-latest, grok-voice-think-fast-2.0, grok-voice-think-fast-1.0An LLM of your choice, plus the voice modelSarvam 105B, plus the speech and voice models
TranscriptAppears live during the callAppears live during the callArrives after the call endsAppears live during the call
Outbound campaignsYes, dialled by your carrierYes, dialled by your carrierYes, dialled by your carrierYes, dialled by your carrier
RegionsGlobalGlobalGlobal and IndiaIndia

Connect OpenAI​

OpenAI is the only engine that needs three values, because OpenAI tells WhautoVoice about each incoming call through a webhook you create in the OpenAI dashboard. One connection serves every phone number in the workspace.

  1. Open the OpenAI card
    • In the sidebar choose Settings > Integrations, then click Connect on the OpenAI card. The page is titled OpenAI - AI voice agents (bring your own key).
  2. Create a project and an API key
    • At platform.openai.com create a project (or open an existing one) and generate an API key for it. Paste the key into API key.
  3. Copy the Project id
    • In OpenAI open Settings, then Project Settings. The General tab shows the Project ID, which starts with proj_. Paste it into Project id.
  4. Create the webhook
    • On the Webhooks tab of the same OpenAI page click Create. Copy the Webhook URL shown under Setup steps on the WhautoVoice page (use the copy icon) and paste it into the URL field in OpenAI.
  5. Pick the event type
    • Under Event types choose realtime.call.incoming, listed under Realtime API, and nothing else. Then click Create in OpenAI.
  6. Copy the signing secret
    • OpenAI shows the signing secret once, when the endpoint is created. It starts with whsec_. Paste it into Webhook signing secret.
  7. Save & verify
    • Click Save & verify. WhautoVoice checks the key against OpenAI and shows OpenAI key verified. The card status changes to Connected.

OpenAI Engine Page

The Your SIP endpoint line at the bottom of Setup steps is shown for information only. It is the address calls are bridged to and is used automatically. You do not need to paste it anywhere.

One connection, every number

OpenAI is addressed by project, not by phone number. Once the card says Connected, every number routed to an OpenAI agent answers straight away. There is nothing to register under Phone Numbers.

Connect xAI Grok​

xAI needs one key, then a registration for each number that should reach a Grok AI agent.

  1. Open the xAI Grok card
    • In the sidebar choose Settings > Integrations, then click Connect on the xAI Grok card.
  2. Create an API key
    • In the xAI console create an API key and copy it.
  3. Paste and save
    • Paste it into API key and click Save & verify. The page shows xAI Grok key verified and the Last verified time.

xAI Grok Engine Page

  1. Register each phone number
    • Grok is dialled at the number itself, so an AI agent only answers on numbers you register. Go to AI & Call Handling > Phone Numbers, open AI engines on the number and click Register next to xAI Grok. Until you do, the number shows Not registered. AI agents on this engine cannot answer on this number yet. and callers reach voicemail.

Connect ElevenLabs Agents​

ElevenLabs keeps a copy of each AI agent in your ElevenLabs workspace and updates it whenever you save the AI agent. Each region is a separate environment with its own key.

  1. Open the ElevenLabs Agents card
    • In the sidebar choose Settings > Integrations, then click Connect on the ElevenLabs Agents card.
  2. Create a key from a workspace admin account
    • In ElevenLabs open the API keys page and click Create Key. Do this from a workspace admin account, because only an admin can grant the Webhooks permission.
  3. Set the key permissions
    • Give the key ElevenAgents: Write, Voices: Read, Text to Speech: Access and Webhooks: Access. Leave every other row on No Access.
    • Text to Speech is what lets a call flow step have its line read in one of your voices. A key without it still runs agents and still lists your voices, so the gap only shows up the first time someone presses Generate on a call flow step.
  4. Pick the region and paste the key
    • Leave Region on Global for your first connection. Paste the key into API key. API base URL is optional and is pre-filled for the Global region.
  5. Save & verify
    • Click Save & verify. The header shows Connected regions: Global and the Last verified time.

ElevenLabs Engine Page

  1. Add the India region if you serve Indian numbers
    • Ask ElevenLabs to enable India data residency on your account. They give you an API base URL for that environment. Back on this page click Add region, choose India, paste the region's key and its API base URL, and click Save & verify. An Indian number routed to an ElevenLabs AI agent needs the India connection, otherwise the call is rejected.
  2. Register each phone number
    • As with xAI, go to AI & Call Handling > Phone Numbers, open AI engines on the number and click Register next to ElevenLabs Agents.
Transcripts need the Webhooks permission

A key without Webhooks: Access still places calls, but the transcript that arrives after each call does not. If you see The key works, but it could not register the post-call webhook, recreate the key from a workspace admin account with the Webhooks permission and save again.

Connect Sarvam AI​

Sarvam is built for Indian languages. It needs one key and nothing else: no project, no workspace id, and nothing to set up on Sarvam's side.

  1. Open the Sarvam AI card
    • In the sidebar choose Settings > Integrations, then click Connect on the Sarvam AI card.
  2. Create an API subscription key
    • In the Sarvam console create an API subscription key and copy it.
  3. Paste and save
    • Paste it into API key and click Save & verify. The page shows the key verified and the Last verified time.

Sarvam AI Engine Page

  1. Grant the numbers that should use it
    • Go to AI & Call Handling > Phone Numbers, open AI engines on the number and click Register next to Sarvam AI. Nothing is sent to Sarvam by this: it only records that this number may use the engine.
Use the API subscription key, not a Voice Agents key

Sarvam issues more than one kind of key. WhautoVoice needs the API subscription key that covers speech and language. A Voice Agents key looks similar and is refused with a message saying so.

Choosing the language​

An AI agent on Sarvam can speak eleven Indian languages: English, Hindi, Bengali, Tamil, Telugu, Kannada, Malayalam, Marathi, Gujarati, Punjabi and Odia. Pick one on the AI agent under Language.

Leave it blank and the agent understands any of them and answers in Indian English. That suits a line where callers ring in whatever language they please. Pick a language and the agent both listens and answers in it.

Sarvam understands more languages than it speaks

Sarvam can recognise around two dozen Indian languages but has voices for eleven. Only the eleven it can answer in are offered, so an agent is never set up to understand a caller it cannot reply to.

Tuning how it listens​

The AI agent page has a Speech and turn-taking section for Sarvam agents. Every field is optional and the value shown in an empty box is what is used.

  • Pause before replying is the one worth touching. It is how long a caller may pause before the agent decides they have finished. Lower it and the agent answers sooner but may talk over someone who was only thinking; raise it and the agent feels slower. Try 300 if callers find it sluggish.
  • Speaking rate, Voice sensitivity and Shortest utterance are finer adjustments. Leave them alone unless you have a reason.
  • Recognition model and Voice model pin a specific Sarvam model version. The recommended ones are already selected.

Disconnecting an engine​

Click Disconnect at the top right of the engine page and confirm. This removes the stored key (and the project id and signing secret for OpenAI) from the workspace. Your call history is kept.

  • Every AI voice agent on that engine stops answering until a new key is added. The confirmation tells you how many AI agents are affected.
  • Calls already routed to those AI agents go to voicemail from the next call onwards.
  • For ElevenLabs you disconnect one region at a time.
Need help?

Email us at hello@whautovoice.com and we will get you sorted.