CX Create / Flow Dynamic Text (Conditional)
This article will detail the use and configuration of conditional text.
- Types of Dynamic Text
- Preparing the Script to Use Conditional Text
- How to Configure Conditional Text
- Field-Specific Options
1. Types of Dynamic Text
CX Create has the ability to create text fields that will auto-populate and change, or text that is visible or hidden depending on input from other parts of the script, or directly from an outside source.
Types of dynamic fields include:
Dynamic Field that pulls data from another field within the script
An example of this would be the caller's name. Once it is typed into the script at the beginning of a call, it can be set up to appear throughout the other slides, making it a seamless part of the agent's spoken script.
This type of dynamic text is covered in the article located here.Dynamic Field that pulls data from an outside source
The Additional Info slide is an example of this. Data is pulled from CX Route and plugged into a hidden slide within the script so that it can be viewed in the session details and call reports. This is set up during the CommFlow mapping process.
- Conditional Text
This is text that would appear only after certain conditions have been satisfied. For example, a line of text pertaining only to callers from Canada can be configured to remain hidden unless the Ship Address field contains a valid Canadian zip code.
This type of dynamic text is covered in this article. Date/Time
This type of dynamic text is used to show dates that are not static. For example, if you want the agent to tell the caller that their order will ship in 5 business days, a dynamic date field can be configured so that the actual calendar date can be read by the agent, without them having to reference a separate source.
This type of dynamic text is covered in the article located here.
2. Preparing the Script to Use Conditional Text
Conditional text is added in the field prompt using the CX Create / Flow Text Editor. It can be configured at any point during the script creation process, as long as any other other field that the conditions rely on has also been added. For example: A script directive may call for something like:
BONUS KIT: Thank you, as part of this promotional offer, we will also be sending you a BONUS accessory kit worth $19.99/$24.99 and will ship your items for FREE/a discounted rate of $4.99.
[US customers (lower 48, excluding AK, HI): $19.99/FREE]
[Canada, Non-Contiguous US customers: $24.99/a discounted rate of $4.99]
The above example shows how conditional text may be used. Instead of typing out 2 entire paragraph fields with separate visibility settings-- one for the US and one for Canada, the location-specific text can simply be set with conditions and would be added to a script as follows:
*This is not a complete script build, and assumes that all other relevant fields have been added. For this case, it is a Shipping Address field.
- Add a Paragraph field
- label: Bonus Kit
- Type the following text into the Prompt:
- Thank you, as part of this promotional offer, we will also be sending you a BONUS accessory kit worth {$19.99}{$24.99} and will ship your items for {FREE}{a discounted rate of $4.99}.
*Remember that typing text inside of brackets will create dynamic text placeholders. the text will appear red until it is configured.
- Thank you, as part of this promotional offer, we will also be sending you a BONUS accessory kit worth {$19.99}{$24.99} and will ship your items for {FREE}{a discounted rate of $4.99}.
3. How to Configure Conditional Text
Now that the setup portion of the script is ready, the conditional text can be configured.
- Click the Bonus Kit paragraph in the preview pane to access its settings
- In the Text Editor, click and drag to highlight the {$19.99} placeholder text, including the brackets
- Click the dynamic text button above the text area
- And then click on Create dynamic text
- The Dynamic Text pop-up opens, defaulted to Conditional.
- Label: US Bonus Price
Rather than naming this conditional text $19.99, it has been named US Bonus Price because of what it represents. If the value of the item ever changes, it is easy for the script builder to access the slide and find what they are looking for right away, then simply change the text that is in the prompt. - Type the following into the Text Editor:
- $19.99
*Notice that the editor has all of the same options that are available for fields. Conditional text can be styled, can be bulleted, and can even contain nested conditional text (conditional text within conditional text).
- $19.99
- Set the conditions for the text by changing the dropdown menu from Always to All of the following
These conditions are the same and configured the same as the conditions for the Visibility, Mirroring, and Validity features:- Always: The text always appears
- Never: The text never appears
- All of the following: The text appears if all conditions are satisfied
- Any of the following: The text appears if any of the conditions are satisfied
- Configure the condition as follows:
- If \ Shipping Address \ country is \ United States (Contiguous)
- Click update to save and close the pop-up
The dynamic placeholder text is now displayed in orange, which lets you know it has been configured.
*Dynamic fields, when configured, display in green.
- Label: US Bonus Price
- In the Text Editor, click and drag to highlight the {$19.99} placeholder text, including the brackets
- Click and drag to highlight the {$24.99} placeholder text
- Click the dynamic text button and then click Create dynamic text
- Label: CA Bonus Price
- Type the following into the Text Editor:
- $24.99
- Set the conditions for the text by changing the dropdown menu from Always to Any of the following
- If \ Shipping Address \ country is \ Canada
- Click the + to the right to add another condition
- If \ Shipping Address \ country is \ United States (Non-contiguous)
- If \ Shipping Address \ country is \ United States (Non-contiguous)
- Click update to save and close the pop-up
- Click and drag to highlight the {FREE} placeholder text
- Click the dynamic text button and then click Create dynamic text
- Label: FREE ship
- Type the following into the Text Editor:
- FREE
- Set the conditions for the text by changing the dropdown menu from Always to All of the following
- If \ Shipping Address \ country is \ United States (Contiguous)
- Click update to save and close the pop-up
- Click and drag to highlight the {a discounted rate of $4.99} placeholder text
- Click the dynamic text button and then click Create dynamic text
- Label: Discount ship
- Type the following into the Text Editor:
- a discounted rate of $4.99
- Set the conditions for the text by changing the dropdown menu from Always to Any of the following
- If \ Shipping Address \ country is \ Canada
- If \ Shipping Address \ country is \ United States (Non-contiguous)
- Click Update to save and close the pop-up
All of the dynamic placeholders have been replaced by their Conditional Text labels
Clicking the Dynamic Text button will present you with a list of configured dynamic text (including Dynamic Fields, Conditional Text, and/or Dynamic Dates) for the current slide only. From this list you can:- Edit the Dynamic Text
- Delete the Dynamic Text
- The preview pane will also show both sets of conditional text, in brackets
- To see how the dynamic (conditional) text functions, click on Launch Preview on the Script Graph.
- At runtime, only the text that satisfies the assigned conditions will appear in the script.
For example, when a United States (Contiguous) zip code is recognized:
*To better show the feature, the Shipping Address field was placed immediately before the paragraph containing the conditional text. This does not have to be the case, and dynamic text can use conditions from any field within the script, even if it is located on a previous slide.
Or when a Canadian postal code is recognized:
Or a United States (Non-contiguous) zip code:
- At runtime, only the text that satisfies the assigned conditions will appear in the script.
4. Field-Specific Options
As mentioned at the beginning of the article, dynamic text resides in the prompt area of any field. The conditions for dynamic text (and also for features like visibility, slide branching, etc) will be based on the field they are referencing.
For example- If using an Address field as a condition, it can be based off of any of the following address components:
Then, if region is is selected, a list of all 50 US states, territories, and all Canadian Provinces are available for selection:
The following is a comprehensive list of all options, by field:
Address
- region is/is not
- Alabama
- Alaska
- American Samoa
- Arizona
- Arkansas
- California
- Colorado
- Connecticut
- Delaware
- District of Columbia
- Florida
- Georgia
- Guam
- Hawaii
- Idaho
- Illinois
- Indiana
- Iowa
- Kansas
- Kentucky
- Louisiana
- Maine
- Maryland
- Massachusetts
- Michigan
- Minnesota
- Mississippi
- Missouri
- Montana
- Nebraska
- Nevada
- New Hampshire
- New Jersey
- New Mexico
- New York
- North Carolina
- North Dakota
- Northern Marianas Islands
- Ohio
- Oklahoma
- Oregon
- Pennsylvania
- Puerto Rico
- Rhode Island
- South Carolina
- South Dakota
- Tennessee
- Texas
- U.S. Minor Outlying Islands
- Utah
- Vermont
- Virgin Islands (U.S.)
- Virginia
- Washington
- West Virginia
- Wisconsin
- Wyoming
- Alberta
- British Columbia
- Manitoba
- New Brunswick
- Newfoundland and Labrador
- Nova Scotia
- Northwest Territories
- Nunavut
- Ontario
- Prince Edward Island
- Quebec
- Saskatchewan
- Yukon
- country is/is not
- United States
- United States (Contiguous)
- lower 48 only
- United States (Non-contiguous)
- Alaska, Hawaii, and U.S. territories
- Canada
- type is/is not
- Military
- APO, FPO, AE
- P.O. Box
- Standard
- USPS-designated established zip codes
- Unique
- Zip Code that only delivers to one specific entity (hospital, university, etc.)
- Military
- is/is not
- complete
- valid
Button
- is/is not
- valid
- response code is/is not
- Responses are taken directly from the integration that the button interacts with. More information about how to locate the code in the integration's moonscript is available in the Integrations article located here.
- status code is/is not
- failure
- success
- timeout
Cart SKUs
This option will appear only if the Cart field is present and SKUs have been created. Once a SKU is selected from the dropdown, the following options will be available, followed by a number field.
- has quantity equal to
- has quantity greater than
- has quantity greater than or equal to
- has quantity less than
- has quantity less than or equal to
Cart
- has/does not have
- [Full list of SKU labels that have been added]
- payment plan is/is not
- [Full list of payment plan labels that have been added]
- order total is greater than
- order total is greater than or equal to
- order total is equal to
- order total is less than
- order total is less than or equal to
Check
- is/is not
- valid
Checkboxes
- includes/does not include
- Option 1 - x [in which Option represents the Label and x represents the number of choices you have assigned to the field]
Credit/Debit card
- is/is not
- empty
- valid
- expires within
- 1 month
- 2 months
- 3 months
- 4 months
- 5 months
- 6 months
- 7 months
- 8 months
- type is/is not
- American Express
- Dankort
- Diners Club
- Discover
- Elo
- Forbrugsforeningen
- JCB
- MasterCard
- Visa
Dropdown
- is/is not
- Option 1 - x [in which Option represents the Label and x represents the number of choices you have assigned to the field]
- valid
Embedded Link (not an available option for conditions)
Name
- is/is not
- complete
- valid
Number/Quantity
- is/is not
- empty
- valid
- is equal to
- is greater than
- is greater than or equal to
- is less than
- is less than or equal to
Radios
- is/is not
- Option 1 - x [in which Option represents the Label and x represents the number of choices you have assigned to the field]
- valid
Text input/Text input (multi-line)
- is/is not
- empty
- valid
- matches/does not match
- [Complete list of all available fields that have been added to the script, broken down by individual components]
- [Complete list of all available fields that have been added to the script, broken down by individual components]
Date input
- is/is not
- empty
- valid