How to Route Callers to the Last Agent and Provide a Voicemail Option

Bright Pattern Documentation

Generated: 7/01/2022 1:44 pm
Content is available under license unless otherwise noted.

  1. REDIRECT 5.3:Contact-center-administrator-guide/Scenarios/ScenariosOverview

Scenario Builder Overview

For every customer interaction that enters your contact center, Bright Pattern Contact Center software has to process that specific interaction to determine what to do with it (e.g., what prompts or announcements to apply, what resources to queue for, what music to play, or when to over-flow to alternate resources). The logic of such automated interaction processing is defined in a scenario. Execution of a scenario with respect to a specific interaction is triggered by a particular event, such as the arrival of a call at a specific access number, or the initiation of a chat session from a specific web page.

Scenarios are designed and edited in the Scenario Builder application. This application is launched from the Contact Center Administrator application when you add a new scenario or select an existing one for editing. For more information, see section Scenarios Overview of the Bright Pattern Contact Center Administrator Guide.

Scenario Builder

Scenario Engine

The Scenario Engine is the component of Bright Pattern Contact Center software that executes your scenarios. Starting from version 5.0, should scenario failover occur (i.e., the Scenario Engine fails while processing a Voice scenario), the scenario will be transferred to a backup Scenario Engine; this will restart the scenario from the last executed block and prevent active, connected calls from being disconnected.

The following are some examples of what can occur at various stages of scenario failover:

Note: Real-time statistics are incrementially affected by scenario failovers in some instances. For example, for queued calls, one inbound call will increase statistic value by two (e.g., the first time when it was queued by original Scenario Engine, the second time when it was switched over to new Scenario Engine).

Graphical User Interface

Scenario Builder incorporates a graphical user interface (GUI) with which you can visually connect a sequence of functional blocks, thus building your scenario. These blocks are known as scenario blocks. Scenarios are created using a flowchart format that represents the sequence of interaction processing steps in the scenario. Different scenario blocks perform different functions, such as playing prompts, collecting digits, or looking for available agents.

To add a block to the scenario, select it from the list on the left and drag it to the desired location within the scenario. To remove a block from a scenario, select the block within the scenario and drag it back to the list of blocks on the left.

Scenario Blocks

Each block has its own configuration attributes, which appear in the edit pane on the right when the block is added to the flowchart or selected within the flowchart. The attributes specify the function represented by the block. For example, the Play Prompt block has an attribute that specifies which prompt shall be played when this block is executed in a specific processing step of a specific scenario. The scenario blocks described in this guide may have configuration attributes related to conditional exits, prompts, and/or settings.

Conditional Exits

The scenario typically processes blocks sequentially; however, some blocks have multiple paths that the scenario can take after processing the block. These paths are called conditional exits. Conditional exits enable you to determine how the voice scenario responds to certain conditions that may occur during the processing of an interaction, such as an agent not responding to a call. Each conditional exit appears in the flowchart as green text beneath the block to which it applies. A conditional exit may contain a flow of blocks to handle specific situations.


Many blocks use voice prompts to request input from callers, inform callers about events, or play music while callers are waiting for an agent. These prompts can be either prerecorded audio files or static prompts that the system generates using Text-to-Speech (TTS) functionality from textual prompt descriptions. The Prompt Manager dialog box in Scenario Builder lists all prompts the open voice scenario uses, and it lets you set the languages in which the voice scenario can play prompts.


Settings, also known as configuration attributes, for this block appear in the edit pane on the right when the block is added to the flowchart or selected within the flowchart. These settings specify the function represented by the block.

The subsequent sections of this guide describe specific scenario blocks, their attributes, and usage. The blocks are listed in alphabetical order.

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/GetUserConfiguration

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/ExceptionHandler

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/FindAgent

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/PlayPrompt

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/Menu

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/Voicemail

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/Goto

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/ExceptionHandler

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/ExceptionHandler

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/ConnectCall

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/FindAgent

  1. REDIRECT 5.3:Scenario-builder-reference-guide/ScenarioBlocks/Exit

  1. REDIRECT 5.3:Contact-center-administrator-guide/CallCenterConfiguration/Identification

