Workflows
A workflow controls how an incoming conversation traverses the system, it drives routing.
Because workflows engage participants such as any number of bots, human agents or other services, the configuration of these have to be set up in time, in order to be able to reference them.
You set up workflows by adding configuration entries called segments in the following categories:
- Dialogs
- Messages
- Queues
- Opening Checks
Segments engage a participant or sends a message to the customer, checks opening hours, etc. A few example segments:
When done with their operation, segments yield results that can be analyzed to decide how to progress further. The following features are available to achieve this.
Workflow Features
Events
Segments present various types of events after they are done with their operation, or if they failed for any reason. The number and type of events depend on the segment categories.
Events can have a single condition and a single action specified. You can however add any number of events to a segment, even of the same type. You'll wish to make sure you configure different conditions and/or actions for each though.
Configured events are evaluated in sequence from top to bottom. The first one with a matching condition (or without any condition) will have its action executed. No further events down the line will be evaluated for this conversation in this segment. The only exception to this rule is the Queue segment where events are evalued in a specific order before a conversation enters the queue segment.
Conditions
Conditions evaluate available data field values. You select a data field and compare it to a literal value using an operand.
The first field from the left is the response field selector. The options it provides depend entirely on the bot this segment deals with. The middle field is the operand selector and you type the literal value into the rightmost field.
In case the evaluation returns true, the associated action is performed. If it returns false, the associated action is not performed and the next event is evaluated in the segment.
Tip
Conditions are optional. When you do not create one, the action defined for the event will be executed unconditionally, and no other event is evaluated in this segment.
Actions
Actions point to other segments in the workflow. There are several types, not all of them available for every event in every segment.
Send to Queue Action
If you wish to send the conversation to a queue for appropriately skilled human agents, you select this action.
Have at least one Queues segment in the workflow already.
Select SendToQueue action.
Select the proper Queue created in step 1.
For chat media, you can also send out a particular chat message before the action kicks in.
Next Bot Action
Use this if you wish to add a bot to the conversation.
Have at least one Dialogs segment in the workflow already.
Select NextBot action.
Select the proper Bot created in step 1. Notice that you can select the same bot your segment references, which allows you to perform retry cycles.
For chat media, you can also send out a particular chat message before the action kicks in.
End Conversation Action
This action will close the conversation.
For chat media, you can also send out a particular chat message before the action kicks in.
Send Message Action
Have at least one Messages segment in the workflow already.
Select SendToMessage action.
Select the proper MessageBot created in step 1.
Opening Check Action
Checks if the associated Channel is open or closed right now; using the Channel's Time Zone parameter to calculate the proper time.
Create at least one OpeningChecks segment.
Select OpeningCheck action.
Select the OpeningCheck created in step 1.
Redirect Action
Allows redirecting voice calls to an external phone number. Available for some events in some segment types.
Create at least one Queues, Dialogs or Opening Checks segment.
Select the Redirect action and enter an External number.
RedirectToChannel Action
Allows redirecting conversations in Dialogs segments to a designated voice channel.
Create a Dialogs segment with DataCollectorBot type.
Select a Question Template that is set to be Voice.
Select the RedirectToChannel action.
Creating a Workflow
Open the Buzzeasy portal and navigate to Digital > Workflows, then click New Workflow.
Fill out the configuration parameters on the tabs. See chapters below for details.
Click Submit to save the new workflow.
General Properties
Name | You reference this name in the Channel resource. |
Agent Channel Connector | Determines the method to use for acquiring and relaying conversations to/from agents. Options are Buzzeasy, QueueChat, Salesforce. |
Company | The tenant in Buzzeasy. It is typically filled and read-only. |
Enable FAQ Bot | See the FAQ Bots article. Enabling this displays the FAQ Configuration selection. |
FAQ Configuration | Shows up when the FAQ Bot is enabled. These configurations are created in the QnA maker menu. |
Greeting Message | The greeting message displayed to the agent when a user is connected to their chat session. It can contain workitem or customer data field references. |
Enable Proactive Message | Enable this to be able to send an initial message to the end customer over chat media. |
Welcome Message | The proactive message to send. |
Suggested Responses | You can offer a selection of responses to the end customer to answer the proactive greeting. |
Default Agent Avatar | For webchat scenarios you can specify a URL to use as agent avatar in the Buzzeasy widget, when escalated and connected to a human agent. In case the avatar is customized in the widget too, that will override this URL. |
Routing Tab
This is where the routing flow is defined. You can employ any number of segments the workflow needs to go through.
For chat media you would typically deploy one or more bots to collect data using simple question-answer methods, or to use more advanced solutions to try to quickly address requests using knowledge-base libraries, integrated backend services, and eventually – if necessary – find a skilled and available human agent to engage with the end customer.
Voice interactions are similar, and it is also possible to use simple data collector bots via text-to-speech technology to collect necessary details in the form of DTMF responses, before queueing the conversation to find a skilled and available human agent.
See the Dialogs Segments, Queues Segments, Messages Segments and Opening Checks Segments sections for further details on these.
Idle Timeouts Tab
You can set an idle time period to various chat media types. When set, Buzzeasy will terminate the ongoing chat conversation when neither party is typing for this amount of time.
Timeout values are measured in minutes.
Set the Default timeout parameter if you wish to control some or all other chat media types using this single value.
Enter a Message to let the customer know that the system finished the conversation. When left empty, the system will not send a message.
Set the timeout to any other chat media type if you wish to designate a different value to those.
Set their Messages separately.
Tip
There are no default idle timeout values set for any chat media in order to avoid closing conversations unexpectedly, however the system will terminate idling chat conversations after a couple of days.
Dialogs Segments
You manage bots in the Dialog section of the Routing tab.
See the Data Collector Bot and the FAQ Bot article for further details on what these are, how to create and reference them in a workflow.
After you referenced a bot, you need to configure its events.
Dialog Events
BotFinished | The bot is finished successfully. |
BotFailed | The bot encountered a problem during its operation. There is no guarantee it gathered any data at all. |
To create a dialog event:
Click Add Event within the bot segment in the workflow.
Open the new event section and select an Event Type. See options below.
After adding an event, a condition can be added to it to control its action.
Dialogs Conditions
Conditions are mainly for bot (dialogs) segments as these are the ones that can collect textual data from the customer and save them in data fields to evaluate.
Queues Segments
You manage queues of human agents in the Queues segment of the Routing tab.
See the Routing to Agents article for further details on how to specify skill attributes and agent routing rules, and how to reference them in workflows.
Queues Events
ConversationSegmentEnded | The conversation was routed to the agent fine, and is now finished. |
ConversationStartFailed | The system was unable to route the conversation to the agent due to some error, e.g. network congestion. For chat media a FAQ bot can be engaged in such situations for example. |
OutOfHours | The associated channel is not open currently. |
ConversationNotFound | The system was unable to route the conversation to the agent, possibly because the customer ended it in the mean time. This event won't be emitted for media types that do not support customer side termination, like Facebook Messenger for example. |
QueueTimeout | Timeout occurred in the configured Queue Treatment. |
NoAgentLoggedIn | There are no agents logged in to the system. Note, that in case the customer is already in queue when the last agent logs out, then this event will not be triggered. |
MaxQueueSizeReached | The number of conversations in the specified queue reached the configured limit. Learn more about Using Queues. |
NoStaffedAgentLoggedIn | No staffed agent that can handle the evalued conversation has been found. Staffed agent refers to an agent having the appropriate skills for a given queue as well as workitem threshold limit above 0 for the particular media type as well as Overall. |
Events evaluated before the conversation enters the queue:
- NoAgentLoggedIn is evaluated first.
- NoStaffedAgentLoggedIn is evaluated second.
- MaxQueueSizeReached is evaluated third.
- All other.
OpeningCheck Segments
You handle channel availability with these segments by having Buzzeasy query the Opening Hours settings.
OpeningCheck Fields
ID | A unique name with which other segments in the workflow can reference this one. |
First Entity | Marks the segment as the first one to evaluate when a new conversation arrives. When set, the First Entity of all other segments are unset by the system. |
OpeningCheck Events
Open | The associated channel is open at this moment. |
Closed | The associated channel is closed at this moment. |
Messages Segments
Use these segments to let the customer know of an important situation, or a key bit of information right from the workflow. You can for example use these to inform the customer that the respective channel is closed (or open), or that no agents could be found, but you can also use it to send some collected responses back to the customer for confirmation, etc.
Messages Fields
ID | A unique name with which other segments in the workflow can reference this one. |
Message Text | Enter any text Buzzeasy will send to the customer via chat or utter using TTS technology via voice media. |
Voice File Location | Enter a publicly accessible web URL for your WAV audio file, or drop it right into this field to store in the Buzzeasy cloud. For the audio file format please read the Queue Treatment Audio File Format section. |
First Entity | Marks the segment as the first one to evaluate when a new conversation arrives. When set, the First Entity of all other segments are unset by the system. |