- Genesys
- Ujet
- Kustomer
- Dixa
Core functionality
The following functionality is available for all supported platforms: File upload: Users and agents exchange files in both directions. Accepted types and size limitsdepend on the provider. Conversation context: Pass context to the agent when the handoff starts: the full conversation
transcript, the contents of any variable you choose: a generated summary, an order ID, a routing reason or nothing at all. Back to AI: Return the user to your Voiceflow agent when the live conversation ends, with a
summary of the handoff already in the AI context. Useful for post-handoff surveys and follow-up flows. Transcript logging: Live agent messages are written to your Voiceflow transcripts as they
happen, so handoffs appear in transcript history and analytics alongside AI turns instead of
disappearing into the provider. Fail path: If the handoff can’t be started, the step follows a fail path instead of leaving the
user stranded, so you can retry, offer a callback, or fall back to AI. Transient provider errors are
retried automatically first, the fail path is only taken once those attempts are exhausted. Agent identity: Where the provider reports it, the agent’s name is shown to the user
rather than an anonymous “agent”.
Provider-specific capabilities
The table below outlines capabilities that have been implemented for each of these providers. With most providers, there is additional capability that has not yet been implemented. We can extend any of the providers based on their underlying APIs. Contact support or your accout representative if there is additional capability required for a specific provider.
Wait time message. Tells the user how long they’re likely to wait. See
waitTimeMessage below for the available formats.
Internal note to agent. Attaches a note to the conversation that agents can see but the usercan’t. See
noteBodyText.
Inactivity timeout. After a period of user silence, warns that the session is about to expire.The timer resets whenever the user responds. Configured on the handoff step. Dismiss and resume. If the user closes the chat, they’re offered a transcript download and can
either continue the same conversation or start a new one. Localized system messages. Status messages such as “agent joined”, “agent left”, and “chat
ended” follow the conversation language. English, French, and Spanish are supported today. Agent-to-agent transfer. When an agent hands the user to a colleague, the user sees the transfer happen instead of sitting in silence.
Configuration
The step supports a number of optional settings. These are can be specified using a JSON object in the Metadata field of the live agent handoff step:defaults. The provider coverage noted for each setting reflects current functionality, but is not fixed. Where a provider’s API exposes the capability, we can extend any setting to it.
Using variables
Any value can reference Voiceflow variables with{variable_name}, including mid-sentence as shown above. When a value is exactly one variable, it keeps that variable’s type — so"disableFileUpload": "{upload_flag}" works when upload_flag holds a boolean.
JSON syntax
The field must be valid JSON. Two rules that are important to follow:- Text and enum values need quotes:
"waitTimeMessage": "None", notwaitTimeMessage: None. - Booleans don’t:
"disableFileUpload": true, not"true".
a single unquoted value will silently drop your other settings too. Validate the JSON before
publishing. If one setting merely has the wrong type, only that setting is dropped and the rest
still apply. Unknown JSON keys are preserved rather than rejected, but only the settings below are supported:
Settings reference
noteBodyText
Type: string · Providers: Kustomer
An internal note attached to the conversation, visible to agents but not to the user. Commonly used to pass an escalation reason or a conversation summary.
disableFileUpload
Type: boolean · Providers: all
When true, hides the file upload control so the user can’t send files. Agents can still send files to the user.
waitTimeMessage
Type: enum · Providers: Genesys, Ujet
Controls how the expected wait is communicated while the user waits for an agent.
How each provider presents it:
- Genesys updates the estimate repeatedly while the user waits.
Nonestops these updates. - Ujet states the estimate once, in the opening message.
Nonekeeps that message but drops the estimate from it. - Kustomer and Dixa don’t show a wait time message, so this setting has no effect.
default rather than turning the message off. To disable the message, set
None explicitly.
Each provider has additional functionality available that has not yet been implemented. Where the provider’s API exposes the data, we can add others on request —
Delay or Position for Ujet, or Position for Genesys, for example.
Live agent workflows tend to be specific to how each team operates, and we are excited to continue extending the supported functionality. If you need a setting extended to another provider, a new configuration option, or a provider we don’t yet support, contact support or reach out to your account representative.