Dialogue Cloud

Dialogue Studio Nodes

Anywhere365 Dialogue Studio provided a tool for designing and programming flows. This guide will focus primarily on the Anywhere365 Nodes.

To use Dialogue Studio navigate to the url that it is installed on.

Anywhere365 Trigger Nodes

How and when the Anywhere365 nodes will trigger your flow.

Icon Description
Incoming call
The Incoming call node triggers when an audio call enters the IVR Interactive Voice Response, or IVR, is a telephone application to take orders via telephone keypad or voice through a computer. By choosing menu options the caller receives information, without the intervention of a human operator, or will be forwarded to the appropriate Agent. or a chat will enter the IDR Interactive Dialogue Response (IDR) is an application to take orders via keypad or button through a computer. By choosing menu options the contact receives information, without the intervention of a human operator, or will be forwarded to the appropriate Agent.. Output will contain information about an incoming call for the selected UCC A Unified Contact Center, or UCC, is a queue of interactions (voice, email, IM, etc.) that are handled by Agents. Each UCC has its own settings, IVR menus and Agents. Agents can belong to one or several UCCs and can have multiple skills (competencies). A UCC can be visualized as a contact center “micro service”. Customers can utilize one UCC (e.g. a global helpdesk), a few UCC’s (e.g. for each department or regional office) or hundreds of UCC’s (e.g. for each bed at a hospital). They are interconnected and can all be managed from one central location.. Both audio and chat sessions are supported.
Configuration
  • Server (any-red-config) - Configuration for UCC connection.

  • Filter (string) - Only selected conversation type will be passed on, select 'All' to pass on all conversations.

Output Object

  • session.id (string) : Identifier to recognize session.

  • session.sipUri (string) : Sipuri that the customer uses to call the UCC.

  • session.type (string) : Type of session, will be 'audiovideo'.

  • actions (object) : Object containing functions that will be used by other ANYWHERE365 nodes. No need to use these.

  • originalRecipientUri (string) : The URI that was originally called. This is especially useful for inbound intercepted calls that are diverted to a UCC Call, to determine the skill based on the Agent Uri that was originally called.

    Note: Introduced in DC2023.02
  • initialSessionId (string) : The correlation id of the initial UCC Call. It will be identical to session.Id for the first UCC Call, but will be different as soon as the call is transferred or forwarded from one UCC to another. Regardless of the number of transfers/forwards, the initialSessionId will remain the same.

    Note: Introduced in DC2023.02

Details

The output can be used as a trigger to ask a question and wait for a response. Also it is possible to just say ac announcement to the caller before the call is queued. Lot's of possibilities here.

Ideas of scenarios after these events:

  • Check database if user has priority and queue it.

  • Queue depending on country call is coming from.

  • Ask user to chose a option (IVR) and queue him depending on answer.

  • Check time and disconnect or queue the user depending on opening hours.

Waiting Queue
The Waiting Queue node triggers when an audio call enters the waiting queue. Only audio sessions are supported.

Configuration

  • Server (any-red-config) - Configuration for UCC connection.

  • Filter (string) - Only selected conversation type will be passed on.

Output Object – Customer Session (top)

  • session.id (string) - Identifier to recognize session.

  • session.sipUri (string) - Sipuri that the customer used to call the UCC.

  • session.type (string) - Type of session, will be 'audiovideo'.

  • session.state (object) - Object containing name and cancellation ID for current state.

  • endpoint (object) - (optional) Object containing information about the endpoint where the call entered the UCC.

Output Object – Position Change (bottom)

  • session.id (string) - Identifier to recognize session.

  • queue.real (number) - Current position in the queue for session.

  • queue.best (number) - Best position in the queue for session till now.

  • queue.previousReal (number) - Previous value for real position, -1 when there is no previous real entry.

  • queue.previousBest (number) - Previous value for best position, -1 when there is no previous best entry.

Details

