Configure and manage multi-site setups for tailored customer interactions.
The Variant Management feature in PolyAI allows contact centers to manage content tailored for different sites, like a coffee shop with three stores or a hotel chain with branches in New York, London, and Tokyo.
This setup means location-specific details, like multiple phone numbers, addresses, and operating hours, can be handled by a single agent. Variants streamline the configuration of multi-site operations and provide precise responses to customers based on their location.
To bulk update or create variants, use the CSV import guide.
Use variant management to manage multiple locations within the same agent, ensuring responses are location-specific. Attributes such as phone numbers and opening hours can be stored per variant, enabling dynamic customer interactions.
Attributes defined in variant management are accessible in your knowledge base (KB) rules, templates, and actions. For example, you can use ${variant_foo}
to populate responses dynamically with location-specific information.
Set up phone number-based routing in the start function to direct callers to the appropriate variant. Variants can also be used to tailor SMS messages dynamically.
Use the conv.variant
object to retrieve variant attributes during conversations or to make decisions based on variant data. Use functions to set, retrieve, or act on variant-specific attributes.
Testing variants is currently limited in chat, but workarounds include setting variants manually in the start function or creating specialized testing rules.
A hotel chain with multiple branches worldwide uses Variant Management to manage its agent. Each branch (e.g., “London” and “New York”) has a variant configured with attributes like phone numbers, addresses, and check-in hours. When a guest calls, the agent identifies the branch based on the caller’s phone number and tailors the response accordingly.
To configure variants:
Define attributes for the variant, such as:
By default, the first variant in the list is used unless otherwise specified. If a variant needs to be changed programmatically, use
the conv.set_variant()
method in your start function.
Example:
Main article: SMS
To include variants dynamically in SMS messages, use the syntax ${variant_attribute}
. For example:
${variant_phone_number}
dynamically includes the phone number associated with the active variant.Testing variants in chat requires manual setup in the start function or custom testing rules:
Update the start function with the desired variant:
Create functions such as set_variant1
, set_variant2
to manually switch variants during testing.
This example demonstrates how to dynamically assign variants based on a caller’s phone number. Using the conv.variant
object,
you can retrieve and set the appropriate variant to ensure responses are tailored to the caller’s location or context.