Dial & Translate embeds¶
Status: Current | Last reviewed: 2026-08-05
A Dial & Translate embed puts a working phone on a web page. The person viewing that page types any phone number, picks the two languages, and talks to whoever answers — each side hearing the other in their own language, live.
It's the same Live Translation used on Salesforce Service Cloud Voice calls, reached from a dial pad instead of a CRM softphone. Typical uses are demos, internal pilots, and portals where the caller isn't a contact-center agent.
What the viewer sees¶
The embedded phone opens on a dial pad with two language dropdowns underneath:
| Control | What it does |
|---|---|
| Number display + keypad | The number to call. Punctuation and a leading + or 00 are fine. |
| My language | The language the person at the keyboard speaks. |
| Their language | The language the person answering speaks. |
| Call | Places the call. |
Both dropdowns start on Agent default, which means "use the languages the translation agent was published with". Choosing languages overrides them for that call only, so one published agent can serve every language pair you offer.
Set both dropdowns or neither. A single language does nothing — the call falls back to the agent's own languages with no warning on screen. The dial screen says so under the dropdowns.
When the call ends, the phone returns to the dial pad and shows how long it lasted, ready for the next number.
What has to be in place first¶
Three pieces, in this order. For the click-by-click version — including how to test it in AI Manager before embedding it anywhere — see Setting up and testing Dial & Translate.
1. A Genesys integration that can dial out¶
Under Settings → Integrations, open your Genesys integration and set, on its External Consults card:
- External Consults — enabled.
- Routing Number — a number in your Genesys org whose Architect flow places the outbound call. TrueServe hands it the number the viewer typed; the flow dials it.
- BYOC trunk FQDN — optional, but set it if you run more than one tenant so the outbound leg uses the right trunk.
The call TrueServe places always goes to your Routing Number. The number the viewer typed is passed along as data for the Architect flow to dial. That's deliberate: the viewer can't cause a call to anywhere your Genesys flow won't dial, and the trunk stays yours.
If this isn't configured, the dial screen shows "No Genesys integration with External Consults enabled…" when someone presses Call.
2. A published translation agent¶
Create and publish an agent whose type is Translation, with both directions configured. See Creating an agent.
The dial mode only accepts translation agents — voice or chat agents don't appear in the picker.
3. The embed configuration¶
Open the standalone emulator (/emulator) and click Embed to open Embed configurations, then New:
| Field | Value |
|---|---|
| Transport | SIP |
| SIP integration | your Genesys integration |
| Dial mode | Dial & Translate (viewer dials, live translation) |
| Translation agent | the published translation agent |
| Default "my language" / Default "their language" | optional — what the dropdowns start on |
| Selectable languages | optional, comma separated (en-US, es-ES, fr-FR) — restricts the dropdowns to these, up to 24 |
| Allowed origins | the domains allowed to embed this phone |
Dial & Translate configs have no Destination (the viewer supplies it) and no Auto-connect (there's nothing to dial on load).
Leave Selectable languages blank to offer a curated default list. If you do fill it in, any default language you set must be one of the listed ones.
Then use the row's Generate snippet action to get the HTML for your page, the same as any other embed. See Embedding a surface for where snippets and origins live.
Who can use the embed¶
Viewers must be signed in to AI Manager. The embed authenticates with a short-lived session cookie the page exchanges on load; there's no anonymous dialing. Turning the config's Active switch off stops new calls immediately.
Each configuration is limited to 5 dial attempts per minute. A viewer who hits it sees "Too many dial attempts; wait a moment and try again".
Troubleshooting¶
| What you see | What it means |
|---|---|
| "No Genesys integration with External Consults enabled…" | Step 1 isn't done — the integration needs both External Consults on and a Routing Number. |
| "This embed is not configured for Dial & Translate" | The configuration is WebRTC transport, or its dial mode is still Fixed destination. |
| "Embed session expired; reload the page" | The page has been open longer than the embed session lasts. Reload it. |
| "Enter a valid phone number" | The number isn't a plausible full phone number. Include the country code. |
| No translation agents in the picker | No agent of type Translation is published in this tenant. |
| Call connects but nobody is translated | Only one language was set, or the agent's own languages are in use. Set both dropdowns. |
| Call never reaches the person you dialed | The Architect flow on your Routing Number isn't dialing the number TrueServe passes it. Check that flow in Genesys. |
See also¶
- Embedding a surface
- Salesforce Live Translation — the same translation on a CRM softphone
- Testing with the emulator
- Creating an agent