The output can be used as a trigger to play Queue Position messages, informational messages, or waiting music to the Caller. It is also possible to let the Caller leave a call back request, transition the call to another queue, or execute any other action part of the “Action” node to offer the Caller an escape when it is waiting in the Queue longer than expected.

The sample that is included in Dialogue Studio will give you a head-start to build your own Queue strategy.

InDialogue
The InDialogue started (InDailogue) node triggers when a caller is connected with an agent. This scenario is specific for default one-on-one conversations. Each output contains information about the session for a participant. Both audio and chat sessions are supported.

Configuration
  • Server (any-red-config) - Configuration for UCC connection.

  • Filter (string) - Only selected conversation type will be passed on, select 'All' to pass on all conversations.

Outputs

Customer
  • payload (object) - Output with information about the customer

Agent
  • payload (object) - Output with information about the agent

Outputs (Object)
  • session.id (string) - Identifier to recognize session.

  • session.sipUri (string) - Sipuri that the customer uses to call the ucc.

  • session.type (string) - Type of session, will be 'audiovideo''.

Details

The InDialogue phase will contain at least two participants, the agent and the customer who is calling. For now we support a one-on-one conversation, if more participants are added we don't know what happens.

Both the outputs will contain the object as described in the paragraph 'Output Objects'.

Depending on the output you use you can whisper to the agent or even to the customer. It is also possible to initiate other actions, for example you can start and stop a transcoder when you press a key in the numpad. Many more scenarios can be imagined and created for this phase.

PostDialogue

The PostDialogue node triggers when a session reaches the post dialogue phase. This means a caller or agent disconnects the call. The other participant will trigger the output from this node, containing information about the session for the remaining participant. Both audio and chat sessions are supported.

Note: To end this phase use the No Action node. No other node is allowed and if it is not triggered the call is not ended or going to the quality monitor.

Configuration

  • Server (any-red-config) - Configuration for UCC connection.

  • Filter (string) - Only selected conversation type will be passed on, select 'All' to pass on all conversations.

Outputs

Customer
  • payload (object) - Output with information about the customer

Agent
  • payload (object) - Output with information about the agent

Outputs (Object)
  • session.id (string) - Identifier to recognize session.

  • session.sipUri (string) - Sipuri that the customer uses to call the ucc.

  • session.type (string) - Type of session, will be 'audiovideo'.

Details

The PostDialogue phase will normally contain only one participant, the customer or the agent, this depends on who disconnected the call.

One of the outputs will be passed and both will contain the object as described in the paragraph 'Output Objects'.

Depending on the output you use you can whisper to the agent or the customer. It is also possible to initiate other actions, for example you can ask confirmation for another action in an external system (DTMF).

QM Q​uestion

The Quality Monitor Question (QM Question) node triggers after the dialogue phase ends. It will trigger for each QM Question that is configured in the UCC.

Configuration

  • Server (any-red-config) - Configuration for UCC connection.

Outputs Object

  • session.id (string) - Identifier to recognize session.

  • payload.questionId (int) - Quality monitor question id that is configured in the UCC.

  • payload.welcomeText (string) - Welcome text that is configured in the UCC.

  • payload.goodbyeText (string) - Goodbye text that is configured in the UCC.

  • payload.valueStartRange (int) - Start of valid answer range.

  • payload.valueEndRange (int) - End of valid answer range.

Details

When Dialogue Studio is configured to handle one or more Quality Monitor Questions, the Quality Monitor Question (QM Question) node will be triggered as soon as the dialogue between the Customer and the Agent is disconnected by the Agent. The first trigger provided by the QM Question node is for the Quality Monitor Question with the lowest order. As soon as this QM Question is answered by populating the provided feedback into the QM Answered node (or the Quality Monitor times out; configured in setting: QualityMonitorNoChoiceTimeOut), the QM Question node will be triggered for the subsequent QM Question with the next lowest order, until all QM Questions are either answered or timed out. The answers provided to the QM Answer node, will be made available in the reports.

