InfraVoice

Human Agent Panel (AI → Human Transfer)

The Agent Panel lets your AI agent hand a live call to a human agent who answers in the browser — no separate softphone hardware, and (unlike a plain number transfer) the human can hand the call back to the AI on the same call.

Each agent chooses one of two transfer modes:

ModeWhat happensExtra setup
Phone number (default)The AI dials a number and drops off the callAccount SID + Auth Token + a number
Agent panelThe AI routes the caller to an available human agent in the browser portalThe above plus a Twilio API Key and TwiML App

Bring your own Twilio. All values below come from your own Twilio account. Never share your Auth Token or API Secret. Placeholders like <ACCOUNT_SID> mean "paste your value here".


1. Create the Twilio credentials

Sign in at console.twilio.com and use the search box (🔍) to reach each page — typed deep-link URLs are unreliable.

Account SID + Auth Token — on the console home, under Account Info: copy <ACCOUNT_SID> (starts AC…) and <AUTH_TOKEN>.

API Key + Secret — search "API keys"Create API key → type Standard → copy the SID <API_KEY_SID> (starts SK…) and the Secret <API_SECRET> (shown only once — save it now).

TwiML App — search "TwiML Apps"Create new TwiML App → set the Voice Request URL (below) → copy the App SID <TWIML_APP_SID> (starts AP…).

Phone number — the number callers dial. If regular telephony already works, this is already set up.


2. Webhooks — what to put where

Set these in the Twilio console:

WhereFieldValue
TwiML AppVoice Request URL (POST)https://your-infravoice-host/twiml/agent-connect
Phone numberA call comes in (POST)https://your-infravoice-host/calls/inbound

The platform also sends these automatically during a call (you do not enter them in Twilio) — they must simply be reachable at your domain:

  • POST /webhooks/conference-status — join/leave/start/end events
  • POST /webhooks/recording-status — recording completion
  • POST /webhooks/call-status — per-leg status

3. Save the credentials on the platform

Go to Call Center → Settings and enter:

FieldValue
Twilio Account SID<ACCOUNT_SID>
Twilio Auth Token<AUTH_TOKEN>
Twilio API Key<API_KEY_SID>
Twilio API Secret<API_SECRET>
TwiML App SID<TWIML_APP_SID>
Default Caller IDyour Twilio number

These are stored per workspace; the secret is encrypted at rest.


4. Enable panel mode for an agent

  1. Call Center → Projects — create or pick a project (e.g. Support). This is where panel calls get routed.
  2. Call Center → Agents — create a human agent (name + email), assign them to the project, then click Email to send their login credentials.
  3. Agents — open your AI agent → Telephony tab → Human Transfer → choose Agent panel → select the project → Save.

When a caller asks for a human, the AI now routes to an available agent in that project instead of dialing a number.


5. How a human agent works a call

  1. The agent logs in at the agent portal and toggles their status to Available (allow the microphone when the browser asks).
  2. On a transfer, an incoming-call panel rings with the caller's number and the AI's summary of the conversation so far.
  3. The agent clicks Accept to take the call, uses Mute / Hold / End, and on hang-up fills in a disposition + notes on the wrap-up screen.
  4. Past calls (with transcript, recording playback, and notes) are available under Call History.

6. Troubleshooting

  • Softphone shows an error / won't go ready — the workspace is missing the API Key / Secret / TwiML App SID in Call Center → Settings (step 3), or the TwiML App's Voice URL isn't set (step 2).
  • No microphone — the portal must be opened over HTTPS (browsers block the mic on plain HTTP).
  • Ring never reaches the agent — the agent isn't Available, isn't assigned to the project, or the AI agent isn't in Agent panel mode.