Skip to main content

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.

tip

New to voice workflows? Follow Build your first voice workflow, a 15-minute step-by-step tutorial.

To access voice workflows, follow these steps:

  1. Navigate to the Graia CCaaS Portal > Voice section.
  2. 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. See the naming best practices.

Limit bot duration​

The Maximum Conversational Bot Duration setting allows administrators to define the total amount of time a user is allowed to interact with conversational bots within a single workflow execution. Once the configured duration is reached, the conversation is automatically stopped and a predefined audio message is played to the user.

To configure this setting, navigate to Voice > Workflows > Your Workflow > Details > Turn on the Limit conversational bot duration toggle, set the duration and the audio file to be played to the customer.

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​

Jump to a node:

Start and end

NodeWhat it does
Start hereThe starting point of every workflow.
End conversationEnds the workflow.

Talk to the caller

NodeWhat it does
AnnouncementPlays a text-to-speech message or an uploaded audio file.
Auto-attendantOffers a keypad menu (keys 0–9, * and #).
Custom questionAsks a question and stores the caller's answer.
Customer satisfactionAsks the caller to rate the conversation from 1 to 5.
Voice mailLets the caller leave a voice mail.

Route the call

NodeWhat it does
Check opening hoursRoutes based on the channel's opening hours.
Check queue stateChecks a queue before sending the call to it.
QueuePuts the call in a queue for agents.
SwitchRoutes based on conditions on conversation, customer or other data.
Evaluate phone numberRoutes based on the caller's phone number.
SamplingSends a set percentage of calls down a different path.
Redirect to phoneRedirects the call to a phone number.
Time-based redirectRedirects the call to a phone number based on an uploaded date and time schedule.
Schedule callbackSchedules a callback request.
Transfer to channelPasses the call to another voice channel and its workflow.

AI and language

NodeWhat it does
Conversational botLets an AI bot talk to the caller.
Custom BotUses your own voice bot.
CategorizerApplies categories to the conversation.
Set customer languageSets the caller's language for translation, transcription and text-to-speech.
Live translation for external agentsTranslates live between the caller and an agent of an external contact center.
External Voice BotConnects the caller to a voice bot outside Graia CCaaS by phone number.

Data and integrations

NodeWhat it does
JavaScriptRuns your own JavaScript code.
Custom integrationHands the conversation over to a third-party system.
Send emailSends an email about events in the workflow.
Set dataStores workflow data for later nodes.
AwaitWaits for a node running in the background to finish.
Set recording state for Graia CCaaS-native recordingKeeps or discards the call recording, overriding the tenant setting.

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.

If a set customer language node is present on a path that points to this node with the Workflow TTS feature enabled for the language profile, then the TTS engine and language of that given language profile will be used. Multiple set customer language nodes can have paths to a single announcement node, in which case, multiple TTS messages can be set for each language profile displayed.

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, 0, star (*) or the hash (#) key.

You can set up to 12 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.

If a set customer language node is present on a path that points to this node with the Workflow TTS feature enabled for the language profile, then the TTS engine and language of that given language profile will be used. Multiple set customer language nodes can have paths to a single auto-attendant node, in which case, multiple TTS messages can be set for each language profile displayed.

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.

Categorizer​

Use this node to apply categories to conversations manually.

  • Categorization rule: select a categorization rule created in your tenant.

  • Main and Secondary categories: choose from the selected categorization rule.

    Note that you can only have a single categorization node on any given flow branch.

Outputs:

  • Success: One of the category-subcategory pairs was associated to the conversation.

The node also creates the following workflow properties, that can then be used for example in the Switch node for routing decisions:

  • MainCategory: contains the main category value as the node selected.
  • SubCategory: contains the sub-category value the node selected.

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:

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:

Conversational bot​

Use this node to engage your customer with a subject matter expert AI-based conversational bot.

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.

For the bot to interpret what customers say correctly and to respond in a voice that is native to them, it must be aware of the language the customers speak. This is done by inserting a Set customer language node in the flow before this Conversational bot node.

Advanced configuration:

  • Used LLM: the AI model the bot uses. If the portal marks the selected model as deprecated, choose another one before its retirement date, and test the bot again.

  • Enforce Knowledge Base search: shown once a knowledge base is selected. Turn it on to make the bot search the knowledge base before it answers, instead of deciding for itself whether to.

  • 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).

  • Customer silence timeout: how many seconds the bot waits for the caller to say something.

  • 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.

  • Customer history control: A slider to determine how many past messages will be used by the bot as a context window. Set this to a lower value to ensure the bot remains focused to the current questions and discards context from X messages ago, or set this to a higher value to increase the context window and ensure the bot remembers X messages. Please note that a higher context window may increase your consumption cost.

  • Fresh start: Allows the bot to start as if there are no messages in the history before reaching this node. This is useful in multi-bot scenarios with different controls in terms of the history.

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.
    • You may require the bot to collect data from the customer before calling an output, you may configure this in the Data collection drop-down of an output. Type the variable's name in Add a new data collection variable and click Add (names are saved in lower case), then optionally add a description so that the bot understands what the variable is for, and set the Required flag and the type, which can be text, boolean, choice or number. The bot will attempt to extract all relevant data from the conversation, but please note that the decision lies with the LLM.
    • Outputs are evaluated in the order they are configured, meaning that if both option 2 and option 3 match, the bot exits through option 2, the one higher in the list.

Custom Bot​

Reference a custom voice conversational bot. See the integration page for more details

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.

Additionally, a workflow designer can set the Async mode on or off.

Async mode off will wait for the request to be completed before moving through the outputs and apply the configured timeout.

Async mode on will not wait for the request to be completed and will move through a new output called Meanwhile, which allows the designer to stream announcements to the customer while waiting for the request to be complete, this is particularly useful for long requests, which typically end up with the customer waiting in silence. The path of Async mode must have an await node, which will wait for the request to be complete before moving forward.

For the await node, you must specify the source node, in case you have multiple custom integration nodes, then the timeout and outputs. Outputs are Success, Fail and Timeout. Success and Fail are determined by the result of the request, while timeout is the output used when the timeout set on the node elapsed.

You may specify sensitive data that can be used by this node, by typing the variable name (case sensitive) then clicking the add button. If you do not perform this action, data from custom question nodes marked as sensitive will not be passed to your integration at all with the rest of the workflow data.

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.

If a set customer language node is present on a path that points to this node with the Workflow TTS feature enabled for the language profile, then the TTS engine and language of that given language profile will be used. Multiple set customer language nodes can have paths to a single custom question node, in which case, multiple TTS messages can be set for each language profile displayed.

The regex pattern, retry count, and repeat message are all optional.

You may mark this node as sensitive data, meaning data collected through it is not stored in a readable format in reports, logs, and is not available as workflow data for other nodes. Sensitive data allows you to collect data such as social security number, insurance number and so on that should not be readable by anyone.

If you require an integration node or javascript node to access the sensitive data, you must add the variable name (case sensitive) to these nodes, otherwise the sensitive data is not passed to integrations or the javascript node.

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.

If a set customer language node is present on a path that points to this node with the Workflow TTS feature enabled for the language profile, then the TTS engine and language of that given language profile will be used. Multiple set customer language nodes can have paths to a single customer satisfaction node, in which case, multiple TTS messages can be set for each language profile displayed.

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, the Collected output is not triggered.
tip

Hook this node up to the Agent Disconnected 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.

End conversation doesn't appear as a separate node on the canvas: the output you connected it to shows a green End label instead. It's offered on the outputs of other nodes, not on Start here.

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​

The "Agent live translation" node offers a real-time audio translation between a customer and an agent of an external contact center. In this scenario, Graia CCaaS 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.

This node requires the Set Customer Language node to have already been used upstream in the workflow to specify the customer language.

  • Agent language profile: Specify the language profile for the agent.
  • Agent queue number: The phone number Graia CCaaS needs to call to reach an agent in the external CC.
  • Chat only mode for agents: When enabled, Graia CCaaS stops translating the customer audio for the agent but will retain displaying a text transcript of it. This offers savings on AI consumption costs.
  • Disable customer audio translation for agents: When enabled, it disables the translated audio of the customer speech, particularly useful if agents rely on the transcript for translation and do not need the customer audio.
  • Partial customer transcription: When enabled, Graia CCaaS will not wait for the customer to finish 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.
  • Agent side transcript confirmation: Enables the agent to review the transcript of their own speech and allow/reject the system to translate and speak those to the customer. This lets agents manage the quality of the translation at the cost of speed: reading their own transcript takes time, and when rejected, the agents will have to rephrase their statements and then re-read the transcript of those.
  • Automatic confirmation timeout: When the Agent side transcript confirmation is enabled, you can specify how long the system waits before it accepts the transcript automatically.
  • Volume of original agent audio: The audio volume level of the agent's 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.
  • Agent assist configuration: Enables using a predefined agent assist to aid the agent.
  • End speech detection: Designate the amount of silence time the system should wait before it considers the participant last speaking to be finished, and translation can start.

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.

JavaScript​

The JavaScript node allows integrators to write JavaScript code directly into the portal using a capable editor. This allows integrators to use the node instead of creating a middleware or Azure Function for simpler operations. The node supports executing JavaScript, it can send HTTP requests, supports reading & writing workflow variables and basic conversation data.

The node properties:

  • A description for the node, use this to explain to other integrators what this node is for.
  • Success output, this is used when the code inside the node is successful and the conversation continues through this path.
  • Failed output, this is used when the code fails for any reason and the conversation goes through this path.
  • Copy Code button, this allows integrators to quickly copy the code inside the node to paste it elsewhere.
  • Edit code, this opens the code editor and allows for writing the code itself and testing it.
  • You may specify sensitive data that can be used by this node, by typing the variable name (case sensitive) then clicking the add button. If you do not perform this action, data from custom question nodes marked as sensitive will not be passed to your javascript node at all with the rest of the workflow data.

The code editor is based on the Monaco Editor, also powering VSCode. The system passes data to the node, meaning in the code, you can access the following data:

  • conversation.id - this is the unique ID of the conversation
  • conversation.customerId - this is the unique ID of the customer that is part of the conversation
  • conversation.customerIdentifier - this is the email address or phone number (depending on the media type) used to identify the customer.
  • workflowVariables.{yourVar} - workflow variables configured elsewhere in the workflow.

For testing purposes, you may provide environment data (conversation ID, customer ID, customer identifier) as well as key-value pairs workflow data to be able to test your code without having to initiate a conversation. Simply click Execute Code to test your code, the console will display any information coming from the code as well as the output variables that you can define in your code using the syntax such as workflowVariables.myVar = 'asdf'

Please note that the data provided as environment data as well as the test workflow variables are discarded when leaving the editor, regardless if the code or workflow was saved or not. Be mindful of the execution timeout set by the system.

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.

Add workflow variable contents into custom SIP headers or the phone number field in the redirected voice call so the far end SIP UA can process the call better (e.g. make more educated routing decisions):

  1. Click into the Add a new custom SIP header field, type a header name, then click Add.

  2. Click the edit (pencil) icon for the new header to type literal values for it. Put in workflow variable values by putting the workflow variable names into the value field between curly brackets {workflow_variable_name}.

Best practices for custom SIP headers:

  • Custom SIP header names should contain no sensitive characters that could produce processing issues in the SIP UA chain down the line (e.g. avoid adding spaces, the colon character :, etc). Limit the characters to a-z, A-Z, 0-9 and the dash - or underscore _.

  • Try to make the custom SIP header (name and value) as short as possible. Growing too big could cause unexpected problems for the systems receiving the redirected call.

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 files them.

Outputs:

  • Registered: the node succeeded in filing the callback request.

Send email​

Use the Send email node to notify customers or interested parties about events happening in the workflow. This can come in handy in business scenarios where specific information needs to be provided in a persistent manner right from a workflow, e.g. for automated data confirmations, auditing purposes, etc.

Designate an existing Email channel in the business unit of the workflow which will be used to send out the email message from.

Select an Email template from the business unit of the workflow, acting as the body of the message.

Type the Subject.

You can set the node to Use customer email address from the identified customer profile of the conversation. Or defeat this option and specify a Workflow variable field to be used as the target attendee of the email message.

Outputs:

  • Success: The email was sent successfully.
  • Fail: There was a problem while sending the email message.

Set customer language​

This node specifies the customer language and the associated language providers for the various language services.

Select a Customer language profile from the list. The node displays the features the selected profile offers.

note

Make sure the requirements of any followup nodes are in line with the features this profile offers. The system will try its best to mitigate unaligned feature selections. For example in case the Workflow TTS feature is not enabled in the selected profile, but there is a TTS-using node following it, then the profile language is assumed for the TTS announcement.

Outputs:

  • Then: A generic output, use it to hook up the next node.

Feature support:

  • Call Translation: Will set the language, STT configuration, TTS configuration for the customer side, the translation engine for the language profile pairs, as well as enables the call translation feature for the current path, enabling call translation between the agent and the customer if the languages set for the agent in their profile configuration do not match the language from the set customer language node.

  • Recording transcription: Overrides the tenant level recording transcription configuration, with the language and Offline transcription provider coming from the language profile selected in the set customer language node for the current path.

  • Voice Bot: Sets the STT configuration, the TTS configuration, language and enables conversational voice bot feature for the given path. This applies to 3rd party voice conversational bots as well.

  • Workflow TTS: Overrides the default system TTS engine for TTS-streaming nodes, allowing setting a language, provider and voice model for such nodes.

Please note that if multiple set customer language nodes with the same or similar functionalities exist on a given workflow path, the last node encountered by the customer will be taken into consideration.

Switch​

The Switch node enables workflow designers to assess specific properties or fields of various categories of data (e.g. conversation or customer details, etc.), establish conditions for them and make routing decisions based on the result of these.

Upon creating the node, you first designate which categories of data it will offer properties from. This can be set only once and will not be changeable later on for the given node.

The available data sources to load properties from:

Data sourceDescription
Workflow dataData fields set through the Set Data node, via custom integrations, conversational bots.
Customer detailsCustomer record properties in case the customer of the conversation is identified by the time this node gets activated.
Calendar eventsEvents scheduled in the tenant calendar.

You can define up to 9 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 Graia CCaaS-native recording​

This node is visible for tenants where Graia CCaaS 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 Graia CCaaS 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.

Set data​

The Set Data node defines workflow data that can be reused later, for example in a Switch node or in an announcement. Click Add property for each key and value you want to set.

Read the Reference data chapter on how to use customer or workflow data in this node.

Outputs:

  • Then: Specify what action should follow after setting the data.

Await​

The Await node waits for a node that runs in the background, started earlier in the workflow, to finish. Select that node in Async source node – the list only offers such nodes from your workflow – and set how long to wait in Timeout (mm:ss).

Outputs:

  • Success: The awaited node finished successfully.
  • Fail: The awaited node failed.
  • Timeout: The awaited node didn't finish within the timeout.

External Voice Bot​

The External Voice Bot node connects the caller to a voice bot outside Graia CCaaS by calling it on a phone number.

  • Trunk Selection Group: the group of phone lines used to place the call. Leave it on No trunk selection group selected unless Graia set one up for you.
  • Phone Number: the number the bot answers on.

Outputs:

  • Success: The call to the bot connected and ended normally.
  • Failed: The call to the bot couldn't be made.

Transfer to channel​

The Transfer to channel node passes the call to another voice channel, which continues it in its own workflow. Select the target Channel, and turn on Pass workflow variables to hand the data collected so far over to that workflow.

This node has no outputs: the call continues in the other channel's workflow.

Queue​

Used to load the conversation into a queue of agents. The Queue node is the queue itself: you give the queue its name and set its routing mode in the node.

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.
  • Hybrid Queue: The system mixes automatic and manual, allowing the system to use intelligent routing to find the first available skilled agents, but also allowing skilled agents to manually pick items from the queue.

Queue parameters​

Queue outputs​

Queue entry logic​

Before a conversation enters the queue node, the following outputs are evaluated, in this order:

  1. 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.
  2. 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.
  3. 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.
  4. Max Queue Size: Check if the conversation would exceed the specified limit. If yes, use the output flow; if not, proceed to the next check.
  5. 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 Graia CCaaS 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.

Voice mail​

The voice mail node allows administrators to collect voice mails from their customers based on the business logic defined in the workflow.

The voice mail itself streams a BEEP, the customer can end the voice mail recording by pressing the # key on their dial pad and continue with the workflow, or end the call.

You must inform the customer through an announcement node about the voice mail possibilities. You should place the announcement node right before the voice mail node. A suitable message could be, for example Thank you, please leave your voice mail. To end your voice mail, please press the hash key..

The voice mail has a standard silence detection mechanism, if there is no speech detected, after 5 seconds the node exits and voice mail collection ends. If this is your last node in the workflow, meaning the output points to an END conversation node, the call is disconnected. The detection applies to any point of the voice mail collection.

The maximum length of a voice mail is 5 minutes, after which, the node exits and the voice mail collection ends.

Using the workflow designer​

Workflow containers, the designer toolbar, saving, cloning workflows and nodes, multi-select, deep links to nodes and node search work the same way in voice, chat and email workflows. See Using the workflow designer.

Reference data​

You can reference the following customer data in Switch, Set Data, announcements and the conversational bot node:

  • {Customer.FirstName}
  • {Customer.LastName}
  • {Customer.Email}
  • {Customer.CustomerId}
  • {yourSetData}

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.