Information about configuring the quality monitor, Learn More

​​Event Bus

The Event Bus Node triggers every time an event is received form the UCC over the event bus. This node is not depending on any sessions. Using the filter, only events of defined types are passed to the next node.

Configuration

  • Server (any-red-config) - Configuration for UCC connection.

  • Filter (string) - Only selected events of the selected types will be passed. Use comma's to separate the event names.

Output (Object)

payload

values contained in the payload

  • EventType ( string) - Name of the event.

  • Event (object) - Object with data that can be used to handle the event.

Anywhere365 Action Nodes

Icon

Description

Say

The Say node sends an audio or text-message to a caller or agent. depending on the session type. Both audio and chat sessions are supported.

Details

This node will try to make the UCC send a message to the session that it passed through the input. Depending of the type the conversation is the message will be spoken or send in text.

It's possible to use values from the input in the text that is send to the user. Select the type msg. and fill in the path to the wanted value. Other sources of Dialogue Studio are also available and you can combine values with JSONata.

The output is triggered when sending or speaking the message is fully completed and it contains the input.

Only the Message field is required when you would like to perform Say on a chat session. If you want to cover both audio and chat or you would like to cover audio only, additional settings can be configured.

For voice sessions say method is available. You can select Default for the voice selection based on the UCC language configured. If you want to specify the voice used, use the Voice option and configure one. Please keep in mind that the available voices depend on the configured voice plugin in the UCC settings. For advanced users SSML is also available, in this case the Message payload will be interpreted as SSML. Also keep in mind that the SSML that can be used might differ somewhat per speech to text engine that is configured in the UCC settings.

If an error message contains the sentence 'Can't format data ...', please check if the input contains the ANYWHERE365 session and actions.

Configuration

  • Message - The message you want to perform say with.

Play

The play node plays a configured audio file from a web-url to the caller or agent.

Details

This node will try to make the UCC play an audio file to the session that it is put in. Play can only be called on a session using audio.

Output (Object)

Result output
  • payload (object) - Will return if the Play action was successful.

Ask and wait for input

The Ask-and-Wait node asks a question to the caller and waits for an answer. Depending on the configuration answers can be given by speech or by using a keypad on a phone. Only audio sessions are supported by this node.

A variety of input answer can be:

  • Specific tone

  • Specific amount of tones

  • Speech recognized phrases / words

By making a selection where to 'wait for' the other options in the Configuration will change accordingly.

