How do I create an intent?
An intent determines what your user is trying to accomplish. Utterances are the various ways your users might express the intent. You can have multiple utterances mapped to one intent. For example, for an intent called RCScheduler, you might specify utterances like the following:
make an appointment on {date} at {time} with {staff}
schedule an appointment on {date} at {time} with {staff}
set a date on {date} at {time} with {staff}
add to calendar on {date} at {time} with {staff}
The text in curly brackets is called a slot. Slots are variables you manage by lists. See the “Using slots in intents” section below to learn more.
Creating an intent
In your project, go to Create > Components > Intent Library.
Click Add (+). The Create new intent dialog box appears.
Click Next and enter the name for the intent you want to create. For example, RCScheduler.
Click Add. The Intent screen appears.
Note: Intent Name should be alphabets and underscore only. The Underscores in the beginning and the end of the intent name will be removed automatically upon saving.On the right side, specify the slots you want to use in the utterances. See Using slots in intents and Creating a custom slot.
In the left side, enter an utterance, such as make an appointment on {date} at {time} with {staff}.
Click Add Utterance for each variation you think a user may use to accomplish their task.
An utterance can contain alphabets and special characters and must start with an alphabet or slot.If you want to require confirmation, move the slider button to on, and enter what you want the voice assistant to say to confirm the action before proceeding.
The following image shows the intent without the custom staff slot. See Creating a custom slot for an updated intent that uses the custom staff slot.
Ensure you have no duplicate utterances in any of the intents within the project. Refer to the below document for the list of default utterances and slots used in Orbita. Default Intents and slots used in Orbita
Using slots in intents
Slots are spoken utterances of the user. Refer How do I create lists (slots)?
Phrases are spoken by the voice assistant. Refer How do I create phrases for the voice assistant?
You can select an existing slot from the Slot Library that is available from the pull-down on an Intents dialog box. You can also create custom slots and map them to natural language processors (NLPs) like Amazon and Google.
The “Slot name - List name” combination can be used in other intents, but the same Slot Name cannot be associated with a different List Name.
For example, you can create a Number Intent that will take decimal numbers.
Create an intent
Add ORBITA.NUMBER to the List name.
Give a slot name to it. The ORBITA.NUMBER will change to AMAZON.NUMBER.
Refer the slot name to the utterances using curly braces {}.
When you open the curly braces, the list of available slots will be populated in the dropdown. You can select one from the dropdown.
You can create multiple utterances using the bulk upload option.
Sample for bulk upload
point {fractionPart} point {fractionPart} {integerPart} {integerPart} over {fractionPart} {integerPart} point {fractionPart} {integerPart} point {fractionPart} {integerPart} {fractionPart} {integerPart} . {fractionPart}
Choosing the NLP
You can choose to deploy the intent to the provider of your choice by selecting the NLP in the intent Edit screen.
Orbita allows all the characters in its Utterances (A-Z, a-z, 0-9, !@#$%^&*()_+-=[]{};':",./<>?`~|\).
Google Dialog flow does not restrict the Characters that you can use in Intent's user expressions. No characters will be stripped while deploying the utterances to Google Dialog flow.
Alexa allows limited characters in its utterances (A-Z, a-z, backtick, full stop, a hyphen, and curly braces when closed properly).
While publishing the intents to Alexa, Orbita will remove all the characters that are not supported by Alexa in intent's Usersays.
The characters that will be stripped off are ~ ! @ # $ % ^ & * ) ( _ + = ] [ : ; ' " | \ / ? , > < 0-9
Events
Orbita extends its support to Dialogflow's events. Input the custom event name in the Event field to tag the intent to that event.
The below screenshot is an example of the event name used for the Free text in Single input control of flow studio.