Teleperson
Admin & operators

Twilio Voice configuration

Optional in-app VOIP for users on the Premium plan.

Teleperson supports Twilio Voice as an optional in-app VOIP layer. When configured, Premium-tier users can place calls to verified phone numbers directly from the side panel without leaving the browser. This is distinct from the Voice Concierge, which is an ElevenLabs-powered AI agent.

What you configure

In the Voice tab of the Admin Dashboard:

FieldPurpose
Twilio Account SIDYour Twilio account's SID.
Token endpoint URLA serverless endpoint you operate that mints short-lived Twilio access tokens for end users.
Default caller IDThe verified Twilio number used as the From number for outbound calls.
Allowed regionsCountry/region codes the calling feature is enabled in (e.g. US, CA).

Why a token endpoint

Twilio access tokens are short-lived (hours, not weeks) and must be minted server-side with your Twilio Account SID + Auth Token. To keep secrets out of the extension, you operate a small endpoint that:

  1. Authenticates the calling user (via Teleperson's X-TLE-Token).
  2. Verifies the user is on a plan that has VOIP enabled.
  3. Mints a Twilio access token scoped to that user's identity.
  4. Returns the token to the extension.

A reference implementation lives at supabase/functions/twilio-mint-token/ in the repo. Deploy it to your Supabase project and paste its URL here.

Plan gating

VOIP is a Premium feature in the default Teleperson plan model. The plan gating happens in the token endpoint — free-tier users get a 403 rather than a token. The extension's UI reads the user's plan from their profile and hides the Call button proactively, but the server-side check is the authoritative gate.

Per-call audit

Every successful call appends an entry to voice_call_log: user_id_hash, to_number_hash (SHA-256 of E.164 form), duration_seconds, outcome (answered, voicemail, failed). The raw destination number is not logged — only its hash. This is consistent with the rest of Teleperson's telemetry posture.

On this page