Configuration

  • Text - Message that is spoken to the caller.

  • Method:

    • Default - Use default voice, configured by the UCC.

    • Custom Voice - Configure a custom voice.

    • SSML - Use SSML for more advanced options.

  • Voice - Only for Custom Voice Select a configuration for a custom voice.

  • Play once (boolean) - Will play the message only once and will keep listening for input till it's canceled. Repeat every will not be available.

  • Repeat every (integer) - Message to user defined in say will be repeated after this amount of seconds.

  • Wait for (Option) - The node will wait for a specific tone, a specific amount of tones or a Speech recognized phrase

  • No. of tones (integer) - Only for Specific amount of tones Will wait till this amount of tones are received by caller

  • Tone (string) -Only for Specific tone Will wait till this tone is send by user. (Eg. #)

  • Phases (string) - Only for Speech recognized Comma separated list of possible phases where the node will wait for. (Eg. yes,no,mabye)

  • Culture (string) - Only for Speech recognized Culture the node will expect the answer to be in. (Eg. en-US)

  • Timeout (integer) - Amount of seconds the node will wait. When no answer is recognized, the second output will be triggered.

Input (Object)

No specific input is needed, only the actions created by the Anywhere365 api event nodes should be present.

  • actions (object) - Object containing actions that can be executed on api by ANYWHERE365 nodes.

Output (Object)

Result output
  • payload (object) - See details for output depending on 'Wait For' property configured.

Timeout
  • payload (string) - input will be passed to try again or continue.

Details

Depending on the input of the caller to wait for, different outputs with the answer are generated.

When a valid answer is presented the first output will be triggered. In case the 'Wait for' option is set to a specific amount of tones, the msg.payload.dtmf of the first output will be filled with the answer of the caller. If using the option specific tone the same field will be used, it will contain more characters and the selected tone will also be in it. With the option Speech recognized the output field will be different, When a phrase in the phrases field is recognized, the first output will contain msg.payload.speechDetected wich contains the answer.

If the timeout configured in this node is reached it will return the second output. It is possible to follow another tree or just try again after a message or delay.

If an error message contains the sentence 'Can't format data ...', please check if the input contains the ANYWHERE365 session actions.

DTMF

The Dtmf node listens to input provided by the participants in an audio session. The input is retrieved from Dtmf-tones produced by pressing the keypad on a phone.

Configuration

  • Wait for (Option) - The node will wait for a specific tone or a specific amount of tones.

  • No. of tones (integer) - Only for Specific amount of tones Will wait till this amount of tones are received by caller

  • Tone (string) - Only for Specific tone Will wait till this tone is send by user. (Eg. #)

Input (Object)

No specific input is needed, only the actions created by the Anywhere365 api event nodes should be present.

  • actions (object) - Object containing actions that can be executed on api by ANYWHERE365 nodes.

Details

This node will listen to dtmf actions and wait for the configured action before handing a result over. When finished the result will be available in the payload.dtmf property. Dtmf can only be used on a session using audio.

If an error message contains the sentence 'Can't format data ...', please check if the input contains the ANYWHERE365 session actions.

Translate

The Translate node translates text from one language into another. It is possible to translate input, a string and other sources.

Details

This node uses the configured text translator service in the UCC. It will translate the text provided that is configured. More information about setting up the translator can be found on GoLive! It is required to provide a source language and a target language in the BCP47 format.

Input

The default setting of this node is to translate the payload. You need to change this when this isn't the correct value.

Output

When a translation result is received from the UCC, it will be outputted in the following format:

Copy
JSON
{
"original_text": "Hello",
"translated_text": "Hallo",
"source_language": "en",
"target_language": "nl"
}

Troubleshooting

When you have troubles with the translator component, check if the following conditions are met:

  • Translator component configured in SharePoint PluginSettings list.

  • The configured translator service supports both the source and target language.

  • The message meets translator service requirements (some require minimum 3 characters).

  • No errors regarding translations visible in the UCC log.

If an error message contains the sentence 'Can't format data ...', please check if the input contains the ANYWHERE365 session actions.

Transcriptor

The transcriptor node sends all spoken words of a participant in a conversation to a service which will return a transcripted version of the spoken text. The transcriptor needs to be started for every phase again if you want it.

Important: Transcriptor plugin needs to be installed and configured for the UCC in order to get this working, Learn More

Configuration

  • Start (boolean) - If selected transcoder will be started else it will be stopped.

  • Culture (string) - Language the customer is talking in.

  • AI model (string) - Optional AI model used by the specific engine implementation. Sometimes, specific AI models are more suitable for certain transcription use-cases. For example, if the quality is known to be lower, it is better to use a model more specialized in phone calls in case it exists. If no value is provided, the default one is going to be set. See: Google Transcription Model

    Note: Introduced in DC2023.03
  • Phrase list (string) - Optional phrase list set to provide commonly used phrases or single-words to give priority during transcription. If no value is provided, the default one is going to be set. See: Google Phrase List - Model Adaptation

    Note: Introduced in DC2023.03

Outputs

Result
  • payload (object) - contains input and is send when successfully started or stopped.

transcription
  • payload.Transcriptor (object) - Contains the result of the transcription. Transcript is the string that is returned.

Details

The transcriptor node will start or stop the transcoder depending on the settings.

It is also possible to override the start setting by giving a boolean true as payload.start or payload.stop. This allows you to toggle the transcriptor depending on actions occurring in the conversation or in other Dialogue Studio components.

When the transcriptor is started it will output many objects that are returned by the transcriptor configured in the ANYWHERE365 UCC in it's second output. By selecting the setting 'Only send final', only transcriptions where the result is as completed as possible is send. If not selected, all translation steps will be returned, which are a lot of events.

Also the culture can be overwritten if you use payload.culture and give a string representing the culture.

If an error message contains the sentence 'Can't format data ...', please check if the input contains the ANYWHERE365 session actions.

Dialogflow

The Dialogflow node will setup a connection to Google Dialogflow and pass the payload. The result from Dialogflow will be returned.

This node can be used to do actions on the Google Dialogflow platform. The payload will be send to dialogflow and the output will contain the result that is returned. Check the result using a debug node to find the information you need.

Details

Configure a Google Dialogflow agent to get started. Next change the identifier if needed. The default value should work for session in ANYWHERE365. Finally select the language that is used.

Manipulate the input so it is passed as text in the payload. Google will use it's magic like configured in the agent and the result will be returned. Use the same identifier to continue the conversation with a new intent in the same agent.

More information about Google Dialogflow can be found in the Dialogflow docs.

Anywhere365 End Nodes

Icon

Description

QM Answered

When the Quality Monitor Answer (QM Answer) node receives an answer for a Quality Monitor Question, it will report the outcome accordingly. If there are subsequent Quality Monitor Questions configured for Dialogue Studio, the QM Question node will be triggered for the next QM Question.

Configuration

  • Question Id – The Id of the QM Question that is provided by the QM Question node

  • Answer – The Answer provided by the customer for the corresponding QM Question

Details

This node will allow you to provide an answer to a Quality Monitor Question that is triggered by the QM Question node as soon as the dialogue between the Customer and the Agent is disconnected by the Agent. The QM Answer node will report the outcome of the QM Question, and if there are additional questions that still need to be answered by the Customer, the QM Question node will be triggered again for the next QM Question. As soon as all QM Questions are answered (or timed out) the call will be disconnected.

Anywhere365 Combined Action Node

When you place the Combined Action Node at the end of your flow, you can either decide what will happen to your incoming and queued sessions, or just choose to end your session. Use the node properties to define the Action.

Note: This node combines several previously available separate End nodes into one node.

Icon

Description

Use No Action or Empty Action to end the InDialogue phase Read More

Use Enqueue: skill Action to place session in a skill queue Read More

Use Disconnect Action to disconnect the session Read More

Use Merge Action to merge two conversations Read More

Use Callback CallBack, an IVR menu feature for voice, enables the customer to leave his / her number to be called back by an available agent during business hours. Action to schedule a callback for a skill Read More

Use Forward Action to forward the session Read More

Use IVR Question Action to select a question from the default IVR Read More

Use Preferred Hunt Action to connect the session to preferred agents Read More

Use Queued Callback Action to schedule a callback for a skill Read More

Use Voicemail Action to direct the session to voicemail Read More

Useful other Nodes

Icon

Description

Switch

With this node you can decide based input where to continue, for example is the customer has not been recognized then ask for customer number, else continue.

Function

This is the node where low-coding coming into place. If you are looking for a feature that cannot be implemented with the simple drag and drop UI, you can use this node to write your own functionality.

Catch

If a node throws an error whilst handling a message, the flow will typically halt. This node can be used to catch those errors and handle them with a dedicated flow.

Link in

The node can be connected to any link out node that exists on any tab. Once connected, they behave as if they were wired together.

The wires between link nodes are only displayed when a link node is selected. If there are any wires to other tabs, a virtual node is shown that can be clicked on to jump to the appropriate tab.

Link out

The node can be connected to any link in node that exists on any tab. Once connected, they behave as if they were wired together.

The wires between link nodes are only displayed when a link node is selected. If there are any wires to other tabs, a virtual node is show that can be clicked on to jump to the appropriate tab.