Scenario Builder Basics
If you've never designed a scenario before, you've come to the right place! In this article, we will present some very basic scenario building principles as well as quick tips you will find yourself coming back to time and again.
Refresher: What is a Scenario?
As we learned in section Scenario Builder Overview, a scenario is the logic of automated interaction processing. A real-life example of this: When you call a business, you are greeted with an automated menu (IVR), and are then asked to select a number matching your language preference. After selecting your preferred language, you are connected to an agent who speaks this language. What a customer takes for granted as a standard phone interaction is, in fact, a carefully constructed interaction flow, designed with blocks that execute specific functions.
Scenarios can be as basic or as complicated as you would like them to be. No matter how you design your scenario, however, for Bright Pattern Contact Center scenario design, the following are some guiding points that will help you on your journey.
Important Scenario Blocks
Find Agent and Connect Call/Chat
Certain scenario blocks are meant to work in pairs. The first and most basic pair of blocks are Find Agent and Connect Call (if a voice scenario) or Find Agent and Connect Chat (if a chat scenario). These two blocks will be the basis for most of your scenarios.
So, what makes these blocks important? Find Agent does the heavy lifting of finding the appropriate person to connect the interaction to, and then Connect Call/Connect Chat makes the connection happen. It is because the Connect Call/Connect Chat block completes the action of connecting the customer to the found agent, we recommend arranging these two blocks together and not placing other blocks in between.
For more information, see section How to Create a Basic Scenario.
Scenario Design Tips
Save Early and Often
As with any virtual creation, remember to save your work periodically! Systems can crash and your hard work may be lost, which is the last thing you want to happen.
Define Conditional Exits
As a reminder, conditional exits are the multiple paths that the scenario can take after processing a given block; they determine how your scenario responds to certain conditions during interactions.
Why do we want to define conditional exits? So that we know what should be happening in our scenarios at all times. For example, in a Connect Call block, if the conditional exit No Answer is reached (i.e., an agent does not respond to a call), but no further action is defined, your scenario could end here, leaving you with a disconnected and unhappy caller. If, however, you define No Answer with a Goto block, when No Answer is reached your scenario can loop back to an earlier point, keeping the caller on the line until someone answers.
On this note, you may not need something to happen at every conditional exit. In this case, we recommend you define the exit with the Exit block.
Watch Out for Infinite Loops!
Infinite loops are segments of a scenario that, once entered, continue to direct back to the same starting and ending points, creating a loop that doesn't end and/or prevents a clean exit.
What are some infinite loop causes? Infinite loops can happen with the Start Another Scenario block. That is, if a new scenario is triggered and this new scenario redirects back to the original in the wrong place, you may have an infinite loop on your hands. Additionally, not defining conditional exits can lead to infinite loops (i.e., omitting an Exit block in the wrong place).
When Scenarios Go Wrong: How to Troubleshoot Your Scenario
After you've created your scenario, you will want to test it out to see if it functions correctly. If it does, well done! If not, don't worry. Bright Pattern Contact Center contains built-in methods that can help you identify and debug the source of your problem.
Use the Internal Message Block
The Internal Message block sends an internal message to a system user, but for troubleshooting purposes, this block allows you to put checkpoints in your scenario. For example, if you define the various conditional exits of a block with Internal Message, you will receive a message every time a specific exit is taken. Internal Message is a good thing to include in your scenario if you find yourself wondering, "Did my scenario go through this branch?" or "What was my variable value in this branch?"
Scenario Steps in Interaction Records
Another great tool for you to use is Scenario Steps in Interaction Records. This section will take you through a scenario's path from start to finish and will show how it exited the various scenario blocks. Note that it takes 15 minutes from the point in time when the scenario executes to the point when it becomes available in Interaction Records (i.e., this information is not as immediately available as an Internal Message; you have to wait).