Scenario Blocks

Bright Pattern Documentation

Generated: 6/16/2021 2:27 pm
Content is available under license unless otherwise noted.

Scenario Blocks Overview

The following subbook lists all blocks available in the Scenario Builder application, as well as definitions of their settings and conditional exits.

All Scenario Blocks



Accept

The Accept scenario block accepts the call from the network. This block either starts the ring back tone or allows the system to play early media (i.e., announcements) before or instead of answering a call. Early media denotes the capability to play media (audio or telephony) before a two-way voice session has been established. For telephony provisioning, establishment of media in the backwards direction may be desirable so that tones and announcements can be played prior to providing answer supervision. Note that call billing typically does not start until the call is answered or until a predefined carrier time is surpassed (in some instances this might be as high as 120 seconds, however, typically closer to 6 seconds).


Scenario Builder Accept scenario block


Important:


Settings

Provide progress indication (ringback) only

This setting plays a ring back tone to the caller. It is typically considered if the carrier response is fast enough that customers hear no ring back tone.

Establish one-way voice communication

This setting provides the ability to play announcements or prompts to the caller.


Scenario Builder Accept scenario block settings



Add to Calling List

The Add to Calling List scenario block adds a calling record to the specified calling list. This block can be used, for example, to automatically redial abandoned or accidentally disconnected calls, or to organize a follow-up campaign based on messages left by customers calling outside of contact center normal hours of operation.


Scenario Builder Add To Calling List scenario block


Conditional Exits

The Add to Calling List block may take the Failed conditional exit, which indicates that the attempt to add a calling record to the specified list has failed.


The Failed conditional exit


Settings

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.

List name

List name is the name of the list to which the record shall be added. This parameter is mandatory. Note that the name must be added manually since the scenario may be designed before the list itself is created.

Phone number

This is the phone number to be dialed. This parameter is mandatory. The phone number could be the caller ID (ANI) provided for the original call or a number entered by the customer via an IVR application.

Additional data fields

Additional data fields are additional data that should be added to the given calling list record in the key-value format (e.g., customer’s first and last name).


Scenario Builder Add To Calling List scenario block settings



Answer

The Answer scenario block provides answer supervision to the carrier and answers the call. It opens two-way voice communication with the caller and starts the caller's billing cycle. The Answer block typically follows an Accept block at the beginning of a scenario.

Scenario Builder Answer scenario block


There are no settings or configuration parameters for this block.


Important:

Using the Accept block in a scenario disables the default behavior of answering a call automatically on scenario start and requires an Answer block to provide answer supervision.



Ask a Bot

Ask a Bot scenario block

Ask a Bot allows your integrated bot/chat suggestions engine to reply automatically to customers as well as provide suggestions to agents during active chat interactions.

Scenarios use the Ask a Bot block to submit the most recent message received from the user to the bot, and deliver suggestions from the bot to the customer. You can think of this block as the facilitator of bot-automated conversations; this block passes messages between the user and the bot.


Ask a Bot can provide chat suggestions to agents in Agent Desktop


Ask a Bot may be used with the Self-Service Provided block, allowing customers to complete self-service tasks without the help of an agent. Additionally, when an agent is included in a chat scenario, Agent Desktop uses content of the suggestions engine to show one or more suggestions. If an agent clicks a suggestion, the text is copied to the chat response field.

Note that the Chat Bot Select Account block will override the Ask a Bot block if both blocks are in the same scenario.

Settings

Ask a Bot scenario block settings


Title text

The name of the scenario block (any).

Message

The variable that gets the text of the last received message: $(item.message)

If building a scenario that also uses the Play-Listen block, you can enter variable $(item.transcript) in this Message field.

Responses

The variable receiving array of suggested responses (data).

Raw response