Find Agent

In the Scenario Builder application, the Find Agent scenario block finds an agent qualified to handle a given interaction. When the agent becomes available, the block creates a variable called $(destination) and sets it to the agent’s phone number (for voice) or username (for chat). Note that Omni-Channel Routing settings may determine the frequency with which certain interaction types are routed to your agents.

Find Agent scenario block


The Connect Call or Connect Chat block should be used immediately after the Find Agent block to connect the interaction to the identified agent.

For example, the scenario should proceed in the following way:

  1. The scenario collects data from a caller.
  2. Based on the collected data, the scenario determines the qualifications necessary to handle the call.
  3. The scenario uses the Find Agent block to find an agent with the necessary qualifications (e.g., Peter at extension 151).
  4. That agent’s extension is stored internally in the $(destination) variable. In this example, the variable is set to 151.
  5. The scenario uses the Connect Call block to distribute the call to the number stored in the $(destination) variable.

Note that the block properties will be different depending on whether it is used in a voice or a chat scenario.


Title text

Title text is the name of the instance of the block. Enter a name in the text field and click the Update button at the bottom of the Edit pane. The new name of the block appears in the flowchart.

Agent skills required

You can select the agent skills required for handling the interaction.

Wait condition

The agent selection rule is expressed as a sequence of escalation intervals with different agent selection criteria defined for each. The term "escalation" implies that each subsequent interval will normally have less stringent selection criteria, thus increasing the probability of finding an agent available to attend to the waiting interaction.

If there are multiple conditions specified in the escalation interval, ALL conditions must match for an agent to be considered. A set of conditions in each interval is independent from conditions in other intervals.

add Interval

Any number of escalation intervals can be defined within the expression. The last interval can be finite or infinite (leave the end time empty to use an infinite interval). To specify an interval, first define its length. Then click add to define your agent selection condition for this interval, which are as follows.

Overflow call handling starts at

This setting defines at which escalation interval the identified agent will be considered an overflow destination, unless his skills/levels match the skill/level requirements of the preceding escalation intervals.

HTML code

HTML code defines the HTML page that the customer will use during the chat session. This setting applies to chat scenarios only.

Initial Message

For chat scenarios only (see image below), the initial message (i.e., first periodic message) is sent in 5 seconds after the interaction enters the queue, and subsequent periodic messages are sent according to the configured timeout, until the interaction leaves the queue.

Periodic Message

For chat scenarios only (see image below), the periodic message is used to send a periodic regular text message in the same way that the Send Message block does. For example, the periodic message could include variables that provide the customer information about EWT or placement in queue.

Escape button

