Voice Workflow
This article provides an overview of the available node types, generic properties of workflows, and introduces the new designer toolbar, among other topics.
To access the new chat workflows, follow these steps:
- Navigate to the Buzzeasy Portal > Voice section.
- Click on "Workflows."
To open the workflow designer, click on one of the workflow options. If you need to make changes to the workflow settings simply click on the Details button located on the top left side of the designer interface.
Workflow generic properties
Workflow Name
The workflow name is a required parameter, as it serves as a selection identifier for a specific channel. To ensure effective naming, we recommend following these best practices:
- Include the media type in the workflow name (e.g., Facebook - Page name).
- Indicate the business process or function that the workflow supports (e.g., Webchat - Support page).
- Create duplicate workflows for testing purposes before making changes to customer-facing workflows.
- For different variations of the same use case (e.g., different messages), create separate flows.
- Avoid using "Workflow" in the name, as it adds no meaningful information.
- Refrain from using generic names like "Test flow," "main flow," "main channel," "primary flow," or "New workflow," as these names lack specificity and clarity within your organization.
Workflow designer
After you've provided the generic properties for a workflow and clicked "Create," you enter the workflow designer. This is where you build and customize your workflow to meet your specific needs.
Node types
Start here
The "Start Here" node is the default starting point in your workflow. It serves as the initial step from which your workflow begins. To use this node, click on the black dot and drag it in any direction to open a context menu. From this menu, you can choose other available nodes to build and customize your workflow.
Announcement
This node enables you to broadcast a Text-to-Speech (TTS) message or play a pre-recorded announcement for your customers by uploading an audio file. This could be used for various purposes, such as delivering a greeting, welcome message, GDPR notification, and so on.
The node comes with a singular output that signifies the subsequent step in the workflow.
Auto-attendant
This node provides the capability to configure menu options for keys 1-9 and 0. Note that the star (*) and hash (#) keys are not supported in this node.
You can set up to 10 menu options, with each option generating an output.
Options for informing the customer about the available menu choices include using Text-to-Speech (TTS) or uploading an audio file.
The node also allows for the configuration of a repeat count and a timeout duration. If the customer fails to press any key within the specified timeout period, the repeat count increments. Similarly, if the customer presses an unspecified key, the repeat count increases.
When utilizing the repeat count feature, a repeat message is mandatory. This message can be either TTS or an audio file, and it is advisable to use a different message from the auto attendant's main question.
Outputs:
- Outputs for each of the selected menu options.
Retry Exhausted
: Determines the action when the repeat count is fully utilized.
Check opening hours
This node is responsible for verifying your Channel's opening hours and enables you to make routing decisions based on the verification results. The available outputs are as follows:
Open
: The Channel is currently within business hours and not on any holidays.Closed
: The channel is currently outside of business hours and not on any holidays.Holiday
: The channel is closed due to a set holiday.
Feel free to customize the name of the "Check opening hours" node to suit your needs.
Check queue state
The Check Queue State node allows administrators to pre-check a queue and perform routing decisions as it has similar outputs as the queue. The benefit is that the customer does not have to navigate through the entire complex flow, but instead can be routed elsewhere based on the result of the check.
Input: Queue to check. Select the queue you wish to check.
Outputs:
Size Limit Reached
. This can be used if the queue has a Max queue size set.EWT limit reached
. This can be used if the queue has an EWT limit set.No agent logged in
. This can be used if the queue has the No Agent logged in output set.No staffed agent logged in
. This can be used if the queue has the No Staffed Agent logged in output set.No available staffed agent
. This can be used if the queue has the No available staffed agent output set.Pass
. The conditions for the outputs were not met or the outputs were not set, as such, passing through.
Conversational bot
Use this node to engage your customer with a subject matter expert AI-based conversational bot.
Type an optional Welcome Message to be played at the start of the interaction, before the customer speaks. Use this to set the tone, guide the customer on what to expect, or encourage them how to best state their request. However, if you prefer the bot to respond based on prior conversation history—you may choose to leave this field empty, allowing the bot to proceed without an introduction.
Carefully type the Instructions for the bot. Instructions help it understand its role, responsibilities and tone.
Note
Please carefully read and follow the bot instruction guidelines. This is critical for proper bot operation.
Optionally use one or more preconfigured external custom service integration APIs that can offer additional insight, deliver precise information, or execute external tasks. Select them from the Integrations dropdown. You can select any number of preconfigured integrations, the bot will consider all.
Associate an available Knowledge base to the bot. This can dramatically enhance the relevance and contextual quality of its responses.
Set the Language of the bot to make it understand and respond to customers. This ensures the bot interprets what customers say correctly and responds in a voice that is native to them.
Advanced configuration:
Temperature: use this to control consistency and predictability of the texts the bot generates. A value of zero provides maximum consistency, while a value of 1+ provides maximum creativity and randomness. On a general level, keep it lower and test any increase extensively.
Max output token count: a circuit breaker to control the maximum amount of text generated by the bot. Setting it too low will abruptly cut the result text. Test any change extensively.
End speech detection interval: the time period in milliseconds the bot will wait to detect whether the caller finished speaking, so it can start to process it and respond. The default is 500. Too high values can slow down the bot's responses, or even introduce confusion for the caller (who might consider longer silent periods from the bot a cause to repeat themselves, potentially making the delays longer). Too low values on the other hand could introduce too early and therefore likely incorrect and unexpected responses from the bot while the caller might not have even finished their sentences. In case the default value does not fit the general caller habits reaching the bot, fine-tuning could improve the overall conversation experiences.
What constitutes a good value is completely dependent on the speaking habits of the individual caller, background noises and overall audio quality. It might even depend on the business context the bot is used for (a value fitting one bot might not be ideal for others that are used to engage with different caller population).
Disable audio interruption: a toggle controlling whether the caller can interrupt the bot's speech. The default is disabled/false, meaning the bot listens to the caller even while it is speaking and interrupts its own speech when detecting them starting to talk. Useful for cases where the bot misunderstood the intent for example and so the caller does not wish to wait for it to finish its tangent, helping to maintain their control on the conversation. Setting this to enabled/true will force the bot not to actively listen to the caller while it itself is speaking. Though this can prolong the wait times for the caller and thus could lessen the overall conversational experience, there could be situations where you might wish to (or have to by law or corporate policies) let the bot finish speaking, e.g. for legal or other critical statements or information the caller must hear in its entirety.
Outputs:
Failed
: The bot could not comprehend or answer the customer request, or lower level technical problems were encountered with the AI model.- Optionally define additional outputs by supplying further AI instruction prompts for various business topics this node is not the expert of. Use them to list the various business topics this node is not the expert of. Having multiple different conversational bots each being an expert on different business topics and jumping between them as the customers' requirements change can greatly expand the flexibility of your workflows and the customer experience. Each output needs a unique and short Name so their label on the node can be distinguished, and a Description. All common AI prompt engineering principles you used when crafting the Instruction field apply here too.
Custom integration
This node serves as an exit point from the workflow to a third-party solution that supports custom integration. It necessitates the provision of a URL and an API Key.
Custom question
You can specify a custom question, store the answer in a Workflow property key for later use, apply regex validation to the answer provided by customers, set a retry count, and define a repeat message.
The regex pattern, retry count, and repeat message are all optional.
Outputs:
Success
: This output indicates that the question was answered, and the answer is valid (if a regex pattern is set).Invalid
: By default, this output is disabled. It becomes enabled when a regex pattern is added, and it is triggered when the retry count reaches the maximum allowed value.
Customer satisfaction
You can prompt the customer to offer a generic feedback on their overall satisfaction with the outcome of the conversation. The node offers an announcement message to the customer, inviting them to provide a 1-5 numerical rate satisfaction result.
You can repeat the message and offer an explanation message to let the customer know they failed to provide their feedback.
Customer satisfaction feedback is stored in reporting data.
- Announcement message: The message to describe the satisfaction survey to the customer and inviting them to offer their feedback by pressing a digit between 1-5.
- Repeat count: When set, controls how many tries the customer has, to offer their feedback.
- Timeout seconds: The amount of time the node waits for the customer to enter their response before repeating or failing out.
- Repeat announcement message: Optionally provide an explanation message as to why the node is going to repeat the message and feedback collection.
Outputs:
Collected
: Use this output for when the survey feedback was successfully collected from the customer but the dedicated output for the digit is not in use.RetryExhausted
: This output is triggered when the customer failed to provide a result within the set conditions.1 - 5
: The individual outputs for the legitimate feedback options. When used, theCollected
output is not triggered.
Tip
Hook this node up to the AgentDisconnect
output of the Queue node so the customer is offered the survey question after the agent disconnects from their conversation. Drop the Sampling node in between these nodes to offer surveys to a percentage of conversations.
End conversation
Use this node to conclude your workflow. When a customer reaches this point, the conversation will be terminated.
Evaluate phone number
The Evaluate Phone Number feature enables the examination of the Caller's phone number to facilitate workflow decisions based on it. This functionality supports simple 'Starts with' checks as well as intricate pattern matching using regex.
Each rule should include:
- Name: Identifier for the rule.
- Operator: Choose between 'Starts With' or 'Regex' for matching criteria.
- Condition: The specific condition to be evaluated. For instance, using 'starts with +40740' will route calls from phone numbers beginning with +40740 to the output designated for this rule.
Outputs:
- Individual Outputs: There will be one output for every rule you create.
No Match Output
: Utilized when the caller's phone number does not correspond to any of the established rules.
Live translation for external agents
This node offers a real-time audio translation between a customer and an agent of an external contact center. In this scenario, Buzzeasy receives the customer call from the external CC system, and launches a separate call to a phone number in that system expecting to reach an agent, potentially via a queue or hunt group, etc.
- Customer language: Specify the language the customer speaks.
- Agent language: Specify the language the agent speaks.
- Agent queue number: The phone number Buzzeasy needs to call to reach an agent in the external CC.
- Chat only mode for agents: When enabled, Buzzeasy stops translating the customer audio for the agent but will retain displaying a text transcript of it. This offers savings on AI consumption costs.
- Partial transcription for agents: When enabled, Buzzeasy will not wait for the customer to finishes their current sentences, but displays their textual transcript faster, at the cost of showing incomplete and potentially less correct chunks of text, but faster. This offers agents to stay closer to what the customer is talking about, at the cost of reading potentially incorrect or temporarily inconsistent texts.
- Volume of original agent audio: The audio volume level of the agent original (untranslated) voice the customer will hear in addition to the translated audio. It should be sufficiently low volume as to not disturb the customer's comprehension of the translated information.
Outputs:
Agent disconnected
: Selected when the call made towards the external agents got disconnected.Dial failed
: Selected when the call made towards the external agent did not succeed to connect.
Time-based redirect
The time-based redirect node provides workflow designers the ability to upload a time-sheet that includes phone numbers along with corresponding datetime ranges. Upon reaching this node in the workflow, the system assesses the current date and time. If the current date and time fall within a range specified in the uploaded file, the call will be transferred to the phone number designated for that particular range. If it's outside the specified range, the call will be treated as out of range.
The formats
below are accepted, with their meaning described:
2023
--> 2023.01.01 00:00:00
2023-12
--> 2023.12.01 00:00:00
2023-12-06
--> 2023.12.06 00:00:00
2023-12-06T10:00
--> 2023.12.06 10:00:00
2023-12-06 10:00
--> 2023.12.06 10:00:00
2023-12-06T10:21:32
--> 2023.12.06 10:21:32
Define a Timeout duration for the call attempt. When exceeded, the node exits on its No answer
output. Setting it to zero will defeat the timer—the node will wait for the redirect as long as it takes. Use this to establish an escalation call chain.
Outputs:
Out of range
: none of the time ranges specified cover the current time.No Answer
: The call was not answered within the specified Timeout duration.
Redirect to phone
Use this node to redirect the conversation to a phone number.
Specify a Timeout duration for the node to wait for the successful connection. When exceeded, the node exits on its No answer
output. Setting it to zero will defeat the timer—the node will wait for the redirect as long as it takes. Use this to establish an escalation call chain.
Outputs:
No answer
: The call was not answered within the specified Timeout duration.
Schedule callback
Use this node to schedule callback requests. It is put into a dedicated node to allow more flexibility in terms of flow designs.
This node has no property, it simply takes any pending callback requests in the conversation and file them.
Outputs:
Registered
: the node succeeded in filing the callback request.
Switch
The Switch node enables workflow designers to assess specific parameters of a conversation or a customer and make routing decisions based on these conditions. These parameters are stored in variables.
First, you need to choose whether you want to use Workflow data, which includes data set through the Set Data node or various bots and custom integrations in your flow, or Customer details.
You can define up to 5 conditions, each will have its corresponding output. Additionally, there is a default output option provided.
This node can be effectively paired with the Set Data node, and you also have the option to utilize custom fields defined per tenant or business unit.
Outputs:
- Each condition property has its own output, allowing you to determine the course of action based on these.
Default
: Serves as a failsafe, specifying what should happen if no condition is met.
Set recording state for Buzzeasy-native recording
This node is visible for tenants where Buzzeasy native recording is enabled. It controls the recording behavior and overwrites the tenant level configuration.
Two options are available: record and do not record to decide whether Buzzeasy is to keep or discard the recordings it makes. It is useful for tenants who offer the decision to flow designers, or even to individual agents.
Queue
Used to load the conversation into a queue of agents.
Routing mode
When creating a queue, you must choose a routing mechanism: automatic or manual. This choice cannot be changed later for a given queue, but you can delete the queue and recreate it with a different routing mechanism.
- Automatic Queue: The system uses intelligent routing to find the first available skilled agent.
- Manual Queue: Skilled agents can manually pick items from the queue. Agents assigned to manual queues can view all items in their team's queue, including items in manual queues, in their agent performance dashboard.
Queue parameters
Emergency
: When activated, this feature ensures that conversations arriving into this queue are prioritized over others if the agents assigned to it are also in demand by other queues, as long as those other queues aren't marked as "emergency" as well. If multiple queues are set to "emergency" within the same tenant and share the same agents, conversations in these queues will be treated equally, following a first-come, first-served agent routing policy.Agent Assistance Configuration
: Specify the Question Answering knowledge base configuration for agent assistance. Learn more about Question Answering.Queue Treatment
: Select the queue treatment for chat. Learn more about queue treatments.Max Queue Size
: Set the maximum number of parallel conversations allowed in the queue.Callback campaign
: Select a callback campaign to be able to offer registering callbacks to callers waiting in queue and when theRegister abandoned as callbacks
callback feature is activatedRoute to customer's preferred agent
: When enabled, Buzzeasy attempts to route the conversation in the queue to the agent who is marked to be the preferred one for this customer.Preferred agent timeout
: The amount of time Buzzeasy will wait for the preferred agent if they happen to be unavailable.Queue Timeout
: Displays the queue timeout for the selected queue treatment (read-only).Connect Message
: Stream a personalized message to the customer when connected to an agent using special parameters like {Agent.Name} and {Agent.DisplayName}.SLA Threshold Time
: Enable SLA (Service Level Agreement) for the queue. If SLA-based routing is enabled, this information will be used to determine the priority of the conversations.Estimated Wait Time Limit
: Specify the MAX estimated wait time. Once the estimated wait time limit is breached, further conversations will no longer be queued, the Estimated Wait Time Limit Reached output will be used instead.Agent Workspace
: Choose an agent workspace for this queue. Learn more about agent workspaces.Attribute Requirements
: Specify the required skill attribute and its value to route conversations from this queue to agents.
Queue outputs
AgentDisconnect
: Define next actions for when the agent closes the task, such as survey questions.Callback requested
: The caller requested a callback while waiting in the queue. Hook a Schedule Callback node to this output to achieve this.Timeout
(Optional): Specify actions for queue timeout.Size Limit Reached
: Define actions for when the maximum queue size is reached.No Agent Logged In
: Define actions for when no agents are logged in across the tenant.No Staffed Agent Logged In
: Check if there are agents with proper attribute assignment as well as workitem thresholds logged in to handle conversations from this queue, if not, define next action.No available staffed agent
: Check if the staffed agents for this queue are also available, if not, define next action.Estimated Wait Time Limit Reached
: Define actions for when the estimated wait time limit set on the queue is reached.
Queue entry logic
Before a conversation enters the queue node, the following outputs are evaluated, in this order:
- No Agent Logged In: Check if any agents are logged in across the tenant. If yes, proceed to the next check; otherwise, use the output flow.
- No Staffed Agent Logged In: Check if the logged-in agents are skilled and have the appropriate work-item thresholds. If yes, proceed to the next check; if not, use the output flow.
- No Available Staffed Agent Logged in: Check if the staffed agents are also available, if yes, proceed to the next check, if not, use the output flow.
- Max Queue Size: Check if the conversation would exceed the specified limit. If yes, use the output flow; if not, the proceed to next check.
- Estimated Wait Time Limit: Check if the current wait time is higher than the specified limit, if yes, use the output flow; if not, then the conversation enters the queue.
Sampling
The Sampling node offers chance-based flow management. You set the sampling percentage and the node "throws the dice" at every conversation to activate its Sampled
or Not Sampled
outputs based on whether the current conversation hits the set probability or not. This can be used to engage branches of the workflow in a probabilistic manner, for example to offer customer surveys for a portion of the total number of conversations, etc.
Note that the probability is not measured and applied on a defined time scale, the node calculates it in a fully random fashion at every conversation. Therefore Buzzeasy does not guarantee that the set ratio will be honoured in any particular time frame. It is expected to honour it in general, on large enough number of conversations.
Outputs:
Sampled
- The conversation falls within the designated sampling rate.Not Sampled
- The conversation is not marked for sampling, it falls outside of the designated ratio.
Using the designer toolbar
The designer toolbar is located at the bottom left corner of the screen and provides several useful tools:
Plus
+
sign: Zooms in to the current focus area, which is centered on the screen. You can achieve the same result using your mouse's scroll wheel.Minus
-
sign: Zooms out from the current focus area, centered on the screen. You can also use your mouse's scroll wheel for this.Fit View button: Automatically adjusts the zoom level to fit all nodes on the screen. This is helpful for visualizing the entire workflow. The fit view adapts to the available screen space, taking into account monitor size, resolution, accessibility options, or browser zoom settings.
Toggle Interactivity button: Disables node editing, allowing you to scroll through the flow without accidentally modifying nodes or their positions. You can navigate within the design by clicking and holding anywhere on the screen, moving your mouse to explore the workflow while preventing unintentional edits.
Validation Error Icon: Indicates the presence of one or more validation errors in your workflow. The designer continuously checks your workflow for errors. Click the triangle icon to navigate to the first encountered error, which automatically adjusts the zoom and focuses on the problematic node.
We welcome your feedback and creative ideas for additional designer tools!
Saving a workflow
You can save your work in the new workflow designer at any time, except when validation errors are present, in which case the save button is disabled.
Validation errors are indicated by a warning triangle icon located in the header of improperly configured nodes. The same triangle icon is also displayed in the designer tools located at the bottom left corner of the screen. Clicking on this icon will take you directly to the node with the issue.
The user interface uses visual cues to highlight mandatory parameters with a red asterisk (*) or a red circle around mandatory outputs. Additionally, hovering over the warning triangle will display a tooltip that provides information about what is not correctly configured.
We are planning to implement further improvements to the saving mechanism to notify you of any unsaved changes before you navigate away from your work.
Edit workflow name
For existing workflows, you may edit their generic properties by clicking a workflow in the list, then use the pen icon on the top left corner of the screen. A modal window, or commonly known as popup, will be shown.
Other designer features
Cloning a workflow
To clone a workflow, follow these straightforward steps:
Click the "Clone" button associated with the workflow you want to duplicate.
When prompted, provide a new name for the cloned workflow.
All nodes and settings from the original workflow will be replicated in the cloned version.
You will be automatically redirected to the newly cloned workflow.
Please make sure to save any changes in the current workflow before initiating the cloning process to ensure a smooth transition.
Cloning a node
To clone a node, follow these straightforward steps:
Locate the node you want to clone within your workflow.
Click the "Clone" button associated with that specific node.
A new node will be created with all the properties of the original node.
Please note that the input and outputs of the cloned node will not be set, and you may need to configure them manually.
You can repeat the process and clone a node as many times as needed.
Be cautious when cloning the same node multiple times, as the clones may overlap in the workflow.
Multi-select nodes
To select multiple nodes, you have a few options:
Shift Key: Hold down the shift key on your keyboard and then, using your mouse, drag a square over the nodes you wish to select.
Delete Option: After selecting multiple nodes, you can drag them as a group or press the backspace key to delete them together.
CTRL Key: Alternatively, you can hold down the CTRL key on your keyboard and click individual nodes to select multiple nodes individually.
These methods make it easy to manage and manipulate multiple nodes within your workflow.
Deep link nodes
You can easily share a link to a specific node in your workflow with your coworkers and colleagues. Here's how:
Click the three dots menu (usually represented as "...") on the node you want to share.
Select the "Copy Link" option from the menu.
Paste the copied link into your communication with your colleagues.
When your colleagues click the link, it will redirect them to the specific node you shared. Please ensure that they have access to the tenant and the appropriate role-based access control to view workflows.
This feature makes it convenient to collaborate and discuss specific parts of your workflow with your team.
Search for a node
Designing large workflows can be challenging when you need to match the outputs and inputs of nodes. To simplify this process, the workflow designer offers a helpful tool:
When you select an output, a search field will appear.
Use the search field to find an existing node within your workflow.
Selecting a node from the search results will automatically establish a link between the output and the input of the searched node.
This feature streamlines the process of connecting nodes in complex workflows, making it easier to manage the flow of your design.