The variable (string) (e.g., raw_response) that receives the raw bot response (i.e., the raw JSON answer from the bot engine before being parsed by the Bright Pattern system.

Timeout after, sec

The number of seconds to wait before the Timeout conditional exit is taken. This field is required.


Conditional Exits

This block has a default exit and three conditional (i.e., "error") exits: Timeout, Failed, and No Data.

Here's a closer look at why these exits may be taken:

For each of the conditional exits, the scenario will send a message and then connect to the agent.



Attached Data

Scenario Builder Attached Data scenario block


The Attached Data scenario block is used for updating custom fields in Salesforce customer relationship management (CRM) activity history records. This block changes custom data associated with the interaction processed by the given scenario, sends that data to Agent Desktop when the interaction is routed to an agent, and passes the data to the integrated CRM. In this way, data is attached to the interaction and passed to Agent Desktop and Salesforce.

Note that Attached Data only updates custom activity fields; it does not create those fields. Before you can update a custom field, you first have to have a custom field in Salesforce. If you don’t already have a custom field set up, follow the steps given in the Salesforce.com Integration Guide, section How to Customize an Activity Object.

Settings

In Attached Data settings, you name the scenario block and specify the data item that you wish to update in Saleforce. The data item is a key-value pair, where the custom field name (e.g., “account_test”) is the key and the value is what the field should receive (e.g., “12345”). In the scenario, the Attached Data block will pass this data to Salesforce.


Scenario Builder Attached Data scenario block settings


Title text

The name of the instance of the block (e.g., “Update SFDC Activity”).

add a data item

This parameter specifies a new value for an existing key-value pair. To populate custom fields in CRM activity history records, click add a data item and specify a custom field name as a data item name with the desired value. Multiple data items may be added.


add a data item


How to Use Attached Data

Step 1: Create custom field in Salesforce

First make sure you have a custom activity field in Salesforce to update. For information on how to create one, see the Salesforce.com Integration Guide, section How to Customize an Activity Object.

Step 2: Update custom field data using Attached Data scenario block

  1. In the Contact Center Administrator application, locate your Salesforce scenario and click Edit to open it in the Scenario Builder application.

  2. For a voice scenario, add the Attached Data block at any point before the Connect Call block. For a chat scenario, add the Attached Data block at any point before the Connect Chat block. If you don’t know where to place it, put it at the very top of the scenario.

    SFDC-Attached-Data-add-53.PNG


  3. Update properties and click add a data item.

  4. Save the scenario.

You can test whether it works by logging a call and viewing the case in Salesforce. You should see the custom field with the specified value.

Step 3: Update other activity field data using Attached Data (optional)

To populate regular (not custom) Activity Fields with any data from the scenario, simply follow the instructions above with one exception: when adding a data item in the Attached Data block, specify the field name (i.e., API name) without the “__c” suffix.

For a list of predefined fields, see the Salesforce.com Integration Guide, section How to Customize an Activity Object.




AWS Lambda

The AWS Lambda block allows you to invoke functions (i.e., programs) you have created in your Amazon AWS Lambda account. Note that you must have an Amazon AWS Lambda integration account configured in order to invoke functions.


AWS Lambda block


Conditional Exits

Failed

This exit is taken if the function invocation failed due to invalid parameters, timeout, or network connectivity to Amazon AWS Lambda.

For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to create an object. For more information, see the description of the variable $(integrationResultBody).

Settings

AWS Lambda block settings


Title text

The name of the instance of the block (any name).

Integration account

The name of the Amazon AWS Lambda integration account that will be used for access to your Lambda functions.

Function name

The name of the specific Amazon AWS Lambda function that will be invoked in this scenario.

Invocation type

RequestResponse

Requests a response from the invoked function.

Event

Does not wait for a response from the invoked function.

DryRun

Acts as a diagnostics tool, allowing you to test everything except the actual function code.

Parameters

The parameters to invoke from the function. You may choose Field, which allows you to enter in the specific function names and values, or JSON, which allows you to enter the parameters in JSON format. Note that the Field option will be converted to JSON.

Response variable name

The variable name that contains a parsed JSON object from the invoked function (i.e., it does not include the payload).

Response payload name

The variable name that contains the payload (i.e., the output) from the invoked function; the payload is limited to 50 KB. Note that the name will always be a string.

Treat payload as

Allows you to choose the way the payload is received; you may choose either JSON or String. Note that the default option is JSON.




Bright Pattern Create Object

The Bright Pattern Create Object block inserts a new object into the internal contact database. The allowed object types are Case, Contact, Company, and Activity History.


Bright Pattern Create Object scenario block


Conditional Exit

The Bright Pattern Create Object block may take the Failed conditional exit.

Failed

The Failed conditional exit is executed if the creation operation failed.


Settings

Title Text

Title Text is the name of the instance of the block. Enter a name in the text field and the new name of the block will appear in the flowchart.

Object Type

The Object Type drop-down menu allows you to choose the type of object you want to create in the internal database. You may choose Case, Contact, Company, or Activity history. Depending on what object type is selected, the settings change as follows:


Case Settings

Case title

This is the text you would like associated with the case title.

Category name

The Category name drop-down menu allows you to classify the case as one of the following: Incident, Question, Enhancement Request, Defect, or Change Request.

Custom Case Fields

Custom Case Fields that have been configured in Case & Contact Management > Custom Fields > Case will appear here; you may enter text items in these fields.

Return variables

The Return variables settings allow entry of text or variable items in the form of Generate case numbers or Generated case IDs.

Generated case number

This is the variable item associated with the case number.

Generated case ID

This is the variable item associated with the case ID.


Contact Settings

First name

This is the text associated with the first name of the contact.

Last name

This is the text associated with the last name of the contact.

Title

This is the text associated with the title of the contact.

Position

This is the text associated with the position of the contact.

Summary

This is the text associated with the summary of the contact.

Segment

This is the text associated with the segment of the contact.

Age

This is the text associated with the age of the contact.

Company ID

This is the ID of the company record.

Emails

When you click the add option, you may select the type of email from the drop-down menu (Primary, Business, or Private), then enter the email address. It is possible to add more than one type of email address; the order the emails are listed in is insignificant. Note: Gaps are not allowed (i.e. you must create the email with the index [0] if you want to populate the email with the index [1]).

Phones

When you click the add option, you may select the type of phone from the drop-down menu (Business, Home, Mobile, or Fax), then enter the phone number. It is possible to add more than one type of phone number; the order the numbers are listed in is insignificant. Note: Gaps are not allowed (i.e. you must create phone numbers with the index [0] if you want to populate the email with the index [1]).

Custom Contact Fields

Custom Contact Fields that have been configured in Case & Contact Management > Custom Fields > Contact will appear here; you may enter text items in these fields.

Return variables

The Return variables settings allow entry of text or variable items in the form of Generate record.

Generated record

This is the variable item associated with the contact record number.


Company Settings

Company name

This is the text associated with the company name.

Web URL

This is the text associated with the web URL of the company.

Revenue

This is the text associated with the revenue of the company.

Employees

This is the text associated with the employees of the company.

Custom Company Fields

Custom Company Fields that have been configured in Case & Contact Management > Custom Fields > Company will appear here; you may enter text items in these fields.

Return variables

The Return variables settings allow entry of text or variable items in the form of Generate record ID.

Generated record ID

This is the variable item associated with the contact record ID.


Activity History Settings

Notes

This is the text associated with activity history notes; notes are written on behalf of a party. The notes should support HTML links, bullets, and bold, italic, underline, and strikethrough text.

Disposition

This is the text associated with activity history dispositions; dispositions are written on behalf of a party.

Custom1

Custom1 is an additional field for storing custom survey information, such as a question specific to your contact center, in the $(custom1) variable. The allowed range is from -2147483647 to 2147483647.

Custom2

Custom2 is an additional field for storing custom survey information, such as a question specific to your contact center, in the $(custom2) variable. The allowed range is from -2147483647 to 2147483647.

Custom Activity History Fields

Custom Activity History Fields that have been configured in Case & Contact Management > Custom Fields > Activity History will appear here; you may enter text items in these fields.

Return variables

The Return variables settings allow entry of text or variable items in the form of Generate record ID.

Generated record ID

This is the variable item associated with the activity history record ID.

Bright Pattern Delete Object

The Bright Pattern Delete Object deletes an object from the internal database. The object types allowed for deletion are Case, Contact, and Company. Note the following about the block:


Bright Pattern Delete Object scenario block


Conditional Exits

Failed

The Failed conditional exit is executed if the deletion operation failed, either through timeout or failed network connectivity to an external CRM (e.g. Salesforce).

No Data

The No Data conditional exit is executed if no data matching the specified deletion criteria is found.


Settings

Title text

Title Text is the name of the instance of the block. Enter a name in the text field and the new name of the block will appear in the flowchart.

Object type

The Object type drop-down menu allows you to choose the type of object you want to delete in the internal database. You may choose Case, Contact, or Company.

Object ID

This is the database record ID.

Bright Pattern Search Object

The Bright Pattern Search Object block finds an existing object in the database. This block replaced the Retrieve Internal Record block starting from version 5.2.2 of Bright Pattern Contact Center software.

Note: For a list of standard fields returned by this block, see section Standard Fields for CRM Objects.


Bright Pattern Search Object scenario block


Settings

Title Text

Title Text is the name of the instance of the block. Enter a name in the text field and the new name of the block will appear in the flowchart.

Object type

The Object type drop-down menu allows you to choose the type of object you want to search for in the internal database. You may choose Case, Contact, Company, or Activity History. Depending on what object type is selected, the settings change as follows:

Search

Multiple search conditions can be added. Search settings will vary depending on what object type you are searching for. The options are listed as follows:


Case
Bright Pattern Search Object case settings


To search by case, select either ID, Number, Reporter ID, Status, or a custom case field from the first drop-down menu. Note: Custom case fields will not appear in the Search menu unless the checkbox Searchable in scenarios and workflows has been selected. For more information, see Custom Fields.

For any of these options, you may then select Equal, Not equal, Empty, or Not empty from the second drop-down menu. If you select Equal or Not equal, a field will appear and you will have the option to enter a text or variable item.

For the State option, you may select Equal or Not equal from the second drop-down menu, followed by the desired case state.


Company
Bright Pattern Search Object company settings


To search by company, select ID, Name, URL, a custom company field from the first drop-down menu. Note: Custom company fields will not appear in the Search menu unless the checkbox Searchable in scenarios and workflows has been selected. For more information, see Custom Fields.

For all these options, you may then select Equal, Not equal, Empty, or Not empty from the second drop-down menu. If you select Equal or Not equal, a field will appear and you will have the option to enter a text or variable item.


Contact
Bright Pattern Search Object contact settings


To search by contact, select Email address, External ID, ID, Messenger ID, Phone, or a custom contact field from the first drop-down menu. Note: Custom contact fields will not appear in the Search menu unless the checkbox Searchable in scenarios and workflows has been selected. For more information, see Custom Fields.

For all these options, you may then select Equal, Not equal, Empty, or Not empty from the second drop-down menu. If you select Equal or Not equal, a field will appear and you will have the option to enter a text or variable item.


Activity history
Bright Pattern Search Object activity history settings


To search by activity history, select Case ID, Contact ID, Global Interaction ID, ID, or a custom activity history field from the first drop-down menu. Note: Custom activity history fields will not appear in the Search menu unless the checkbox Searchable in scenarios and workflows has been selected. For more information, see Custom Fields.

For all these options, you may then select Equal, Not equal, Empty, or Not empty from the second drop-down menu. If you select Equal or Not equal, a field will appear and you will have the option to enter a text or variable item.

Note that the activity history records are returned in the reverse chronological order (i.e., starting from the most recent one).


Return fields

Select this option to add return field to your search. When you click the add option, you may enter a text or variable item in the field. Note you may add multiple return fields.

Recordset name

Recordset name is the field that holds the results of the search the block executed; the text (i.e., value) entered in this field can then be used in a number of subsequent blocks to dictate further actions (e.g., passing the value to a Bright Pattern Create Object block if a contact's name is not found).


Conditional Exits

Failed

The Failed conditional exit is executed if the search operation failed, due to invalid parameters, timeout, or network connectivity to external CRM (e.g., Salesforce).

No Data

The No data conditional exit is executed if no data matching the specified search criteria is found.



Bright Pattern Update Object

The Bright Pattern Update Object block updates an existing object in the database. The allowed object types are Case, Contact, and Company.

Note this block is available from Bright Pattern Contact Center software version 5.2.2.


Bright Pattern Update Object scenario block


Conditional Exits

Failed

The Failed conditional exit is executed if the update operation failed, due to invalid parameters, timeout, or network connectivity to external CRM (e.g. Salesforce).

No Data

The No Data conditional exit is executed if no data matching the specified update criteria is found.


Settings

Title text

Title Text is the name of the instance of the block. Enter a name in the text field and the new name of the block will appear in the flowchart.

Object type

The Object type drop-down menu allows you to choose the type of object you want to update in the internal database. You may choose Case, Contact, or Company. Depending on what object type is selected, the settings change as follows:


Case Settings

Record ID

This is the database record case ID.

Case title

This is the text associated with the case title.

Category name

The Category name drop-down menu allows you to classify the case as one of the following: Incident, Question, Enhancement Request, Defect, or Change Request.

Custom Case Fields

Custom Case Fields that have been configured in Case & Contact Management > Custom Fields > Case will appear here; you may enter text items in these fields.


Contact Settings

Record ID

This is the database record contact ID.

First name

This is the text associated with the first name of the contact.

Last name

This is the text associated with the last name of the contact.

Title

This is the text associated with the title of the contact.

Position

This is the text associated with the position of the contact.

Summary

This is the text associated with the summary of the contact.

Segment

This is the text associated with the segment of the contact.

Age

This is the text associated with the age of the contact.

Company ID

This is the ID of the company record.

Emails

When you click the add option, you may select the type of email from the drop-down menu (Primary, Business, or Private), then enter the email address. It is possible to add more than one type of email address; the order the emails are listed in is insignificant. Note: Gaps are not allowed (i.e. you must create the email with the index [0] if you want to populate the email with the index [1]).

Phones

When you click the add option, you may select the type of phone from the drop-down menu (Business, Home, Mobile, or Fax), then enter the phone number. It is possible to add more than one type of phone number; the order the numbers are listed in is insignificant. Note: Gaps are not allowed (i.e. you must create phone numbers with the index [0] if you want to populate the email with the index [1]).

Note the following for existing phone numbers:

Custom Contact Fields

Custom Contact Fields that have been configured in Case & Contact Management > Custom Fields > Contact will appear here; you may enter text items in these fields.


Company Settings

Record ID

This is the database record company ID.

Company name

This is the text associated with the company name.

Web URL

This is the text associated with the web URL of the company.

Revenue

This is the text associated with the revenue of the company.

Employees

This is the text associated with the employees of the company.

Custom Company Fields

Custom Company Fields that have been configured in Case & Contact Management > Custom Fields > Company will appear here; you may enter text items in these fields.

Chat Bot Select Account

Chat Bot Select Account scenario block

The Chat Bot Select Account block is what turns a regular chat scenario into a bot-enabled chat scenario.

This scenario block serves the following important functions:


Settings

Chat Bot Select Account scenario block settings

Title text

The name of the scenario block (any).

Account

The bot/chat suggestions engine integration account to be used for this scenario. The drop-down selector shows all such accounts configured for your contact center. If you do not see any listed, you need to add an integration account.


Usage with Set Variable

Even if you select a particular suggestions engine to be used in your scenario, that selection can be overridden if a different suggestions engine is selected at the service level for the chat's entry point in the Contact Center Administrator application. See the Contact Center Administrator Guide, section Messaging/Chat Scenario Entries, property "Bot / Chat suggestions engine."

The suggestions engine selected in messaging/chat scenario entry properties will be used when a chat enters into the given scenario's Connect Chat block unless the Chat Bot Select Account block is used with a Set Variable block, in which variable name UseChatBotSelectAccount is set to a value of 1.

To ensure that the engine selected in your scenario is used, do the following:

  1. In your scenario, add a Set Variable block above the Chat Bot Select Account block.

  2. In Set Variable properties, specify:

    1. Variable name - UseChatBotSelectAccount

    2. Value - 1


Example scenario with Set Variable and Chat Bot Select Account





Collect Digits

Scenario Builder Collect Digits scenario block


The Collect Digits scenario block prompts the caller to input a string of digits using the phone keypad, and it collects the digits.

How It Works

Specifically, the block initiates the following actions:

  1. The block plays a prompt requesting digit input and waits for input.

  2. If the user does not start the input (does not enter the first DTMF digit) before the Timeout Before First Digit expires, the block plays a short version of the main prompt (e.g., We did not receive a valid entry, please try again…) and awaits input again. This is repeated up to the number of attempts configured in the Retries field. If the specified Retries count is exceeded, the block exits via the conditional exit No Input.

  3. The caller enters the digits using the phone keypad.

  4. The input is complete when the caller either enters the specified Max Number of Digits, or enters the Finish Input button (usually #), or interrupts the input for the specified Timeout Between Digits.

  5. The input can be started over by entering the specified Clear Input digit (usually *), if necessary.

  6. Upon completion, the block saves the entered digits as a scenario variable with the specified name.

Properties

Scenario Builder Collect Digits scenario block settings


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.

Prompt to play (main prompt)

This is the initial prompt that instructs the caller to input data. This main prompt is required.

Learn more about managing prompts in this guide's Voice Prompts section.

Max number of digits to expect

This is the maximum number of digits to expect. Leave this field empty if the number of digits may vary.

Finish input button

This button is the digit that the caller enters to indicate the input is complete. Most voice scenarios use the pound sign (#) as this indicator. If you specify a finish input button, notify the customer about it during the Main Prompt. If the expected input has a fixed length, set this parameter to None and specify Max number of digits to expect.

If this parameter is set to None, the scenario will use the Max number of digits to expect and Timeout Between Digits to determine when the caller completes the input.

Name of the variable to store the result

This is the name for the scenario variable in which the entered digits will be stored.

Retries

Retries is the number of times this block attempts to execute before the scenario moves to the next building block. Enter "1", or leave this field blank if you only want the block to attempt to execute one time.

Short version of main prompt to play after timeout

This prompt is the one that will be played when the Timeout Before First Digit is Dialed expires. It is optional; by default, Prompt to play will play.

Clear input digit

This is the key that the caller presses to reset input to empty string. It is useful when callers must enter long numbers. If you specify a Clear Input Digit, tell the customer about it during the Main Prompt (e.g., If you make a mistake, press the star key).

Abort input digit

This is the digit that the caller enters to clear all previously entered digits and abort the input. If you specify an abort input digit, tell the customer about it during the Main Prompt. If the caller presses the abort digit, the block will not perform validation (even if it is specified) and will immediately exit.

Timeout Before First Digit is Dialed

Timeout is the number of seconds that the scenario waits for the caller to start entering input before playing the Short version of main prompt.

Timeout Between Digits

This is the number of seconds that the scenario will wait for the next digit before input is considered completed.

Conditional Exits

The Collect Digits block may take one of two conditional exits: No Input or Aborted.

No Input

The block did not receive any input from the caller after repeating the Short version of main prompt for the number of times set in the Retries field.

Aborted

The caller aborted input by pressing the Abort input digit.




Comment

The Comment scenario block allows you to enter internal comments related to this scenario. Comments have no effect on run-time operations.


Scenario Builder Comment scenario block


Settings

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.

Comment

Comment is the field where you enter free-form text comments.


Scenario Builder Comment scenario block settings



Connect Call

Scenario Builder Connect Call scenario block


The Connect Call scenario block connects a call to the destination specified in the $(destination) variable (typically, the extension of the agent found by the preceding Find Agent block). If the destination extension has an agent logged in, the system tracks the agent’s state according to the state of the call. The block handles call transfers and conferences internally and only ends when the remote party disconnects or the last agent on the call disconnects.

If a Find Agent block was executed prior to a Connect Call block, then the queue treatment started by that Find Agent block continues until the specified destination answers the call. If a Service Announcement prompt (whisper) is specified for a Connect Call block, the ring back tone or music on hold is played to the caller while the service announcement is played to destination party. The caller will not hear the announcement.

For external destinations, Caller IDs are set according to the configuration of the corresponding dial-out entries.


Settings

Scenario Builder Connect Call scenario block settings


Title text

The name of the instance of the block.

Default Destination

The default phone number to which the call connects if variable $(destination) is empty.

Note that if the destination is an IVR, the phone number can include pauses and digits required to get to the desired contact or self-service option. Comma symbols are used for pauses; each comma will delay dialing of the next digit by one second (e.g., 18005552222,,,5,,245). For more information, see the Agent Guide, section How to Speed-Dial Through External IVRs.

Override Destination

The phone number to which the call connects. If this field has a value, the scenario ignores the destination variable. Use this field only if you want to override the destination variable.

Note that if the destination is an IVR, the phone number can include pauses and digits required to get to the desired contact or self-service option. Comma symbols are used for pauses; each comma will delay dialing of the next digit by one second (e.g., 18005552222,,,5,,245). For more information, see the Agent Guide, section How to Speed-Dial Through External IVRs.

Mark all calls connected by this block as overflow calls

If this checkbox is selected, all calls connected via this block will be marked for reporting purposes as calls made to overflow destinations.

Override calling party name with

This setting enables you to override the configured Caller ID name in the outbound call.

No Answer Timeout

The number of seconds that the scenario waits for a destination to answer the call before executing the No Answer conditional exit. The default is 10 seconds.

Auto-answer call in

The number of seconds that the scenario waits before the call is auto-answered. If you do not use auto-answer, leave this field empty.

This function will work for agents who use softphones. Support for this function in hardphones depends on a particular hardphone model.

Escape button for customer to hang up the agent

The button that the caller can press to stop a conversation with this agent. Unlike when it is released, the scenario will continue and can further process the call.

Custom hold music

The prompt that the scenario plays when the caller is on hold. The prompt is always played from the beginning. The prompt is optional; if present, it will override the default Hold and queue music treatment set at the contact center level.

Service announcement

The optional prompt the scenario plays to inform the agent to which service an incoming call pertains or to play a beep as notification. Note: Prompt playback duration is counted as talk time.

number of plays

The number of times that the Service Announcement prompt, if used, will be played to the agent.

stop announcement button

The button that the agent can use to interrupt playback of the service announcement prompt.

Custom ringback

The prompt that will be played back to the caller instead of a standard ring-back tone. If the Keep playing hold music while ringing on agent option is selected in the preceding Find Agent block, the Custom ringback prompt will not be played even if specified. Instead, the queue music will be played up to the moment of answer.

Repeated answer-side prompt

This prompt is used for transfers of service calls to other call centers to announce the call information when the transferred call is answered by the remote agent (e.g., This a call is from [name], please press [confirm answer button] to connect).

When the remote agent presses the confirm answer button, a call with the original calling party is established.

Confirm answer button

What the agents of remote contact centers will press to pick up service calls forwarded to them from your contact center after hearing the Repeated answer-side prompt.

Drop connection if no answer in

The number of minutes that the scenario will wait for the remote contact center to pick up the call before executing the No Answer conditional exit for this call. It starts from the moment that the remote agent answers.


Conditional Exits

The Connect Call block may take one of the following conditional exits: No Answer, Busy, Target Disconnected, or Transfer Failed.

No Answer

The destination phone rings but no one answers within the No Answer Timeout. This also includes other types of call failures (except for Busy).

Busy

The destination phone is busy (SIP 486) or the call is rejected by an agent.

Target Disconnected

The call was answered by the target side and eventually normally terminated from target side. The current interaction step is completed and a new interaction step is created. This could be used for surveys when the agent hangs up first and survey flow starts from this conditional exit.

Transfer Failed

This is a failure branch for failed agent transfers.




Connect Chat

The Connect Chat scenario block connects a chat to the destination specified in the $(destination) variable (typically, the agent found by the preceding Find Agent block or to the specified chat scenario entry). If the agent is logged in, the system tracks the agent’s state according to the state of the interaction. The block handles the call transfers and conferences internally and only ends when the remote party disconnects or the last agent disconnects.


Connect Chat scenario block


Conditional Exits

The Connect Chat block may take one of the following conditional exits: No Answer or Target Disconnected.

No Answer

The chat request is submitted to the agent, but the agent does not answer within the No Answer Timeout.

Target Disconnected

The chat request is answered by the agent and eventually, the call is terminated from the agent side. Target Disconnected could be used as a conditional exit, for example, for customer surveys when an agent disconnects first and a customer survey flow starts from this conditional exit. In the event of agent connection loss during a chat with a customer, a variable, $(targetDisconnectedCause), also supplies the agent disconnect reason. This variable informs the chat scenario of which side has disconnected and gives an option to continue the conversation using the chat scenario or another agent.

Values (string) for the variable include the following: UserHangup, SystemHangup, UserLogout, and Failure.

In the image shown, a Set Variable block has been added to the chat scenario, and its name has been set to "Target Disconnected." It appears in the scenario with the following properties.


Set Variable block added to scenario


The If and Internal Message blocks beneath the Target Disconnected variable provide additional uses for the variable.

If the user hangs up, the Target Disconnected variable provides the reason (i.e., the cause) for the disconnected chat and provides an avenue to continue the conversation.


If User Hangs Up > Target Disconnected Cause


An internal message is sent to a specific agent or representative (if a user name is entered), and the variable is given in the message.

This tells the agent that the chat has been disconnected, and why. This message is not visible to customers.


Internal Message > Target Disconnected Cause


In the following example scenario, the Target Disconnected variable is used with an If block to discover why the chat was disconnected. The title of the If block is Check reason, the exit label is Network Failure, and the variable is "targetDisconnectedCause" = "userLogout". In this instance, the variable equals the string "userLogout" in order to inform the scenario that if the chat disconnected due to a network failure, the cause must be that the user logged out.


Target Disconnected variable being used with an If block


The next branch in the scenario is Network Failure followed by Send Message. This sends an automated message to the customer to inform the customer that the chat was disconnected and will resume when another agent is available. The scenario then proceeds with Goto "Find Agent (Chat)" to find the next available agent to handle the chat.


A message tells the customer that the chat was disconnected

Settings

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, and they are described as follows.

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.

Default Destination

Default Destination is the default chat scenario entry to which the chat will be connected if no agents were found by the preceding Find Agent block to serve this interaction.

Override Destination

Override Destination is the chat scenario entry to which the chat will be connected is this parameter, as specified. If this field has a value, the scenario ignores the agent found by the preceding Find Agent block.

Mark all interactions connected by this block as overflow

If selected, all chats connected via this block will be marked for reporting purposes as chats made to overflow destinations.

No Answer Timeout

No Answer Timeout is the number of seconds the scenario waits for a destination to answer the call before executing the No Answer conditional exit. The default is 10 seconds.

Auto-answer in

This represents the number of seconds that the scenario waits before the chat request is auto-answered. If you do not use auto-answer, leave this field empty.

HTML code

HTML code defines the page that will be presented to the customer when agent accepts the chat request.


Setting the properties for the Connect Chat block



DB Execute

The DB Execute scenario block provides a way for a scenario to execute SQL statements on a specified database. This block can be used to share data between scenarios.


Scenario Builder DB Execute scenario block


Conditional Exits

The DB Execute block may take one of the following conditional exits: Failed or No Data.

Failed

An error occurred during SQL statement execution. No error details are provided.

No Data

The SELECT statement successfully executed but did not return any records.


DB Execute Block conditional exits


Settings

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.

DB Connection

DB connection represents the desired database connection. See the other settings for details.

Name

This is the name of the database connection. This name is shown in the DB Execute block connection selection menu. If no options are shown, click Manage DB connections to add new DB connections.

JDBC driver and connection string

Specify the JDBC driver and connection string that will be used to access this database. Note that templates are provided for some widely used DBMS systems.

Database user name and password

Specify database access credentials.

The database connection selector allows the following operations:

SQL Statement

This is the SQL statement to be executed. SQL statements may use scenario variables. For example: SELECT id, name FROM customers WHERE phone=’$(item.from)’

Recordset name

For SELECT statements, the name of the retrieved recordset should be specified. This allows scenarios to have more than one recordset and to choose the recordset to iterate on.

The database connection is selected from a list of connections. Click the Manage DB connections button. The pop-up window will display all database connections defined in this scenario. For each connection, the following data should be defined:


Scenario Builder DB Execute scenario block settings



EMail

The Email scenario block sends an email, with an attachment if so configured. It can be used together with the Record block to send recorded voice messages.

For SMTP server configuration, see section Email Settings of the Contact Center Administrator Guide.


Scenario Builder EMail scenario block


Conditional Exits

The EMail block may take the Mail not sent conditional exit, in which the message cannot be sent (if, for example, the SMTP server is down).


Settings

Scenario Builder EMail scenario block settings


Title text

The name of the instance of the block (any name).

From / Display name

The display name of the email sender. A scenario variable can be specified as the value using the $(varname) format.

From / Address

The email address of the email sender. A scenario variable can be specified as the value using the $(varname) format.

To / Address(es)

The email addresses of the intended recipients. If sending to multiple email addresses, separate email addresses using a comma or a semicolon. Scenario variables can be specified as values using the $(varname) format.

To / URL of the recording to attach (optional)

The URL of the recording to attach is the full HTTP URL of the voice recording previously done by a Record scenario block. A scenario variable can be specified as the value using the $(varname) format. Typically, the Record block will store the resulting URL in a scenario variable; this variable will be used by the EMail scenario block.

(Before Bright Pattern Contact Center version 3.7.7, a combination of the Record and Email scenario blocks were used to implement recording and distribution of voicemail messages. Starting from version 3.7.7, a new scenario block, called Voicemail, was introduced to combine the aforementioned functions and support various storage and playback options specific to voicemail.)

To / Template

The language template to be used for the email (e.g., "English", "Japanese", etc.). The email's text will be displayed in the selected language.

Message / Subject

The subject line of the email. Can contain scenario variables in the $(varname) format.

Message / Format

Specify the format for email: HTML (default) or .TXT (plain text).

Message / Survey link text

The text of the survey link (if there is one; see "Survey link" below), in the same language as the template.

Message / Body

The text to be sent as a message body. It can contain scenario variables in the $(varname) format. Bright Pattern does not impose any limits on the size of the email.

Insert $()

This button allows you to insert a variable in the $(varname) format into the body of the email. Choose from the following:

Survey link

This button allows you to select a configured survey form and insert a link to it into the body of the email. Note that if your contact center has no existing survey forms, there will be no survey link to select.

To learn how to create a survey, see How to Solicit Post-Transactional Surveys via Email.

Remove <Language> Template

Clicking this button deletes any text present in the message body.

Test <Language> Template

Clicking this button sends a test email, with the specified message, to a specified email recipient.



Exception Handler

The Exception Handler scenario block provides an alternative branch the scenario can execute if an exception, a block error, or a disconnection occurs. This allows the scenario to continue executing instead of terminating as it normally would under such circumstances without the Exception Handler block. Use this block in any part of a scenario in which you expect exceptions, block errors, or caller disconnects in order to ensure continued processing.


Scenario Builder Exception Handler scenario block


Conditional Exits

The Exception Handler block may take one of the following conditional exits: Try or Catch.

Try

In the Try conditional exit, enter the sequence of blocks that you predict might generate an exception, block error, or disconnect.

Catch

In the Catch conditional exit, enter the sequence of blocks that you want the scenario to execute if an exception, block error, or disconnect occurs during the Try conditional exit.


Scenario Builder Exception Handler Try/Catch conditional exits


The Exception Handler block initially executes the Try conditional exit.


Settings

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.


Scenario Builder Exception Handler scenario block settings



Exit

The Exit scenario block disconnects the currently active interaction and exits the scenario.


Scenario Builder Exit scenario block


The following example scenario shows Exit blocks in a web chat scenario.


Scenario Builder Exit block used in a web chat scenario



External Transfer Call

The External Transfer Call scenario block transfers calls to an external number specified in block’s the Destination field.

Notes:


External Transfer Call scenario block


Conditional Exit

Transfer Failed

The Transfer Failed conditional exit is taken if the call transfer failed. Transfers may fail because:

Settings

Title Text

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

Destination

Destination is the phone number the call will be transferred to. You may enter either a phone number or a variable in this field.


External Transfer Call settings



Fetch URL

The Fetch URL scenario block fetches web content, including JSON-formatted data, from a specified URL, using a specified method and parses it into scenario variables. Both HTTP and HTTPS protocols are supported, as well as basic authentication.

Fetch URL scenario block


Conditional Exits

The Fetch URL block may take one of two conditional exits: Failed or No Data.


Settings

Title text

Title text is the name of the instance of the block, displayed in the flowchart.

Request type

Request type is the type of method to be used to fetch web content from the specified URL. Request types are defined in the pull-down menu.

Select from the following request types, or write in another method manually:

URL to fetch

URL to fetch is the HTTP/HTTPS URL of the web resource that this block will access. Query string parameters, if any, should be specified in the URL parameters (see below). If any parameters are defined, they will be appended to the URL, and the '?' and '&' separators will be automatically inserted.

Extra headers

Extra headers are the HTTP headers to add to the request (e.g. for authentication purposes). Functions can be used by inserting them as a value. Click add to define a header, type in the name, and type in the value.

For example, a payment gateway may have a RESTful interface that requires authentication via “Authorization” header and SHA-256 hash of time, username, and password. To enable authentication, you would provide a request header with the name “Authorization” and the value “accessid==hmac(“SHA-256”, key, message)”. Functions are described in the Scenario Builder Reference Guide, section Built-in Functions.

URL parameters

These are the URL parameters to be URL encoded and appended into URL. Scenario variables can be used by inserting them as $(varname). Click add to define URL parameters, type in the name, and type in the value.

Content Type

Content Type is the type of data to be submitted in request body.

Select application/json for a JSON data structure, or select application/x-www-form-urlencoded for a URI-encoded data in the body of the message.

Body

This property is displayed when the Content Type is set to application/json and is used to specify the data to be transmitted with the given request in the JSON format. Scenario variable substitutions are allowed.

Form parameters

This property is displayed when the Content Type is set to application/x-www-form-urlencoded and is used to specify the data to be transmitted with the given request as a URL-encoded key/value string. To define each parameter, click add, type in the parameter name, and set the value. Scenario variable substitutions are allowed.

Username

Username is the request authentication username. Variable substitutions are allowed.

Password

Password is the request authentication password. Variable substitutions are allowed.

Initial path in the result JSON

If the response body contains JSON, this setting can be used to save into scenario variables a specific part of the data. Example: myobject.node.list[4]. The default is "none"; the path starts from the root of the returned JSON.

Scenario variable prefix for JSON data

This string will be used as the name of the variable to receive parsed JSON data. Note that if the initial path above points to an array, depending on the value of the GetNext option below, this variable would either contain the array or its first (and subsequent) elements.

Use GetNext block to loop through data

This box is selected if the JSON response data (at the initial path) is an array. The scenario variable will be set to the first element of the array and GetNext block could be used to iterate over the array elements, setting scenario variable to the next element.

Note: If you enable this option, the behavior of the Fetch URL block will be the same as it was for Bright Pattern Contact Center version 3.13 and earlier.


Fetch URL scenario block settings


Response Data Handling

In all cases, the response data is limited to 50 KB.

If the response data is not JSON-encoded, it could be accessed as string via the $(integrationResultBody) scenario variable described below.

If the response data is JSON, the following will happen:

  1. It will be parsed.
  2. If the "GetNext" option is enabled and the item the initial path is pointing to is a regular, non-associative array:
    1. The scenario variable will be set to the first item of the array.
    2. The GetNext block could be used to initialize the variable to the next and subsequent items.
  3. Otherwise, the scenario variable will be set to the item to which the initial path is pointing.


Possible syntax for the initial path setting and the access to the data saved in the scenario variable is as follows:


HTTP Response Codes

The status code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, you may use the EMail or Internal Message block to obtain content of responses indicating a failed attempt. For more information, see the description of variable $(integrationResultBody).

For backward compatibility reasons, the code and the body of the received HTTP response are also stored in local variables $(fetchURLResultCode) and $(fetchURLResultBody).

The possible values of the $(fetchURLResultCode) variable are as follows:


HTTP Redirect Response Handling

The Fetch URL block handles 3xx Hypertext Transfer Protocol (HTTP) response codes in the following way.

When the following codes are received, the block retries the request to the provided redirect URL using the GET request method:

When the following codes are received, the block retries the request to the provided redirect URL using the originally specified request method:

When the following status codes are received, the conditional exit Failed will be selected:



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


Important:

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.


Settings

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.

Periodic reminder - when interaction EWT becomes less than

If the Periodic reminder - repeat every setting is configured and you enable this option, if the interaction EWT becomes less than the specified number of seconds, you may configure the scenario to either change the periodic reminder prompt that plays or stop playing the prompt. If this option is not enabled, the Periodic reminder - repeat every setting will continue to play as specified. Note that 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.

Callback

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.


Prompts

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; all other prompts are played after this prompt.

EWT Announcement

The voice scenario plays the EWT Announcement when providing the estimated wait time (EWT). The scenario uses the system to read the actual 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 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.




Get Agent State

The Get Agent State block can be used to check an agent's current state. The agent state is stored in the variable $(agentState). For state Not Ready, the block also returns the Not Ready reason in the variable $(notReadyReason). For state Busy, the block also returns the media type of the interaction the agent is busy with in the variable $(busyWithMediaType).


Get Agent State scenario block


Conditional Exits

The Get Agent State block may take one of the following conditional exits: No data or Logged Out.

No Data

The No data conditional exit is taken if no agent state is returned.

Logged Out

The Logged Out condition exit is taken if the specified agent is logged out of the Agent Desktop application.


Settings

Agent's digital ID (extension)

This field allows you to enter in the extension of an agent with the purpose of retrieving their state.


Get Agent State settings



Get Next Record

The Get Next scenario block provides a way for a scenario to retrieve the next or previous record from a recordset created by a previously executed blocks DB Execute, Fetch URL, RightNow Search, Salesforce.com Search, and Zendesk Search.


Scenario Builder Get Next Record scenario block


Conditional Exits

The Get Next Record block may take the No more items conditional exit if no more items can be retrieved from the specified recordset.


Settings

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.

Direction

Choose whether the next or the previous record should be retrieved.

Recordset name

Recordset name is the recordset from which the record should be retrieved. The name is selected from the list of available recordsets, which is populated from all DB Execute, Fetch URL, RightNow Search, Salesforce.com Search, and Zendesk Search blocks of the scenario.


The columns of the retrieved records (if any) are stored in the scenario variables RS.[name] (e.g., RS.id).


Scenario Builder Get Next Record scenario block settings



Get Statistics

The Get Statistics scenario block obtains one or more statistics and saves their values in scenario variables for future use.


Get Statistics scenario block


Settings

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.

add

Clicking the add link will add a statistic and specify the following:


Get Statistics scenario block settings



Get User Configuration

The Get User Configuration scenario block obtains one or more of the properties of a user, such as username, phone number, email address, or unique identifier, and saves them in scenario variables for future use.


Scenario Builder Get User Configuration scenario block


Settings

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.

Find user by

Find user by specifies the type of the property that will be used to find the user. You can find a user by using the following properties:

Value

Value specifies the value of the property that will be used to find the user.

User properties to return

Click add to select the type of property that you want to use in the scenario and the name of the variable where its value will be stored. The following property descriptions refer to their names as they appear in the Contact Center Administrator application.


Scenario variables can be specified as values using the $(varname) format.


For more information, see Contact Center Administrator Guide sections Users, Teams, and Skill Levels.


Scenario Builder Get User Configuration scenario block settings



Goto

The Goto scenario block redirects the processing flow of the scenario to a specified destination in the flowchart.


Scenario Builder Goto scenario block


To redirect the flow using this block, follow these steps:

  1. Add a Goto block to the desired location in the flowchart. The Scenario Builder will mark the block in red until you define a destination for it.
  2. Select the Goto block in the flowchart. The Edit Pane will display a copy of the flowchart.
  3. In the Edit Pane, click the desired Goto destination (i.e., the building block to which you want to redirect the flow using this Goto block).

The flowchart displays the new name of the Goto block, which indicates the location in the flowchart to which the block redirects the processing flow. The format of the name is Goto “[destination block title]”.

The Scenario Builder will highlight the Goto block in red if you remove its destination block during editing.

In the following example, a Goto block is used to direct a call to voicemail if the call is placed on a holiday.


Example of a Goto block redirecting a call to voicemail



Identify Contact

The Identify Contact block performs a search for a contact and associates the contact with the current interaction if a single match is found. The block can search either internal or external sources, such as those configured in section Call Center Configuration > Identification.


Identify Contact scenario block


Conditional Exits

The Identify Contact block may take one of the following conditional exits: Failed, No Data, or Multiple Matches

Failed

The Failed conditional exit is executed if the search operation or network connectivity to an external CRM site times out.

No Data

The No Data conditional exit is executed if no data matching the specified search criteria is found.

Multiple Matches

The Multiple Matches conditional exit is executed if the specified search yields multiple matches.


Settings

Title Text

Title Text is the name of the instance of the block. Enter a name in the text field and the new name of the block will appear in the flowchart.

Search by

The Search by drop-down menu allows you to select the source of identification. You may select Email address, External ID, Messenger ID, Phone, or a custom contact field.

Note: Custom contact fields will not appear in the Search by menu unless the checkbox Searchable has been selected. For more information, see Custom Fields.

Search address

The Search address field is where to enter a text or variable item containing the email address, external ID, messenger service ID, or telephone number of the contact to search for; search is limited to what option is selected in the Search by setting.

External Type / Messenger Type

If External ID is the selected Search by option, choose either Salesforce or Zendeskfrom the drop-down menu, as the external source.

If Messenger ID is the selected Search by option, choose Facebook, Telegram, Viber, LINE, or Twitter as the messenger service source.

Time limit

The Time limit field is where you may enter a time limit, in seconds, for the search. The default time is 15 seconds and valid values range from one to 99 seconds. This setting is more important for external identification sources (e.g., Salesforce) that may be slow to return the values. It serves as a reminder for scenario writers that a call/chat can spend noticeable time in this block.


Identify Contact scenario block settings

If

The If scenario block allows branching of a scenario based on verification of some specified conditions. Multiple conditional exits (branches) can be configured in the same block.


Scenario Builder If scenario block


Branches and Conditions

A branch can include one or more logical expressions (conditions), where each condition verifies one the following:


Use the Add branch button to add a branch corresponding to the desired conditional exit. Provide a label that will identify the corresponding conditional exit in the flowchart.

Click the add condition link to define a logical expression for verification of one of the above parameters.


Scenario Builder If scenario block settings


Multiple Conditions

Multiple conditions in a branch can be joined by either the AND (default) or OR operator.

If necessary, add more branches as described. (Note that there is a limit of 20 branches per If block.)

The branches are tried in the order in which they are defined in the block. If none of the branches leads to a positive verification, the block that directly follows the given If block in the flowchart is executed.


Typical Uses

The following are examples of some typical uses of the If block.

Current Date and Time

The Current date and time condition is normally used to check the interaction arrival time against the Hours of Operation (HOP) specified in the associated scenario entry, as illustrated in the Scenario Example.

In addition, the current date and time condition can be used to check the current date and time against the configured calendar hours of operation (HOP) without involving an HOP variable.


The current date and time is checked against the default HOP, without using a variable


Current Time

The Current Time condition can be used along with a Find Agent block to set queue limits based on the time of day. For example, the Current Time condition may be set in the If block to find an agent and set queue limits: "If 10-5 (where 10-5 refers to 10:00 am to 5:00 pm), find an agent with queue limit of 20" and/or "If 5-7 (where 5-7 refers to 5:00 pm to 7:00 pm), find an agent with queue limit of 10."

Estimated Waiting Time

The Estimated Waiting Time condition can be used to determine further processing of the interaction based on the time that the given interaction is likely to wait in the service queue before it can be delivered to an agent. (Note, however, that the estimated waiting time condition related to the Virtual Queue function is defined in the Find Agent block.)

Scenario variable (HOP)

The Scenario variable (HOP) condition can be used to check the interaction arrival time against any other HOP defined as a scenario parameter.




Internal Message

The Internal Message scenario block is used to send an internal chat message to a specified user.


Scenario Builder Internal Message scenario block


Conditional Exits

The Internal Message block may take the Failed conditional exit if the attempt to send the message has failed.


Settings

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.

Username

This is the username of the message recipient.

Message

The message is the text of the message to be sent. Variables in the $(varname) format can be used in the message text.


Scenario Builder Internal Message scenario block setting



Log

The Log scenario block adds a message to the Scenario Engine log file. This block is intended for debugging and testing purposes only, and it may be removed in production versions of scenarios.


Scenario Builder Log scenario block


Settings

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.

Text message

Text message is the free-form content of the message. You can use scenario variables in the text (e.g., This is a test log message for call from $(item.from) to $(item.to)).

Log Level

Log Level specifies the Scenario Engine log level where this message will appear.


Scenario Builder Log scenario block settings



Menu

Scenario Builder Menu scenario block


The Menu scenario block plays a menu prompt with options to choose from and then allows the caller to select an option by pressing a dual-tone multi-frequency (DTMF) key. DTMF refers to telephone touch-tones (numbers from 0 to 9, as well as symbols # and *), which are transmitted from phones to other communication devices, such as IVR.

How It Works

The Menu block moves through the following steps:

  1. The menu prompt announces options with corresponding keys from a phone keypad (0-9, *, #). Each selected option corresponds to a conditional exit.

  2. The caller presses the key corresponding to the desired menu option.

  3. The block receives the input from the caller and processes the corresponding conditional exit.


If a key is not defined, it has no meaning and is considered invalid. The Menu block informs the caller if the input is invalid, or if the time allotted for the caller to enter digits expires. If a caller enters an invalid option or does not enter an option in the allotted time, the scenario executes the subsequent block in the flowchart.

Properties

Scenario Builder Menu scenario block settings


Prompt to play

Prompt to play is the prompt that the scenario initially plays to the caller. Usually this prompt explains the available menu options. For example, the prompt can say, For customer service, press 1, for technical support, press 2, to speak with an operator, press the pound sign.

Learn more about managing prompts in this guide's Voice Prompts section.

Valid choices

These are the numeric key values assigned to each menu option. To assign a menu option to a key, select the checkbox corresponding to that key.

When you enable a key, a text field appears where you can enter a description of the option enabled by this key. The description you enter here will appear in the flowchart as the label of the conditional exit corresponding to the key. By default, the label is the key name.

Invalid input prompt

The Invalid input prompt is the prompt that the scenario plays when the caller enters an invalid key. Click Select to choose to ignore a specific invalid digit selection.

Allow interrupting prompt by a phone button

Select this setting in order to allow callers to interrupt the prompts by entering the desired option at any time; uncheck this setting if input is not allowed until the prompt is complete.

Ignore invalid choices

Select this setting to ignore the caller's invalid input. If a caller enters an invalid option, the scenario executes the subsequent block in the flowchart.

Input Timeout

Input Timeout is the number of seconds that the scenario waits for a caller’s input after playing the initial prompt or its short version before playing the Timeout prompt. If left blank, the block will wait for input indefinitely.

Timeout prompt

The Timeout prompt is the prompt that the scenario plays when the time allotted for the caller to respond expires.

Short version of main prompt

The short version of the main prompt (Prompt to play) is what the scenario plays after the Timeout prompt and Invalid input prompt. This prompt can remind the caller about the available menu options.

Retries

Retries represents the maximum number of times that the voice application will allow the caller to provide input after the input timeout expiration or invalid input. If the number of retries is reached without successful input, the scenario moves to the next block in the flowchart. This parameter can either be set explicitly or via a scenario variable. This parameter can be set to zero to exit menu without retries.

Conditional Exits

With the Menu block, you can configure a conditional exit for each telephone key (0-9, *, #). By default, the block has conditional exits for keys 1 and 2.



Microsoft Dynamics Create Object

Microsoft Dynamics Create Object scenario block


The Microsoft Dynamics Create Object scenario block creates a specified object in the Dynamics 365 database. You may find it useful to pair this block with the Microsoft Dynamics Search Object block; if you search the Dynamics 365 CRM database for an object and do not find it, you can opt to create that object.

Properties

Microsoft Dynamics Create Object properties


Title text

The name of the instance of the block (any name).

Object type

The type of object you want to create in the Dynamics 365 database.

Select from one of the following types:

Variable name for object ID

The name of the variable that will be used as identifier for the Dynamics 365 object to be created. The variable name of the object ID will be set only if the block succeeds.

Set fields

This setting is reserved.

Raw JSON

Where object properties are specified in JSON format.

The code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively.

For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to create an object. For more information, see the description of variable $(integrationResultBody).

Conditional Exits

If the create operation has failed, the block will take the Failed exit.



Microsoft Dynamics Delete Object

Microsoft Dynamics Delete Object scenario block


The Microsoft Dynamics Delete Object scenario block is used for deleting a specified object in the Dynamics 365 database. You may find it useful to pair this block with the Microsoft Dynamics Search Object block; you can search the Dynamics 365 CRM database for an object and then use the Delete Object block to remove it.

Properties

Microsoft Dynamics Delete Object properties


Title text

The name of the instance of the block (any name).

Object type

The type of object you want to delete in the Dynamics 365 database.

Select from one of the following types:

Object ID

The object ID is the name of the variable that will be used to identify the Dynamics 365 object to be deleted. The variable name of the object ID will be set only if the block succeeds.

Conditional Exits

If the create operation has failed, the block will take the Failed or No Data exit.

Failed

This exit is taken if the search operation failed due to invalid parameters, timeout, or network connectivity to the Dynamics 365 CRM.

No Data

This exit is taken if no data matching the specified search criteria is found.



Microsoft Dynamics Screen Pop

Microsoft Dynamics Screen Pop scenario block


The Microsoft Dynamics Screen Pop scenario block specifies what Dynamics 365 data to be displayed for the agent when the interaction is delivered to this agent through the Connect Call block.

Properties

Microsoft Dynamics Screen Pop properties


Title text

The name of the instance of the block (any name).

Pop screen upon answer

Selecting this checkbox will screen pop the specified data to the agent upon accepting the interaction. If selected, this applies to any of the following screen pop options.

Pop object

Screen pops a specified Dynamics 365 object to the agent.

Pop a search result

Screen pops specified search result(s) to the agent.

Cancel screen pop

Cancels the screen pop of a specific Dynamics 365 object that may have been set by a previous use of this block in the same scenario.

Object Identifier

The name of the variable that identifies the Dynamics 365 object to be displayed. It can be specified as an application variable in the $(varname) format.

Object type

The type of object from the Dynamics 365 database that you want to screen pop.

Select from one of the following types:




Microsoft Dynamics Search Object

Microsoft Dynamics Search Object scenario block


The Microsoft Dynamics Search Object block finds an existing object in the Dynamics 365 database. When using this block, we assume that we have some information about a contact, such as case state, account number, or name, and we use that information for data lookup. You can use this block to search for a variety of data object types, including Account, Case, Contact, Contract, Invoice, Lead, Opportunity, Order, and Quote.

Properties

Microsoft Dynamics Search Object properties


Title Text

The name of the instance of the block (any name).

Object type

The type of object you want to search for in the Dynamics 365 database. Values may be manually entered in this field or selected from the drop-down menu. Note that the value in the Object type field is the Dynamics Entity Set Name. For more information, see Query Data using the Web API.

Select from one of the following types:

Query

This field allows free-form entry of of text in Dynamics 365 search URL syntax.

Recordset name

A recordset is a set of records (presented either as a table or a query from a table) in JSON format, which holds the results of the search that this block is doing.

The recordset name is the name of the recordset in JSON format. When entering the recordset name (e.g., "MScase"), you are declaring your recordset in a field name, and the value entered in this field can then be used in a number of subsequent blocks to dictate further actions (e.g., passing the value to a Microsoft Dynamics Create Object block if information about a contact is not found).

Conditional Exits

Failed

This exit is taken if the search operation failed due to invalid parameters, timeout, or network connectivity to the Dynamics 365 CRM.

No Data

This exit is taken if no data matching the specified search criteria is found.




Microsoft Dynamics Select Account

Microsoft Dynamics Select Account scenario block


Your contact center configuration may contain multiple Microsoft Dynamics 365 integration accounts for access to different Dynamics 365 apps. Use the Microsoft Dynamics Select Account block to specify the integration account that will be used by subsequent Microsoft Dynamics blocks in the given scenario.

If this block is not used, all Microsoft Dynamics blocks in the given scenario will use access data from the integration account marked as Default account. For more information, see the Contact Center Administrator Guide, section Microsoft Dynamics 365 Integration.

Properties

Microsoft Dynamics Select Account scenario block properties


Title text

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.

Account

The name of the Microsoft Dynamics Select Account integration account that will be used for access to Dynamics 365 data by subsequent Microsoft Dynamics blocks in the given scenario.




Microsoft Dynamics Update Object

Microsoft Dynamics Update Object scenario block


The Microsoft Dynamics Update Object scenario block is used for making changes to a specified object in the Dynamics 365 database. You may find it useful to pair this block with the Microsoft Dynamics Search Object block; if you search the Dynamics 365 CRM database for an object and want to edit it, you can opt to update that object.

Properties

Microsoft Dynamics Update Object properties


Title text

The name of the instance of the block (any name).

Object type

The type of object you want to create in the Dynamics 365 database.

Select from one of the following types:

Object identifier

The object ID is the name of the variable that will be used to identify the Dynamics 365 object to be updated. The variable name of the object ID will be set only if the block succeeds.

Set fields

This setting is reserved.

Raw JSON

Where object properties are specified in JSON format.

The code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively.

For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to create an object. For more information, see the description of variable $(integrationResultBody).

Conditional Exits

If the create operation has failed, the block will take the Failed or No Data exit.

Failed

This exit is taken if the search operation failed due to invalid parameters, timeout, or network connectivity to the Dynamics 365 CRM.

No Data

This exit is taken if no data matching the specified search criteria is found.



Play-Listen

Play-Listen scenario block

The Play-Listen scenario block is a key part of Bright Pattern's conversational IVR. The block enables natural conversation in an automated scenario, using the combination of integrated text-to-speech and speech-to-text technologies, along with integrated chatbots, to "talk" to customers on inbound voice calls and "listen" for their spoken or DTMF (i.e., touch tones) response.

To use this block, your contact center must have a Speech To Text (STT) integration account and a Text to Speech (TTS) integration account.

(Note that for scenarios in which input from the caller is expected in response to a prompt, use the Menu block.)

How It Works

On a call, if the Play-Listen block detects that the caller is talking or entering touch tones on the phone, the voice prompt will stop playing, and one of the following will happen:

Properties

In this block's properties, you will configure Play-Listen to play a voice prompt for the caller, collect the caller's spoken response or DTMF response, offer bot suggestions to the caller, and route the caller if the block fails.


Scenario Builder Play-Listen scenario block settings


Prompt to play

This is the prompt that the scenario will play to the caller.

The Play-Listen block uses text-to-speech technology to convert bot response text into speech in a specified language. The prompt will sound like a robot. You have the option to record your own voice segment and upload it to the Prompts list as a .WAV file.

Learn more about managing prompts in this guide's section, Voice Prompts.

Allow interrupting prompt by customer voice

When this checkbox is enabled, if the Play-Listen block detects that a caller is talking while the configured prompt is playing, the prompt will be interrupted. Note that this setting is unchecked by default.

Enabling this checkbox may be useful as a subsequent Menu block does not require a second input and a subsequent Collect Digits block no longer requires variable concatenation (i.e., starting from Bright Pattern Contact Center version 5.5.5).

Transcriber

The transcriber is the Speech-to-Text (STT) engine that takes the caller's vocal response and converts it to text, thus producing a text transcription of whatever was spoken.

Select the STT integration account that has been configured for your contact center.

End of phrase silence time

If your contact center uses IBM Watson STT as the transcriber, this setting allows you to configure a specific amount of time (in seconds) that the system waits at the end of a detected spoken sound before exiting the block. The minimum configurable value is 0.5 seconds, the maximum configurable value is 3 seconds, and the default value is 0.8 seconds. Configuring this setting can be useful for contact centers that require customers to read out long strings of digits and/or letters. Note that the sound detection does not apply to DTMF tones.


Select transcriber


Recognized phrase

The recognized phrase uses a variable to represent whatever the customer says. In this field, enter the variable that receives the caller's spoken "phrase" (e.g., "user_phrase" or "bot_phrase").

The variable name can be anything you want, as long as you use the same variable name consistently in your scenario. The variable/recognized phrase is set using the Set Variable block.

Confidence

Confidence indicates the speech-to-text service's confidence in its identification of the speakers and the words that are spoken. In this field, confidence is represented by a variable that receives the confidence value from your integrated speech-to-text engine.

As with the recognized phrase variable, you can enter any variable you want here (e.g., "cc"), as long as you use it consistently later.

Your STT engine conveys confidence as a numeric value, where the higher the number (e.g., "0.999") is, the more confident the STT engine is that it has recognized vocals correctly. A low number (e.g., "0.001") shows that the engine has very low confidence in its vocal recognition. For example, if the customer says, "I need a new phone," and the engine hears, "I need a sea foam," the confidence will be likely very low. If confidence is low, the scenario can escalate the call to a real agent.

Max timeout

The default value is 20 seconds. When the max timeout is reached, the scenario will exit the Play-Listen block using the Timeout conditional exit (see below).

Re-use digit from interrupting button in the next block

If the DTMF conditional exit is taken (i.e., DTMF is received as an input), and this checkbox is enabled, the received DTMF code is saved in the buffer and may be used in a subsequent Menu block.


Conditional Exits

The scenario can exit the Play-Listen block through the DTMF exit, Failed exit, or Timeout exit.


DTMF and Failed conditional exits


DTMF

Dual-tone multi-frequency (DTMF) refers to telephone touch-tones. If the Play-Listen block detects that the caller is transmitting numeric information (numbers from 0 to 9, as well as symbols # and *) on the phone, it will take the DTMF exit, running through the scenario as specified. Note that when a customer is speaking, if they press a DTMF key, this exit will be taken.

When a DTMF key is pressed, the first DMTF entry will populate the $(playListenDTMF) variable.

To define what the scenario will do once the exit is triggered, drag a scenario block over to the DTMF exit.

In the example shown above, when the DTMF exit is triggered, an internal message is sent to a specified agent, so that the agent knows that touch-tone information was provided via the IVR. Then, the scenario uses the Goto block to go to the Find Agent block.

Failed

The Failed exit is taken when the Play-Listen block has delivered the prompt but has failed to collect a response from the caller.

To define what the scenario will do once the exit is triggered, drag a scenario block over to the Failed exit.

In the example shown above, when the Failed exit is triggered, an internal message is sent to a specified agent, so that the agent knows that conversational IVR didn't get a response from the caller. Then, the scenario uses the Goto block to go to the Find Agent block.

Timeout

If the Play-Listen block does not detect any changes in vocal input or if the call is silent, the block will take the Timeout exit.

To define what the scenario will do once the exit is triggered, drag a scenario block over to the Timeout exit. You may wish to use the Goto block to go to the Find Agent block.


Recommended Reading

Explore Bright Pattern's tutorials to learn more about how to use the Play-Listen block:


Play Prompt

Play Prompt scenario block


The Play Prompt scenario block plays a voice or music prompt to the caller. This building block is also useful for reporting an error or the outcome of an operation for testing purposes.

For scenarios in which input from the caller is expected in response to a prompt, use the Menu and Collect Digits blocks.

Properties

Scenario Builder Play Prompt scenario block settings


Prompt to play

Prompt to play is the prompt that the scenario will play to the caller. Learn more about managing prompts in this guide's section, Voice Prompts.

Note: Some service configuration changes that affect agent behavior are not picked up dynamically by Agent Desktop. Thus, after making a change to voice prompts, we recommend that all affected logged-in agents refresh their browser page.

Allow interrupting prompt by phone button

Select this checkbox to allow callers to interrupt the prompt by pressing a phone key.

Re-use digit from interrupting button in the next block

Select this checkbox if the digit(s) entered by the user should be preserved for potential use in the scenario block that immediately follows this one. If the next block is Menu or Collect Digits, its initial prompt will be interrupted immediately and the preserved digit(s) will be used as input. If the next block is another Play Prompt block, its prompt will be skipped altogether as long as the option Allow interrupting prompt by phone button is selected in that block.

Exit immediately and continue playing prompt in background

Select this checkbox to exit the block immediately and proceed with normal scenario execution while the prompt playback continues in the background until one of the following occurs:

  1. Termination of the call by the listening party

  2. Execution of the Exit block

  3. Execution of the Stop Prompt block

  4. Execution of any other scenario block containing a voice prompt. Note one exception to this fourth action: if another Play Prompt block is executed with this option unchecked, the requested prompt will be played once, and the playback of the original continuous prompt will resume.




Record

The Record scenario block provides a way for a scenario to record a message over the phone and store it as a shared voice segment for subsequent use in other scenarios. Such a shared voice segment must first be created via the Contact Center Administrator application and then selected as the value of property Shared voice prompt of this block.


Scenario Builder Record scenario block


This block will record the message in the “current” scenario language. The default current language is English - United States. To change the current language, use the Set Prompt Language block. To record one voice segment in two different languages in the same scenario, you can set the first desired language, use the Record block, then set the second language, and use the Record block again with the same setting of the Shared voice prompt property.

Note: Before Bright Pattern Contact Center version 3.7.7, a combination of the Record and EMail scenario blocks were used to implement recording and distribution of voicemail messages. In version 3.7.7, the Voicemail block was introduced to combine the above functions and support various storage and playback options specific to voicemail. Starting from version 3.8, Bright Pattern Contact Center Software also supports a built-in voicemail function.

Conditional Exits

The Record block may take one of the following conditional exits: Silence, Error, Max Recording Time Exceeded, or Cancelled.


Scenario Builder Record conditional exits


Silence

Silence is detected. The Detect Silence checkbox must be selected, and the Cancel on initial silence of parameter must be specified.

Error

A scenario block error occurs.

Max Recording Time Exceeded

The Maximum duration is exceeded.

Cancelled

The recording is cancelled by the user.

Prompts

The Record block plays the Confirmation menu prompt after replaying the recorded message. This prompt will normally offer the following options: accept the recording, record again, and cancel recording.

The user will be expected to select the desired option by pressing the phone key specified for each option (by default, these are digits 1, 2, and 3, respectively).

Settings

Scenario Builder Record scenario block settings

Title text

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.

Maximum duration

Specifies the maximum duration of the recording in seconds.

Recording encoding

The type of encoding method being used. Select G.711 (default) for the best quality, or GSM6.10 for a smaller file.

Recording mode

Allows you to select from either of the following recording options:

Shared Voice Segment that can be used in IVR Prompts

Allows you to select any shared voice segment you have configured to use in IVR prompts. Shared Voice Segments are configured in Contact Center Administrator.

Store recording accessible via a URL

Allows you to access recordings via URL through either Agent Desktop or when sent as an email attachment.

Note: In order to enable these options, there are additional configuration steps listed per the following methods.

Name of the variable to store secure URL to play via Agent Desktop

Allows you to name a variable to store recordings to play via Agent Desktop. For this feature to work, you must have Transcribe recording (uses Speech To Text integration account) and Natural Language Understanding (NLU) checked and configured, as well as variables entered in fields corresponding with text transcripts and sentiments.

Note: To ensure this feature is working properly, you may need to make sure that the recording, transcript, and sentiment were received (use the Log, EMail, or Internal Message blocks to obtain variables). You may also need to verify that clicking on the received recording URL makes Agent Desktop come up in your browser and requires authentication. After logging in successfully, the URLs will become available.

Name of the variable to store recording URL to use as email attachment

Allows you to name a variable to store the recording as an email attachment (e.g., “recording_url”).

Note: This variable must be connected to an EMail block in the same scenario to send the URL via email (e.g., “$(recording_url)”).

Store recording into a string variable, base-64 encoded

This option allows you to store the recording into a string variable, which is Base64 encoded; the format of the recording is the Resource Interchange File Format (RIFF) (i.e., essentially a .WAV file). The length of the recording is hard-limited to 30 seconds. When configured, this option makes it possible to pass voice recordings in RESTful API calls (e.g., voice biometrics enrollment, verification).

Detect silence

If selected, the Record block will analyze the voice stream in order to reject empty messages and determine the end of message. The Detect silence option requires more processing power.

Confirm before saving

If selected, the Record block will play the recording back to the caller and ask the caller to confirm or re-record the message before it is saved.

Beep at start of recording

If selected, the Record block will provide a tone indicating the beginning of the recording.

Confirmation menu prompt (after recorded message replay)

The name of the confirmation menu segment that will be used after the recorded message replay. To configure the menu prompt message and/or language, click on the Select option link to bring up the prompts list.

Accept recording" DTMF (default 1)

The touch-tone value that will be used to accept the recording (e.g., "Press 1 to accept the recording."). The default value is 1.

Record again" DTMF (default 2)

The touch-tone value that will be used to record the message again (e.g., "Press 2 to re-record the message."). The default value is 2.

Cancel recording" DTMF (default 3)

The touch-tone value that will be used to cancel recording (e.g., "Press 3 to cancel."). The default value is 3.

Transcribe recording (uses Speech to Text Integration Account)

When selected, this uses your integrated Speech To Text account to transcribe recorded conversations.

Note: This option is only available if the setting Store recording accessible via a URL is selected.

Natural Language Understanding (sentiment) account

Allows you to select the Natural Language Understanding (NLU) account you wish for sentiment recording.

Name of the variable to store text transcript of the recording

If a Speech To Text (STT) account has been selected for this Record block, this field allows you enter the name the variable you want associated with the STT account (e.g., "transcript_survey").

Note: This variable may be linked to Save Survey Response block for saving survey responses related to recorded text transcripts.

Name of the variable to store sentiment of recording

If a Natural Language Understanding (NLU) account has been selected for this Record block, this field allows you to name the variable you want associated with the sentiments determined by your NLU account (e.g., "sentiment_survey").

Note: This variable may be linked to Save Survey Response block for saving survey responses related to recorded sentiments.



Request Callback

The Request Callback scenario block implements the Virtual Queue option when such an option is requested via an associated Find Agent block. The Request Callback block takes the following actions:

  1. Confirms the callback request
  2. Releases the original inbound call
  3. Places the associated callback request in the virtual queue
  4. Waits for a matching agent
  5. Makes the callback when an agent becomes available or the estimated wait time (EWT) expires


For more information, see the Virtual Queue Tutorial.

The block uses the skill requirements set in the Find Agent block.


Scenario Builder Request Callback scenario block


Conditional Exits

The Request Callback block may take one of the following conditional exits: No Agents, Time Out, No Answer, or Busy.

No Agents

The No Agents conditional exit is executed if no matching agents are logged in (or the last matching agent logs out while the callback request is waiting in the queue).

Time Out

The Time Out conditional exit is executed if no matching agents are found or predicted to be found within the time specified in the Cancel request after parameter.

No Answer

The No Answer conditional exit is executed if the party that requested the callback does not answer when called back. This exit will also be used for any other reason that the callback attempt might fail, except when the party is busy.

Busy

The Busy conditional exit is executed if the party that requested the callback is busy when called back.


Prompts

The Request Callback block plays the Confirmation prompt to confirm that the callback request has been accepted. The caller may release the call at any time during the prompt. Otherwise, the block will release the call as soon as the prompt is finished.


Settings

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.

Confirmation prompt

You can select a Confirmation prompt from the list of existing prompts, or you can create your own.

Callback phone

Callback phone is the phone number to be called during the callback attempt. The caller ID (ANI) of the original inbound call is used by default.

Cancel request after

The Cancel request after setting specifies the time after which the virtual call (i.e., the callback request) will be canceled if no matching agents can be found.

Start dialing

If an agent becomes available for a given virtual call before the estimated wait time (EWT), the callback is made at the moment when the agent becomes available. Otherwise, the callback attempt is made a few seconds before EWT expiration, based on the prediction that an agent will have become available by the time the callback is answered by the customer.

The Start dialing setting defines how many seconds in advance of the EWT expiration that the callback attempt shall be made. (Note that if an agent does not become available at that time, the answered call is placed in the first position in the service queue to be connected to the next available agent.)

You can choose to have the Virtual Queue option ignore (i.e., override) the EWT by setting the value in Start dialing to "0" (zero). Doing so will make the Virtual Queue option ignore the EWT, and instead, reserve an agent. When a skilled agent becomes Ready, the callback will be initiated.

Note: If you set Start dialing to zero, the reserved agent will not be able to change the agent state to Not Ready. Because this will pose a change in agent behavior, agents should be alerted about such a change when modifications to this setting are made.

No Answer Timeout

No Answer Timeout specifies for how long the block will wait for the party to answer before taking the No Answer conditional exit.


Scenario Builder Request Callback scenario block settings



Request Input

The Request Input scenario block is used to request information from a chat customer. It can be used, for example, to ask for customer information at the beginning of the chat session (e.g., first and last name, email address, etc.), or to offer the customer a satisfaction survey at the end of the session.


Scenario Builder Request Input scenario block


Conditional Exits

The Request Input block may take the Timeout conditional exit if no customer input is received within the specified timeout.


Settings

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.

Prompt with

This setting represents the type of prompt to be used to request input.

Note: Starting with Bright Pattern Contact Center version 3.12, option HTML is no longer available for new chat scenarios. All forms should now be created in the client application and called from the chat scenario via the form option. Forms created in previous software versions using this option will continue to be supported.

Timeout after

The Timeout after setting specifies for how long the block will wait for customer’s input before taking the Timeout conditional exit.


Scenario Builder Request Input scenario block settings

Results

If the requested input data comes from a form, its field values can be used as $(item.externalChatData.abc) where abc is a field name.

If the requested input comes as a chat message, $(item.message) can be used to access the text.


Request Skill or Service

The Request Skill or Service scenario block sets the skill requirements for the given interaction. Note that the minimum skill levels are set in the Find Agent block.


Scenario Builder Request Skill or Service scenario block


Settings

The Request Skill or Service scenario block has two drop-down lists. The first one lists the skill groups currently configured in the system. The second one lists the skills configured for the selected skill group.

Settings should be configured as follows:

Note: If a custom scenario is used for an outbound campaign, note that it is not recommended to use this scenario block to change the service to a difference service. The result of this is the list of dispositions presented to and used by agents will not match the list of dispositions for the outbound campaign results.


Scenario Builder Request Skill or Service scenario block settings



Retrieve Internal Record

The Retrieve Internal Record scenario block allows you to get data about internal records.

Note: This scenario block will be replaced by the Bright Pattern Search Object block starting in version 5.2.2 of Bright Pattern Contact Center software. While the block will still be supported in scenarios created with previous versions of the software, it will not be possible to add this block to any new scenarios, post upgrade.


Scenario Builder Comment scenario block


Conditional Exits

The Retrieve Internal Record block may take the Failed conditional exit if the attempt to retrieve the record has failed. The block may take the No Data conditional exit if no internal record data is available.


Settings

Scenario Builder Retrieve Internal Record scenario block settings


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.

Object Type

Object Type is the type of internal record object to be retrieved.

You can select one of the following objects from the drop-down menu:

Object ID

Object ID is the identifier of the internal record object to be retrieved.

Variable name for object JSON

Variable name for object JSON is the name of the variable that will be used as identifier for the internal record object to be retrieved. The variable name of object ID will be set only if the block succeeds.





RightNow Create Object

The RightNow Create Object scenario block creates a specified object in the RightNow database.

Note that to populate the custom fields in RightNow activity history records the Attached Data block must be used.


Scenario Builder RightNow Create Object scenario block


Conditional Exits

The RightNow Create Object block may take the Failed conditional exit if the create operation has failed.


Settings

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.

Object type

Object type is the type of RightNow object to be created. You can either select one of the standard objects from the drop-down menu, or you can enter the name of the desired custom object type.

Variable name of object ID

This is the name of the variable that will be used as identifier for the RightNow object to be created. The variable name of object ID will be set only if the block succeeds.

Set fields

This setting is reserved.

Raw JSON

The Raw JSON parameter is where object properties are specified in JSON format.

The code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to create an object. For more information, see the description of variable $(integrationResultBody).


Scenario Builder RightNow Create Object scenario block settings



RightNow Screen Pop

The RightNow Screen Pop scenario block specifies RightNow data to be displayed for the agent when the interaction is connected to this agent through the Connect Call block.


Scenario Builder RightNow Screen Pop scenario block


Settings

Title text

Title text is the name of the block instance. 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.

Pop screen upon answer

By default, the screen pop occurs as soon as the interaction is delivered to the agent (i.e., during the alert phase); select this checkbox if you want the screen pop to occur when the agent accepts the interaction for handling.

pop object

Use this option when the scenario can precisely identify the object associated with the interaction using object ID. A RightNow page with the object properties will be displayed to the agent.

pop search results

Use the Search results option to run a predefined RightNow report for object selection. The results of the report will appear on the agent's screen.

Cancel screen pop

The available interaction data cannot be used to identify any relevant RightNow records. Use the Cancel screen pop option to cancel screen pop of a specific RightNow page that may have been set by a previous use of this block in the same scenario.

Object Identifier

Object Identifier is the identifier of the RightNow object to be displayed. It must be specified if the Object option is selected, and it may be specified as an application variable in the form $(varname).

Object type

Object type is the type of the RightNow object to be displayed.


Scenario Builder RightNow Screen Pop scenario block settings



RightNow Search

The RightNow Search scenario block executes the specified RightNow record selection statement written in the RightNow Object Query Language (ROQL).


Scenario Builder RightNow Search scenario block


The columns of the first record of retrieved recordset are stored in variables <recordset_name>.<column_name>. For that statement, the results will be stored in variables Recorset.id and Recordset.name.

The number of returned records is stored in variable <recordset_name>.__count__ (e.g., RS.__count__.). Note the double underscores in front and after count; they are used to reduce the chance of confusing the name of this variable with a column name in a recordset.

To iterate through the recordset, use the Get Next Record block.


Conditional Exits

The RightNow Search block may take one of the following conditional exits: Failed or No Data.

Failed

The Failed conditional exit is executed if the search operation failed.

No data

The No data conditional exit is executed if no data matching the specified search criteria is found.


Settings

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.

ROQL Query

ROQL Query is the record selection statement in the RightNow Object Query Language. It may contain application variables specified as $(varname).

Recordset name

Recordset name is the name of the recordset that will be retrieved via this search operation.

The code and the body of the received HTTP response is stored in local variables $(integrationResultCode) and $(integrationResultBody) respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed search attempt. For more information, see the description of the variable $(integrationResultBody).


Scenario Builder RightNow Search scenario block settings



RightNow Select Account

Your contact center configuration may contain multiple RightNow integration accounts for access to different RightNow systems. Use the RightNow Select Account block to specify the integration account that will be used by subsequent RightNow blocks in the given scenario. If this block is not used, all RightNow blocks in the given scenario will use access data from the integration account marked as Default account.


Scenario Builder RightNow Select Account scenario block


Settings

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.

Account

Account is the name of the RightNow integration account that will be used for access to RightNow data by subsequent RightNow blocks in the given scenario.


Scenario Builder RightNow Select Account scenario block settings



RightNow Update

The RightNow Update scenario block updates the properties of the specified RightNow object.

Note that to populate the custom fields in RightNow activity history records, the Attached Data block must be used.


Scenario Builder RightNow Object scenario block


Conditional Exits

The RightNow Update block may take one of the following conditional exits: Failed or No data.

Failed

The Failed conditional exit is executed if the update operation failed.

No data

The No data conditional exit is executed in the specified object is not found.


Settings

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.

Object Type

Object type is the type of RightNow object to be created. You can either select one of the standard objects from the drop-down menu or enter the name of the desired custom object type.

Object Identifier

Object Identifier is the identifier of the object to be updated.

Set fields

This setting is reserved.

Raw JSON

Raw JSON is where the object properties to be updated are specified in JSON format.

The code and the body of the received HTTP response is stored in local variables $(integrationResultCode) and $(integrationResultBody) respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to update an object. For more information, see the description of the variable $(integrationResultBody).


Scenario Builder RightNow Object scenario block settings



Salesforce.com Delete

The Salesforce.com Delete scenario block is the part of Salesforce.com Integration with Bright Pattern Contact Center. This block deletes the specified Salesforce.com (SFDC) object from the SFDC database.


Scenario Builder Salesforce.com Delete scenario block


Conditional Exits

The Salesforce.com Delete block may take one of the following conditional exits: Failed or No Data.

Failed

The Failed conditional exit is executed if the delete operation failed.

No Data

The No Data conditional exit is executed in the specified object is not found.


Settings

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.

Object type name

Object type name is the type of the SFDC object to be deleted as defined in the SFDC application. It may be specified as an application variable in the $(varname) format.

Object ID

Object ID is the identifier of the SFDC object to be deleted as defined in the SFDC application. The Object ID may be specified as an application variable in the $(varname) format.

The code and the body of the received HTTP response is stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to delete an object. For more information, see the description of the variable $(integrationResultBody).


Scenario Builder Salesforce.com Delete scenario block settings



Salesforce.com Insert

The Salesforce.com Insert scenario block is the part of Salesforce.com Integration with Bright Pattern Contact Center

This block creates the specified Salesforce.com (SFDC) object in the SFDC database. Note that to populate the custom fields in SFDC activity history records, the Attached Data block must be used.


Scenario Builder Salesforce.com Insert scenario block


Conditional Exits

The Salesforce.com Insert block may take the Failed conditional exit if the insert operation fails.


Settings

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.

Object type name

This is the type of the SFDC object to be created as defined in the SFDC system. It may be specified as an application variable in the $(varname) format.

Variable name of object ID

This is the name of the variable that will be used as identifier for the SFDC object to be created. It will be set only if the block succeeds.

Object fields

Object fields are object properties. Click add and specify the property Name as defined in the SFDC system. Then specify the desired Value. Repeat for the remaining object properties. Field values may be specified as application variables in the $(varname) format.

The code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to create an object. For more information, see the description of the variable $(integrationResultBody).


Scenario Builder Salesforce.com Insert scenario block settings



Salesforce.com Screenpop

The Salesforce.com Screenpop scenario block is the part of Salesforce.com Integration with Bright Pattern Contact Center

This block specifies the Salesforce.com (SFDC) data to be displayed for the agent when the interaction is delivered to this agent through the Connect Call block.


Scenario Builder Saleforce.com Screenpop scenario block


Settings

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.

Screenpop action

Screenpop action refers to the type of data to be displayed.

Object ID

Object ID is the identifier of the SFDC object to be displayed. It must be specified if the Show object option is selected. It can be specified as an application variable in the $(varname) format.

Search terms

Search terms are the same as search criteria. They may be specified as application variables in the $(varname) format, and they must be specified if the Show query results option is selected.


Scenario Builder Saleforce.com Screenpop scenario block settings



Salesforce.com Search

The Salesforce.com Search scenario block is the part of Salesforce.com Integration with Bright Pattern Contact Center.


Scenario Builder Saleforce.com Search scenario block


This block executes the specified Salesforce.com (SFDC) record selection statement written in either the Salesforce Object Query Language (SOQL) or Salesforce Object Search Language (SOSL). Scenario variables can be used in this statement in the $(varname) from. Consider this example of an SOQL statement that uses the $(ANI) variable: SELECT id, name FROM Accounts WHERE phone = ‘$(ANI)’.

The columns of the first record of retrieved recordset are stored in variables <recordset_name>.<column_name>. For that statement, the results will be stored in variables Recorset.id and Recordset.name.

The number of returned records is stored in variable <recordset_name>.__count__ (e.g., RS.__count__). (Note the double underscores in front and after count; they are used to reduce the chance of confusing the name of this variable with a column name in a recordset.)

To iterate through the recordset, use Get Next Record block.


Conditional Exits

The Salesforce.com Search block may take one of the following conditional exits: Failed or No Data.

Failed

The Failed conditional exit is executed if the search operation failed.

No Data

The No Data conditional exit is executed if no data matching the specified search criteria is found.


Settings

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.

Name the retrieved recordset

This is the name of the recordset that will be retrieved via this search operation. Name of the retrieved recordset is a mandatory field.

Query language

Query language is the language used for the data query. Possible language options include the Salesforce Object Query Language (SOQL) and Salesforce Object Search Language (SOSL). Unlike SOQL, which can only query one object at a time, a single SOSL query can be used to search multiple objects, which can both simplify and improve efficiency of searches, especially in large SFDC environments. For more information, see Salesforce docs.

Statement

Statement refers to the record selection statement in the selected Query language. It may contain application variables in the $(varname) format.

The code and the body of the received HTTP response is stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed search attempt. For more information, see the description of the variable $(integrationResultBody).


Scenario Builder Saleforce.com Search scenario block settings



Salesforce.com Select Account

Your contact center configuration may contain multiple Salesforce integration accounts for access to different Salesforce systems. Use the Salesforce.com Select Account block to specify the integration account that will be used by subsequent Salesforce blocks in the given scenario. If this block is not used, all Salesforce blocks in the given scenario will use access data from the integration account marked as Default account.


Salesforce.com Select Account scenario block


Settings

Salesforce.com Select Account scenario block settings


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.

Account

Account is the name of the Salesforce integration account that will be used for access to Salesforce data by subsequent Salesforce blocks in the given scenario.




Salesforce.com Update

The Salesforce.com Update scenario block is the part of Salesforce.com Integration with Bright Pattern Contact Center.

This block updates properties of the specified Salesforce.com (SFDC) object. Note that to populate the custom fields in SFDC activity history records, the Attached Data block must be used.


Scenario Builder Saleforce.com Update scenario block


Conditional Exits

The Salesforce.com Update block may take one of the following conditional exits: Failed or No Data.

Failed

The Failed conditional exit is executed if the update operation failed.

No Data

The No Data conditional exit is executed if the specified object is not found.


Settings

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.

Object type name

Object type name is the type of Salesforce.com (SFDC) object to be created as defined in the SFDC system. It may be specified as an application variable in the $(varname) format.

Object ID

Object ID is the identifier of the SFDC object to be updated. It may be specified as an application variable in the $(varname) format.

Fields to update

Fields to update are the object properties to be updated. Click add and specify the property Name as defined in the SFDC system. Then specify the desired new Value. If necessary, repeat for the other object properties to be updated. Field values may be specified as application variables in the $(varname) format.

The code and the body of the received HTTP response is stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to update an object. For more information, see the description of the variable $(integrationResultBody).


Scenario Builder Saleforce.com Update scenario block settings



Save Survey Response

Bright Pattern Contact Center provides post-interaction surveys to collect first-hand information from customers, which can help supervisors and teams assess agent performance and customer satisfaction. Surveys allow for up to five questions for customers to answer, with complete reporting on that data.

The Save Survey Response scenario block saves the customer survey response data for a completed interaction for reporting purposes.


Scenario Builder Save Survey Response scenario block


The block assumes that the data received are responses to variations of the following survey questions:

  1. Was your issue resolved on your first contact with us?
  2. On a scale from one to nine, how would you rate your overall satisfaction with our service?
  3. On a scale from one to nine, how likely are you to recommend our product to your friend/colleague?


The Customer Survey scenario template provides an example of how to use the Save Survey Response block in an interactive voice response-based (IVR-based) survey.

The collected survey data is saved in your contact center's historical reports in order to provide insights on Net Promoter Score (NPS), First Call Resolution (FCR), and more.

The aggregated survey data are written in the following tables of the Reporting Database: service_in_time_counters, agent_performance, and surveys.

Aggregated survey data appear in the following stock reports:


Settings

Scenario Builder Save Survey Response scenario block settings

Issue was resolved

The Issue was resolved response is stored in the $(first_call) variable, as is required for reporting purposes. The allowed value is 0 or 1 (integer value only).

Contact satisfaction

The Contact satisfaction response is stored in the $(contact_satisfaction) variable, as is required for reporting purposes. The allowed range is from -2147483648 to 2147483647.

Net Promoter Score data

The Net Promoter Score data response is stored in the $(NPS_raw) variable, as is required for reporting purposes. The integer number range is from 0 to 10.

Conversation or recording text transcript

Conversation or recording text transcript is an additional field for storing custom survey information related to conversations or recorded text transcripts. For example, variables from the Record block may be entered here (e.g., "$(transcript_survey)").

Conversation or recording sentiment

Conversation or recording sentiment is an additional field for storing custom survey information related to conversations or recorded sentiments. For example, variables from the Record block may be entered here (e.g., "$(sentiment_survey)").

Additional (custom) fields

Additional (custom) fields are any configured Custom Survey Fields; the maximum number of custom survey fields is nine. If no custom survey fields have been configured, this area of the block will be empty.


Examples of custom survey fields



Search Directory

The Search Directory scenario block checks the phone numbers of the configured static entries to see if any of them matches the specified number. If a match is found, the block updates the specified variable with the name of the static entry. This block can be used, for example, to substitute the caller ID number of an incoming call with the contact name, when the call is delivered to a user’s Agent Desktop.


Scenario Builder Search Directory scenario block


Conditional Exits

The Search Directory block may take the Not Found conditional exit if the supplied number does not match any directory entries.


Scenario Builder Search Directory conditional exit


Settings

Number to search

Number to search is the number to look up or the name of the variable that holds the number (e.g., $(item.from)).

Variable to save name to

This parameter represents the name of the variable to update with the name of the matching static entry (e.g., $(item.fullName)).


Scenario Builder Search Directory scenario block settings



Self-Service Provided

The Self-Service Provided scenario block tells reporting that a self-service function was used by the caller during the call. Placing this block in the scenario marks the interaction as successfully served by the interactive voice response (IVR) portion of the voice scenario or automated forms of the chat scenario. The Self-Service indicator is stored in the call detailed records and can be used in reports to distinguish the calls successfully that were served by an IVR from the calls that were simply abandoned by callers at that stage of processing.


Scenario Builder Self-Service Provided scenario block



Send Message+

The Send Message+ scenario block is used to send messages to customers. Note that the types of messages you can send changes depending on whether you are creating a voice or chat scenario.


Scenario Builder Send Message+ scenario block


Chat Scenarios

Conditional Exit

The Send Message+ block for chat scenarios may take the following conditional exit.

Timeout

The Send Message+ block in chat scenarios may take the Timeout conditional exit. A Timeout occurs when the amount of time configured in Timeout after, sec has been exceeded due to no input text being received. Note that if not specified, the default timeout value is 600 seconds.


Send Message+ conditional exit for chat


Settings

Media type

When used in a chat scenario, the Send Message+ block can be used to send either a chat or an SMS message. For the Media type setting, select either CHAT or SMS.

If the media type is set to SMS, the service on behalf of which the text messages are sent must have the "Outbound chat accounts" property specified.

If you want to be able to receive and process possible replies to this message, an SMS/MMS access number should be configured in your Messaging/Chat scenario entry for the given chat scenario.

Message

Message is the text of the message to be sent to the customer. Variables in the $(varname) format can be used in the message text.

Send to this number

If sending an SMS message, specify the number to which the text message will be sent. Variables in the $(varname) format can be used.


Send Message+ settings for chat


Voice Scenarios

In order to be able to send SMS, the access number associated with the given scenario entry point must have the SMS capability.

If you want to be able to receive and process possible replies to the messages sent via this scenario, you need to:

Conditional Exit

The Send Message+ block for voice scenarios may take the following conditional exit.

Send error

The Send error conditional exit if the attempt to send a text message returned an error.


Send Message+ conditional exits for voice


Settings

The Send Message+ block for voice scenarios sends text messages (i.e., SMS) only.

Message

Message is the text of the SMS to be sent to the customer. Variables in the $(varname) format can be used in the message text.

Send to this number

When sending an SMS message, specify the number to which the text message will be sent. Variables in the $(varname) format can be used.


Send Message+ settings for voice



ServiceNow Create Object

The ServiceNow Create Object scenario block creates a specified object in the ServiceNow database.

Note that to populate the custom fields in ServiceNow activity history records, the Attached Data block must be used.


Scenario Builder ServiceNow Create Object scenario block


Conditional Exits

The ServiceNow Create Object block may take the Failed conditional exit if the create operation has failed.


Settings

ServiceNow Create Object block properties

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.

Object type

Object type is the type of ServiceNow object to be created. You can either select one of the standard objects from the drop-down menu, or you can enter the name of the desired custom object type.

Variable name of object ID

This is the name of the variable that will be used as identifier for the ServiceNow object to be created. The variable name of object ID will be set only if the block succeeds.

Set fields

This setting is reserved.

Raw JSON

Clicking Raw JSON enables object properties to be specified in JSON format.


The code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to create an object. For more information, see the description of variable $(integrationResultBody).




ServiceNow Screen Pop

The ServiceNow Screen Pop scenario block specifies ServiceNow data to be displayed for the agent when the interaction is connected to this agent through the Connect Call block.


Scenario Builder RightNow Screen Pop scenario block


Settings

Scenario Builder RightNow Screen Pop scenario block settings

Title text

Title text is the name of the block instance. 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.

Pop screen upon answer

By default, the screen pop occurs as soon as the interaction is delivered to the agent (i.e., during the alert phase); select this checkbox if you want the screen pop to occur when the agent accepts the interaction for handling.

pop object

Use this option when the scenario can precisely identify the object associated with the interaction using object ID. A ServiceNow page with the object properties will be displayed to the agent.

pop search results

Use this option to run a predefined ServiceNow report for object selection. The results of the report will appear on the agent's screen. Report ID is the identifier of the ServiceNow report to be run for object selection.

cancel screen pop

The available interaction data cannot be used to identify any relevant ServiceNow records. Use the cancel screen pop option to cancel screen pop of a specific ServiceNow page that may have been set by a previous use of this block in the same scenario.

Object Identifier

Object Identifier is the identifier of the ServiceNow object to be displayed. It must be specified if the Object option is selected, and it may be specified as an application variable in the form $(varname).

Object type

Object type is the type of the ServiceNow object to be displayed.






ServiceNow Search

The ServiceNow Search scenario block is used to obtain ServiceNow data. The block executes the specified ServiceNow record selection statement written in the ServiceNow Encoded Query String.


Scenario Builder RightNow Search scenario block


The columns of the first record of the retrieved recordset are stored in variables <recordset_name>.<column_name>. For that statement, the results will be stored in variables Recordset.id and Recordset.name.

The number of returned records is stored in variable <recordset_name>.__count__ (e.g., RS.__count__.). Note the double underscores in front and after count; they are used to reduce the chance of confusing the name of this variable with a column name in a recordset.

To iterate through the recordset, use the Get Next Record block.


Conditional Exits

The ServiceNow Search block may take one of the following conditional exits: Failed or No Data.

Failed

The Failed conditional exit is executed if the search operation failed.

No data

The No data conditional exit is executed if no data matching the specified search criteria is found.


Settings

Scenario Builder ServiceNow Search scenario block settings

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.

Object type

Object type is the type of object (e.g., “problem” or “incident”). It is selected from the drop-down menu or entered manually as a custom object.

Query

Query is the record selection statement. It may contain application variables specified as $(varname).

Recordset name

Recordset name is the name of the recordset that will be retrieved via this search operation. The recordset name is the same as the value that you entered for Variable name of object ID in the ServiceNow Create Object block.

The code and the body of the received HTTP response is stored in local variables $(integrationResultCode) and $(integrationResultBody) respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed search attempt. For more information, see the description of the variable $(integrationResultBody).




ServiceNow Select Account

Your contact center configuration may contain multiple ServiceNow integration accounts for access to different ServiceNow systems. Use the ServiceNow Select Account block to specify the integration account that will be used by subsequent ServiceNow blocks in the given scenario. If this block is not used, all ServiceNow blocks in the given scenario will use access data from the integration account marked as Default account.


Scenario Builder RightNow Select Account scenario block


Settings

Scenario Builder ServiceNow Select Account scenario block settings

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.

Account

Account is the name of the ServiceNow integration account that will be used for access to ServiceNow data by subsequent ServiceNow blocks in the given scenario.



ServiceNow Update Object

The ServiceNow Update Object scenario block updates the properties of the specified ServiceNow object.

Note that to populate the custom fields in ServiceNow activity history records, the Attached Data block must be used.


Scenario Builder ServiceNow Object scenario block


Conditional Exits

The ServiceNow Update Object block may take one of the following conditional exits: Failed or No data.

Failed

The Failed conditional exit is executed if the update operation failed.

No data

The No data conditional exit is executed in the specified object is not found.


Settings

Scenario Builder ServiceNow Object scenario block settings

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.

Object Type

Object type is the type of ServiceNow object to be created. You can either select one of the standard objects from the drop-down menu or enter the name of the desired custom object type.

Object Identifier

Object Identifier is the identifier of the object to be updated.

Set fields

This setting is reserved.

Raw JSON

Raw JSON enables object properties to be specified in JSON format.

The code and the body of the received HTTP response is stored in local variables $(integrationResultCode) and $(integrationResultBody) respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed attempt to update an object. For more information, see the description of the variable $(integrationResultBody).



Set Agent State

The Set Agent State allows you to set an agent's state.


Scenario Builder Set Agent State scenario block


Conditional Exits

The Set Agent State block may take the Authentication Failed conditional exit if the supplied extension number and PIN combination does not match credentials of any configured user.


Scenario Builder Set Agent State conditional exit


Settings

Agent’s digital ID (extension)

Agent’s digital ID is the agent’s extension number or the name of the variable that holds the extension number (e.g., $(varPhone)).

Over the phone agent PIN

Over the phone agent PIN is the agent’s PIN or the name of the variable that holds the agent’s PIN (e.g., $(varPIN)).

New state

This is the desired new state to set the agent to.


Scenario Builder Set Agent State scenario block settings



Set Case

The Set Case block associates a case with the current interaction. When the interaction is delivered to the agent, the Case tab will be automatically displayed on screen-pop forms.


Set Case scenario block


Conditional Exits

There are no conditional exits.


Settings

Title text

Title Text is the name of the instance of the block. Enter a name in the text field and the new name of the block will appear in the flowchart.

Case ID

This is the record ID for the case to be associated with the interaction.

Replace

When enabled, this checkbox indicates if a new case should be added to the list of cases on the interaction or replace any existing cases on the interaction.

Allow case history access via chat API

For chat scenarios, when this setting is enabled it allows case history to be accessed via the BPCC Mobile/Web Messaging API v2. Specifically, it is possible to retrieve the chat case history via the Get Case History method, or close the case via the Close Case method. For related information, see $(item.allowChatHistoryForCase). Note: This checkbox is not displayed when used in voice scenarios.


Set Case block settings



Set Custom Reporting Field

The Set Custom Reporting Field scenario block can be used to define custom reporting fields in a scenario.

Note it is possible to set custom reporting fields directly from Agent Desktop if the JavaScript API method setReportingCustomField is enabled.


Set Custom Reporting Field scenario block


Settings

Set Custom Reporting Field scenario block settings


Field

Field is the name of the custom reporting field to be used in the scenario.

Value

Value is the scenario variable that will be copied into the custom reporting field.





Set Disposition

The Set Disposition scenario block allows scenarios to specify a disposition for the interaction.


Scenario Builder Set Disposition scenario block


Settings

Set Disposition

Set Disposition is the disposition name or the associated numeric code. If the disposition with the specified name or numeric code cannot be found, the interaction disposition will be set to Disposition Not Found.


Scenario Builder Set Disposition scenario block settings



Set Priority

Scenario Builder Set Priority scenario block


The Set Priority scenario block specifies the priority of the given interaction relative to other interactions competing for the same resources.

Priority set by this block supersedes the priority that may be preconfigured at the scenario entry level.

Why Set Priority?

Setting priority can help certain calls move through the service queue faster. The following examples illustrate some common reasons to prioritize calls.

Example 1: Calls from platinum-level customers may be given a higher priority relative to other calls requesting the same service to minimize the wait time for high-value interactions.
Example 2: Calls internally transferred to a service may be given a higher priority relative to the directly arriving calls to minimize the wait time for customers who have previously waited in a queue.
Example 3: Some of your agents are qualified to provide both sales and customer service. You can assign a higher priority to sales calls. This priority will be taken into account every time an agent that possess both sales and customer service skills becomes available.

Note that if your agents are qualified to provide different services, priority can be used to prioritize calls depending on the service that is requested.

How is Priority Calculated?

Priority is calculated on a per-interaction basis by multiplying the current time spent in queue by the priority number (i.e., each interaction receives its own priority number). The higher the priority number, the faster the interaction moves in the queue. For more information, see Priority Values.

Settings

The Set Priority block has just one setting, Priority, which is where you enter the value of the priority relative to other interactions in queue.


Scenario Builder Set Priority scenario block settings


Priority Values

Priority can affect a call in the following ways:

The possible value range for priority is from 0.01 to 100. The recommend value range is from 0.1 to 10. Note that the maximum recommended priority value is 10. If priority is set too high, then the system can wait for the next available agent and will not offer virtual queue callbacks.

The instantaneous priority of an interaction is calculated as a function of its set priority and the time that the interaction has spent in the service queue.

Priority is specified in numeric values:



Set Prompt Language

The Set Prompt Language scenario block determines the language in which the blocks following this block will play their prompts. This block is typically used in the conditional exits of the Menu block that offers a choice of languages to the caller. This block can also be used to determine the language in which the Record block will record shared voice segments.


Scenario Builder Set Prompt Language scenario block


Note that each application you develop has built-in multilingual prompt management. You can add or remove languages using the Prompt Manager. Each prompt has versions for all languages defined in the system. By default, English is always defined.

The block has a drop-down list containing all languages defined for your scenario. You can enable additional languages for the scenario in the Prompt List dialog box. To configure the block, select the language in the drop-down list. The label of the Set Prompt Language block changes in the flowchart will display Set Prompt Language “[language]”.

Once the Set Prompt Language block sets the language, each subsequent block will play (or record) prompts in that language until another Set Prompt Language block changes the language.


Setting the Prompt language



Set Variable

This block sets a value for a scenario variable.

Note it is possible to push variables directly to scenarios and workflows if the JavaScript API method postVariable is enabled.


Set Variable block


Settings

Variable name

This is the name of the variable. The Variable name can be set to be anything you like.

Value

The Value is the desired variable value. In the example image shown, the value is $(targetDisconnectedCause), which is being used as a conditional exit in the scenario.

Variables in the $(varname) format can be used as values. Values can be specified as either expressions or literal [scenario-builder-reference-guide/StringExpressions|strings]]. Literal strings are passed exactly as entered.

Expressions must begin with assignment sign = as the first character. For example, 2+2 will produce 2+2, whereas =2+2 will produce 4. The expression result produces one of the following data types: strings, integers, and floating point numbers.


Editing the Set Variable settings



Start Another Scenario

The Start Another Scenario block starts the specified scenario from within the given (parent) scenario. Variables defined in the parent scenario carry over to the sub scenario. After the sub scenario finishes executing, control returns to the parent scenario (except when terminated by error or disconnect). The parent scenario will resume by executing the next block in the flowchart.


Scenario Builder Start Another Scenario block


To configure the block, select the desired sub scenario in the drop-down list. The label of the block in the flowchart will display Start Another Scenario “[scenario name]”. In the scenario shown, you can see that the Start Another Scenario block is used if the call is disconnected.


Scenario Builder Start Another Scenario block settings



Stop Prompt

The Stop Prompt scenario block stops the playback of a continuous prompt if such playback was previously enabled by executing the Play Prompt block with option Exit immediately and continue playing prompt in background.


Scenario Builder Stop Prompt scenario block



Voicemail

The Voicemail scenario block records a voicemail message of a specified maximum duration, stores it in the system (optionally encrypted), and sends an email notification to the message recipient. Depending on the settings, the email may either contain an access link or the message itself attached as an audio file. If the email contains the link, the recipient may have to log into the system before the message can be played back to the recipient. For more information, see the Bright Pattern Contact Center Agent Guide, section Listening to Voicemail Messages.


Scenario Builder Voicemail scenario block


Note: The system provides a built-in (default) voicemail function. Use the Voicemail block only if you need voicemail capabilities that the generic built-in voicemail function does not support (e.g., different content of the email notification depending on the type of call).

Voicemail messages are stored in the system for the same period of time as call recordings.


Conditional Exits

The Voicemail block will take the Failed conditional exit if a block error occurs.


Settings

Scenario Builder Voicemail scenario block settings


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.

Maximum duration

This setting specifies the maximum length of the voicemail message, in seconds. If this time is exceeded, recording will be stopped and the recorded portion of the message will be stored.

If not specified, the recording will stop when either the person leaving the message presses a DTMF key, hangs up, or presses the pound (#) key; or when the default duration of 30 seconds is exceeded.

Recording encoding

Recording encoding is the encoding method. Select G.711 (default) for the best quality or GSM6.10 for a smaller file. The latter may be essential if you intend to send voicemail recordings as email attachments.

Beep at start of recording

If this setting is selected, the Voicemail block will provide a tone (i.e., beep) indicating the beginning of the recording.

Encrypt recording

If this setting is selected, the recording will be stored encrypted.

Send URL to email

This is the email address of the voice message recipient. A scenario variable can be specified as the value using the $(varname) format.

From display name

This is the display name of the email sender. A scenario variable can be specified as the value using the $(varname) format.

From email address

This is the email address of the email sender. A scenario variable can be specified as the value using the $(varname) format.

Subject

Subject is the subject line of the email. Can contain scenario variables in the $(varname) format.

Body

Body is the text to be sent as a message body. If the email notification contains an access link (as opposed to an audio file attachment), the link should consist of your Agent Desktop URL and variable $(URL_SUFIX) (e.g., http://abc-insurance.my-service-provider.com/$(URL_SUFIX)).

Allow any user to listen

If this setting is selected, any user registered in the system will be able to listen to the voice message upon clicking the URL and logging in. Use this option if message recipients may need to forward some of their voicemail to other users.

Allow only this user

Only the specified user will be able to listen to this message upon clicking the URL and logging in.

Attach voice recording file to email

If this setting is selected, a copy of the voice message will be attached to the email as an audio (.WAV) file. The attachment will be unencrypted even if the Encrypt recording option is selected.



Wait

The Wait scenario block will pause scenario execution for a specified number of seconds.


Scenario Builder Wait scenario block


Settings

The Wait duration setting is where you specify the number of seconds for which any scenario execution should be paused. Decimal fractions are allowed. In the scenario shown, the wait duration is set for 2 seconds, which gives the system 2 seconds to wait before answering the call.

Note: Regarding the use of decimals, there is a known issue that rounds the wait time up to the next second. It will be addressed in a future release.


Scenario Builder Wait scenario block



Web Screen Pop

This block specifies what to display for the agent when the interaction is connected to this agent through the Connect Call or Connect Chat block.


Web Screen Pop block used in scenario


Note that services may also have activity forms associated with them. If an interaction is associated with a service that has a configured activity form, both the activity form and the content specified in this block will appear in the tabs of the Agent Desktop. To specify which content shall appear in the active tab, use option Display activity form before/after web screen pop(s) of the Activity tab of the given service.

Note also that by default, specified screen pop content will be displayed in the Context Information Area of the Agent Desktop. This area is not shown when Agent Desktop is run minimized using the Pop-out function. Thus, when using web screen pop, consider one of the following options:

For an example of how to use the Web Screen Pop block in a scenario, see How to Create a Chat Scenario That Pops Case or Contact Information.

Settings

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.

Label

The Label field is where you may enter a separate, customer-facing name for the URL.

Open in popup window

This indicates whether screen pop should appear in the Context Information Area of the Agent Desktop application (default) or in a separate window.

Keep open when interaction is finished

When selected, this option keeps open the pop-out browser tab when the interaction is finished. Note that this option is not available for selection unless Open in popup window is selected.

Pop screen upon answer

By default, the screen pop occurs as soon as the interaction is delivered to the agent (i.e., during the alert phase); select this checkbox if you want the screen pop to occur when the agent accepts the interaction for handling.

Screenpop action

Screenpop action indicates whether the pop-up will open a web page (default) or display text.

URL of the page to open

This specifies the URL of the web page that should be opened if the Open web page screen pop action is selected. A query string can be added to supply variables for the screen pop page (e.g., http://www.localhost.com/Webform2.aspx?accountnumber=$(custNum))

Text to display

This specifies the text to be displayed if the Display text screen pop action is selected.

Additional URLs

This can be used to specify URLs of optional additional web pages to be opened if the Open web page screen pop action is selected.


Web Screen Pop scenario block settings



Zendesk API Request

Zendesk API Request scenario block


The Zendesk API Request scenario block allows you to make a free-form Zendesk API request to Zendesk using JSON, making it possible to take a variety of actions with your integrated account. The block uses your preconfigured Zendesk integration account for authorization and so forth. Note that the HTTP method is configurable and the returned results are processed the same way as they are with the Fetch URL scenario block.


Zendesk API Request scenario block settings example


Settings

Title text

The name of the instance of the block.

Request type

The type of method to be used to retrieve content from the specified Zendesk URL.

Select from the following request types, or write in another method manually:

URL

In this field, set requests.json in order to create an entity in Zendesk.

When this scenario block executes, it constructs a request to the Zendesk API. The block takes the integration account configuration URL https://<yourcompany>.zendesk.com and appends /api/v2/ and requests.json to it.

Extra Headers

Extra headers are the HTTP headers to add to the request (e.g., for authentication purposes). Headers are specified in name-value pairs, where name is the header name (e.g., "Authorization"), and value is the header value (e.g., "Bearer D18273561286FE9"). The value of the header can contain variables, and variables will be substituted with their value when the block is executed. By default, the list of extra headers is empty. For an example of using extra headers to make API requests on behalf of any end user, see the Zendesk Integration Guide, section Zendesk Scenario Examples.

To define a header, click add, type in the name, and type in the value.

Set fields

This setting is reserved.

Raw JSON

Where object properties are specified in JSON format.

Note: The code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain the content of responses indicating a failed attempt to create an object. For more information, see the description of the variable $(integrationResultBody).

Initial path in the result JSON

If the response body contains JSON, this setting can be used to save into scenario variables a specific part of the data. Example: myobject.node.list[4]. The default is "none"; the path starts from the root of the returned JSON.

Scenario variable prefix for JSON data

This string will be used as the name of the variable to receive parsed JSON data. Note that if the initial path above points to an array, depending on the value of the following GetNext option, this variable would either contain the array or its first (and subsequent) elements.

Use GetNext block to loop through data

This box is selected if the JSON response data (at the initial path) is an array. The scenario variable will be set to the first element of the array and GetNext block could be used to iterate over the array elements, setting scenario variable to the next element.


Conditional Exits

Failed

The Failed conditional exit is taken if an error occurred during the API method execution.

No Data

The No Data conditional exit is executed if no data is returned in the body of the HTTP response.


Zendesk Create Object

The Zendesk Create Object scenario block creates a specified object in the Zendesk database. Objects that can be created are tickets and users. For more information, see the following articles on creating tickets and creating users.

Note that to populate the custom fields in Zendesk activity history records, the Attached Data block must be used.


Scenario Builder Zendesk Create Object scenario block


Conditional Exits

The Zendesk Create Object block will take the Failed conditional exit if the create operation has failed.


Settings

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.

Object type

Object type is the type of the Zendesk object to be created. An object can be either a ticket or a user.

Variable name of object ID

This is the name of the variable that will be used as an identifier for the Zendesk object to be created. The variable name of object ID will be set only if the Zendesk Create Object block succeeds.

Set fields

This setting is reserved.

Raw JSON

Raw JSON is where object properties are specified in JSON format.

The code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain the content of responses indicating a failed attempt to create an object. For more information, see the description of the variable $(integrationResultBody).


Scenario Builder Zendesk Create Object scenario block settings



Zendesk Screen Pop

The Zendesk Screen Pop scenario block specifies Zendesk data to be displayed for the agent when the interaction is connected to this agent through the Connect Call block or Connect Chat block. Note that this scenario block may be preceded by the Zendesk Search block in order to pop returning customer information.


Zendesk-Screen-Pop-Block.png


Settings

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.

Pop screen upon answer

By default, the screen pop occurs as soon as the interaction is delivered to the agent (i.e., during the alert phase); select this checkbox if you want the screen pop to occur when the agent accepts the interaction for handling.

Object

Use this option when the scenario can precisely identify the object associated with the interaction. A Zendesk page with the object properties will be displayed to the agent.

Object ID

Object ID is the identifier of the Zendesk object to be displayed. It must be specified if the Object option is selected. It may be specified as an application variable in the $(varname) format.

Object type

This is the type of the Zendesk object to be displayed. It can be either a ticket or a user.

Nothing

The available interaction data cannot be used to identify any relevant Zendesk records. Use the Nothing option to cancel screen pop of a specific Zendesk page that may have been set by a previous use of this block in the same scenario.


Zendesk Screen Pop scenario block settings

Web Screen Pop Block with Zendesk Integration

The scenario engine enables both web screen pop and CRM screen pop (i.e., Zendesk Screen Pop) by using subsequent blocks in a scenario. The scenario engine controls such screen pop configuration and sends information about all enabled screen pops to the Agent Desktop application.


Step 1: Place screen pop blocks on your scenario.


Web screen pop and Zendesk screen pop blocks placed together in scenario


Step 2: Configure settings for each screen pop block.

In order for screen pop to work, you must specify the settings for each block. Web Screen Pop settings include Title text, Screenpop action, the URL of the page to open, and Additional URLs (if any). Checking the boxes determines whether screen pops open in a pop-up window and if screen pop is enabled when an interaction is answered.


Configure settings for Web screen pop


Agents accepting interactions in the Agent Desktop application should now receive any enabled screen pops on the desktop interface.

For more information on screen pop, refer to the Agent Guide.



Zendesk Search

The Zendesk Search scenario block utilizes an API to execute a search request within your Zendesk account. The search request is entered in the Search string field (i.e., in $(varname) format) and returns the search results to the recordset name field. For more information regarding specific information you can search for, refer to Zendesk's Search API and Zendesk Support search reference articles.


Scenario Builder Zendesk Search scenario block


The columns of the first record of the retrieved recordset are stored in the variables <recordset_name>.<column_name>. For that statement, the results will be stored in the variables Recorset.id and Recordset.name.

The number of returned records is stored in the variable <recordset_name>.__count__ (e.g., RS.__count__). (Note the double underscores in front and after count; they are used to reduce the chance of confusing the name of this variable with a column name in a recordset.)

To iterate through the recordset, use the Get Next Record block.


Conditional Exits

The Zendesk Search block may take one of the following conditional exits: Failed or No Data.

Failed

The Zendesk Search block will execute the Failed conditional exit if the search operation failed.

No Data

The No Data conditional exit is executed if no data matching the specified search criteria is found.


Scenario Builder Zendesk Search conditional exits


Settings

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.

Recordset name

Recordset is the name of the recordset that will be retrieved via this search operation. Note that the recordset name may be used as a variable (i.e., in $(varname) format) in the Zendesk Screen Pop block to pop returning customer information.

Max results

Max results is the maximum number of records in the recordset.

Search string

Search string is the record selection statement, and it may contain application variables specified in the $(varname) format.

The code and the body of the received HTTP response is stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain content of responses indicating a failed search attempt. For more information, see the description of the variable $(integrationResultBody).


Scenario Builder Zendesk Search scenario block settings



Zendesk Select Account

Your contact center configuration may contain multiple Zendesk integration accounts for access to different Zendesk systems. Use the Zendesk Select Account scenario block to specify the integration account that will be used by subsequent Zendesk blocks in the given scenario. If this block is not used, all Zendesk blocks in the given scenario will use access data from the integration account marked as Default account.


Scenario Builder Zendesk Select Account scenario block


Settings

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.

Account

Account is the name of the Zendesk integration account through which Zendesk data will be accessed by subsequent Zendesk blocks in the given scenario.


Scenario Builder Zendesk Select Account scenario block settings



Zendesk Update Object

The Zendesk Update Object scenario block updates the properties of the specified Zendesk object. Objects that can be updated are tickets and users. (For more information, refer to Zendesk's articles on updating tickets and updating users.)

Note that to populate the custom fields in Zendesk activity history records, the Attached Data block must be used.


Scenario Builder Zendesk Update Object scenario block


Conditional Exits

The Zendesk Update Object block may take one of the following conditional exits: Failed or No Data.

Failed

The Failed conditional exit is executed if the update operation failed.

No Data

The No Data conditional exit is executed if the specified object is not found.


Settings

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.

Object type

Object type is the type of Zendesk object to be created. The object can be either a ticket or a user.

Object ID

Object ID is the identifier of the object to be updated.

Set fields

This setting is reserved.

Raw JSON

Raw JSON is where the object properties to be updated are specified in JSON format.

The code and the body of the received HTTP response is stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively. For troubleshooting purposes, use the EMail or Internal Message block to obtain the content of the responses indicating a failed attempt to update an object. For more information, refer to the description of the variable $(integrationResultBody).


Scenario Builder Zendesk Update Object scenario block settings