The Escape button is the key on the telephone keypad (0-9, *, or #) that a caller can press to exit the queue. When the caller presses the escape button, the scenario executes the Escape Digit conditional exit. Typically in such situations, the scenario sends the caller to a voicemail or terminates the call. This setting applies to voice scenarios only.

Keep call in queue

If selected, the scenario will keep the call in queue even if there are no agents currently logged on. If not selected, the No Agents conditional exit will be used. This setting applies to voice scenarios only and finite intervals only. It does not apply to the condition Specific agent.

Virtual Queue option

The Virtual Queue option allows the callers to request a callback instead of waiting for an agent in the queue. Calls that requested callbacks will be waiting in a virtual queue. The decision to offer the callback option is made based on the call’s estimated wait time (EWT) in queue. If a caller selects this option, the Callback exit is taken. This exit would normally lead to a Request Callback block where the caller’s original inbound call will be disconnected while his position in the service queue will be preserved. The callback is made when it is the caller’s “turn” to be routed to an agent. Note that the callback option must also be enabled in the general properties of the corresponding service.

To enable the Virtual Queue option, select the enable if EWT is greater than checkbox and specify the threshold EWT; the Virtual Queue option will be offered only if the Estimated Waiting Time for a given call exceeds this threshold value. Specify the Callback button (i.e., the phone key that the caller will have to press to select the Virtual Queue option) to request a callback instead of waiting in the queue. If the Virtual Queue option is selected, the Callback conditional exit will be executed, allowing the scenario to collect the callback data and place the call in the virtual queue (see block Request Callback). The Virtual Queue option applies to voice scenarios only. For more information, see the Virtual Queue Tutorial.

Periodic reminder - repeat every

This setting allows you to specify the number of seconds you want the scenario to wait between playing the Periodic Reminder prompt. Set this field only if you want the scenario to play the Periodic Reminder prompt. Enter 0 if you want to disable this feature. This setting applies to voice scenarios only.

Other reminders

This setting allows you to configure one-time prompts to play at specific times (i.e., in seconds); note that these prompts do not repeat. This setting applies to voice scenarios only.

Keep playing hold music while ringing on agent

If selected, the Music on hold will continue after the Find Agent blocks exits; the prompt is stopped only when the subsequent Connect Call block actually connects the caller to the destination (destination answers). Otherwise, the caller will hear the ring-back tone from the moment the call is delivered to the agent and until the agent answers. This option only works if the block actually finds an agent; for all conditional exits, the hold music stops immediately. This setting applies to voice scenarios only.

Conditional Exits

The Find Agent block may take one of the following conditional exits: No Agents, Queue Limit, Escape Digit, Callback, or Timeout.

No Agents

The No Agents exit is taken if no agents with matching skills are logged in (or when the last such agent logs out before the call is routed.)

Queue Limit

Your service provider may have set up a limit for the number of items you can have queued for distribution to agents simultaneously (for all services combined). If an interaction processed by the given scenario exceeds this limit upon entering the queue, the Queue Limit exit will be used. Note that a repeated attempt to place the interaction in the same queue will result in the termination of the scenario.

Escape Digit

The caller presses the escape digit to exit the queue. The Escape Digit exit will be displayed only if the Escape button setting is defined (see below). This exit applies to voice scenarios only.


The Callback exit will be taken if the Virtual Queue option is offered to and is accepted by the caller. This exit applies to voice scenarios only.

Time Out

The Time Out exit will appear only if you define one or more escalation intervals for Agent skills required, provided that the last interval is finite. The Time Out exit will be taken if the last interval expires before any agents with matching skills become available. Note that if the last matching agent logs out before the timeout expires, the No Agents exit will be taken.


The Find Agent block can play any of the following prompts for the caller: Music on hold, Initial Prompt, EWT Announcement, Virtual Queue availability announcement, or Periodic reminder.

Music on hold

The scenario plays the Music on hold prompt while the call is in queue. If not defined, the default Hold and queue music treatment will be played. The Keep playing hold music while ringing on agent parameter controls when the music is stopped.

Initial Prompt

If defined, this optional Initial Prompt will be played to the caller as soon as the call is placed in queue (i.e., before the Music on hold starts).

EWT Announcement

The voice scenario plays the EWT Announcement when providing the estimated wait time (EWT) to the caller. The scenario uses the system to read the actual EWT, which is received by variable $(item.EWT).

For example, the prompt announces The estimated wait time is, and then the system announces the EWT, such as eight minutes.

Virtual Queue availability announcement

The Virtual Queue availability announcement prompt is played to callers to offer them an option of requesting a callback instead of waiting in the queue. See the description of the Virtual Queue option for details.

Periodic reminder

The scenario will periodically play the Periodic reminder prompt to the call in queue at the frequency you set in the Periodic reminder - repeat every field. If you do not set this prompt, the reminder does not play. You can use the EWT Announcement prompt as a reminder prompt.

Keep playing hold music while ringing on agent

The scenario plays the Music on hold prompt while the call is in queue. If not defined, the default Hold and queue music treatment will be played. The Keep playing hold music while ringing on agent parameter controls when the music is stopped.

Play random segment

The Play random segment option offers variety of queue audio treatments for voice calls, allowing you to vary the audio treatments played while waiting in the queue.