Dialog Manager Flow Elements
Entry Point
An Entry Point element has a one to one relationship to an intent. Whilst an entry point always occurs at the beginning of a flow, they can also occur at any point within a flow where a more explicit Intent (typically containing entities) signifies and alternative entry into the flow.
An intent represents actions the user wants to perform. The intent is a purpose or goal expressed in a user's input, such as reseting a password, applying for leave, or requesting access.
In Sofi you define Entry Points that relate to an intent and then define the actions that must be taken for that intent.
Entry Point Name
The name of the entry point should be unique. It should also be descriptive as is defines the Intent of the action that a user wishes to perform. For example, Password Reset Request.
There are restricted characters when naming Entry Points (Intents).
Field | Description |
---|---|
Name | The name of the Entry Point |
Configuring Utterances for an Entry Point
For each Entry Point you will need to configure a list of typical utterances that could be used to access the entry point. You can access the Utterances by clicking the speak bubbles on the top left of the Entry Point element.
Managing Intents and Entities
You can also access the utterances for an Entry Point from the the NLU Model > Entry Points menu option.
Note: Entry Points are essentially Intents (however there are also other types of intents within Sofi.
To enter an utterance just start typing in the field at the top of the form. Pressing ENTER will create the utterance. Click on the three dots to Edit or delete an utterance.
Labelling entities on an utterance
Once you have defined an utterance, then, label the parts of the utterance that are relevant to your environment as entities.
An entity represents detailed information that is relevant in the utterance. For example, in the utterance "Reset my Outlook password", "Outlook" is an application. By recognising and labeling the entities that are mentioned in the user’s utterance, Sofi helps you choose the specific action to take to answer a user's request.
In summary, an intent is used to trigger an action and an entity is used as a parameter to execute an action.
Labeling Entities
To label an entity, select and open the Intent (Entry Point) by selecting NLU Model > Intents to display the list of utterances.
To label a single word, just click on the word and select the entity. To label a phrase (two or more words), click on the first word and then click on the last word in the phrase.
To create a new Entity, just enter a unique Entity name into the search field on the Entity List (from an Utterance) and the Add option will appear.
For more information on Entities visit NLU Model
Topics
Topic elements are the work horse of the conversational interaction between the user and Sofi. They typically pose a question and take action based on the users response. Branches of topics are configured to wait for a natural language response (Response Intent) from a user. They work in a similar way to entry points in that there is a mapping between an Intent (of that Branch) and the utterances that the user can enter.
Referencing User details within Dialog Flows
To reference details of the logged in user, use the following syntax:
{{user.id}}
{{user.display_name}}
{{user.first_name}}
{{user.last_name}}
Field | Description |
---|---|
General | |
Name | Name of element. |
Response | The response provided by Sofi. |
Hint | Optional: provide hint to guide the user. |
Prompts | Similar to Suggestions however Prompts are typically short single words such as Yes and No. |
Suggestions | |
+ (Add Suggestion) | Suggestions appear as selectable 'buttons' within the chat interface that a user can click to streamline interaction with Sofi. Click + to create a suggestion for the user to select. Multiple suggestions can be created. Hint: Keep suggestions small - no more that 3-4 words Hint: Hitting Enter after each Suggestion will automatically create a Branch for the suggestion. |
Branches | |
+ (Add Branch) | A branch (intent) determines which path Sofi should take depending on the user's response. If using Suggestions, Branches are automatically created (remember to hit ENTER key when you add a new Suggestion). |
Remember to press Enter (or Tab) key when adding new Suggestions
You must press Enter after entering a Suggestion in order for Sofi to automatically create a Branch for that suggestion. If you fail to do this try deleting the Suggestion and adding it again. Alternatively manually create the branch.
Adding Utterances to Branch Intents
Branch utterances can be added by clicking on the 'Speech bubbles' on the top left of the Topic element. Additional utterances can be added for each branch.
Manually creating branches for Suggestions
If you need to manually create a branch for a Suggestion, make sure that the name of the Branch is the same as the name of the Suggestion.
Exit Point
An exit point indicates an end to a flow. There can be multiple exit points within a flow.
Field | Description |
---|---|
Name | Name of element. |
Response | The response provided by Sofi. |
Action | Choose the action to be performed upon exit: Close Chat Anything else? |
Close delay | The delay in seconds before the chat windows closes. |
Advanced | |
Clear conversation tracking field | Set to On if using a Continuation Point element in a flow and you wish to clear this field (on the target table) at the exit of the flow. Note: Only used for SAA-based (Expert Assist) flows. |
Conversation tracking field | If using a Continuation Point element in a flow, this field should be the same as 'Set conversation field name' value used on the Continuation Point element. |
Copy Chat history to field | On/Off Note: Only used for SAA-based (Expert Assist) flows. |
Chat history field name | The name of the field on the target table to copy the chat / conversation history into. |
Continuation Point
A Continuation Point allows you to define a point in a conversation (flow) where you need the customer to 'go away' to perform some task with the expectation they will return to the flow at some later point.
The Continuation Point allows you to define the point in the flow the user will return to when they return to this active conversation. By default, (if you do not connect the output branch), the flow will return to the element immediately prior to to the Continuation Point.
Alternatively, you can connect the output of the Continuation Point to any other element to define the point whether the conversation will continue.
Field | Description |
---|---|
Name | Name of element. |
Response | The response provided by Sofi. |
Action | The action to be performed upon exit: * Close Chat |
Close Delay | The delay in seconds before the chat windows closes. |
Set conversation field name | The field on the active ServiceNow form that the conversation ID is copied into. This field is used by ServiceNow to track and reopen the conversation (via a UI Action / script). |
Tracking and triggering an active conversation
ServiceNow tracks and initiates an active conversation by recording the Conversation ID of a flow on a target ServiceNow form (eg Incident form). For example you may create a new field on the Task / Incident table called u_sofi_conversation, then use the Set Conversation field name parameter above to copy the Conversation ID to this field.
A UI Action can then be created on the ServiceNow to 'continue' the conversation at some point. The example UI Action below creates a UI Action Form Button to trigger the continuation of a flow. You can use this to test the continuation of a flow. You can then create an OnLoad script to perform this based on your requirements.
function doSofiConversationCheck() {
var conversationID = g_form.getValue("u_sofi_conversation");
if (conversationID != "") {
saa.continueConversation(g_form.getValue("u_sofi_conversation"), { force: true });
}
}
Only supported on Expert Assist (Virtual Agent on Service Agent Assistant)
At present this conversation persistence is only supported on flows used with the Service Agent Assistant chat interface (Expert Assist)
Refer here for information on Expert Assist.
Subflow
Subflows are flows referenced by the current flow to perform specific actions and return results to the current flow.
If a Subflow Exit is used within the subflow, the conversation will return to the previous flow upon reaching that Subflow Exit. If an Exit Point element is used within the subflow, the conversation will end within the subflow at that point.
Field | Description |
---|---|
Name | Name of the element. |
Description | Description of the subflow. |
Subflow ID | Read Only field that identifies the ID of the selected subflow that this element calls. |
Dialog Flow Selector | Icon on top of the element used to select the flow. |
Subflow Exit
An Exit Subflow, exits a subflow (a flow called from another flow) and returns the conversation to the previous (calling) flow.
Field | Description |
---|---|
Name | Name of Element |
Updated over 6 years ago