Web Deep Dive
Into the depths of the Web SDK
Advanced Actions
Asynchronous handling of intent actions
If the intentActionHandler
method is asynchronous (such as a network call) then you should return a Promise
. If the Promise
resolves then Slang checks the return value. If the value is false
then it considers the action to have failed. Alternatively if the Promise
is rejected then also Slang considers the action to have failed. You can use async/await
syntax to write intentActionHandlers
in simpler way like:
Customizing Prompts
Completion Prompts
When an intent is detected by Slang, it will call the SlangIntentActionHandler
function that is registered with Slang
. After the function is done with its handling, Slang considers the action to be successful except when it returns anything other than false
(or if it returns a Promise
that rejects).
If it returns false
( or if it returns a Promise
that rejects ) then Slang will consider the action to have failed.
Slang will speak out the Affirmative
Completion prompt associated with this intent if the action succeeds, else it will speak out the Negative
Completion prompt.
By default it will use the Completion prompt configured in the Slang Console for that intent. The "action handler" can override the prompt if necessary.
Setting the Greeting and Clarification prompt
By default Slang will show a prompt on its surface when the Slang Trigger is pressed ("Hi! How may I help you"). Similarly when Slang does not understand what the user is saying, it will ask for the user to retry with a default prompt ("Sorry, I didn't understand that, could you please say it again?). These prompts can be overridden in the Slang Console.
Customizing the UI
Turning on/off Slang UI
Sometimes it might be required to turn off Slang (for example, when in the login page). To do this, you can use the "show/hide" APIs.
Show/Hide the Slang Trigger
If you just want to hide the trigger and not the entire UI (say you want to trigger Slang programmatically), you can use the following APIs.
Others
Programmatically Changing the locale of Slang.
If you want to change the locale without the user explicitly selecting a locale from the Slang ui (for example when the user changes global application locale).
Mute/Unmute Slang.
If you want to toggle whether Slang should be mute or not you can use the toggleMute
API.
Note: Slang Starts unmuted
Improve Speech Recognition.
Hints tell Slang there is a higher probability of certain words occurring in this application. This helps improve the recognition quality of the end user's utterances for words that Slang's speech recognition might find it hard to recognize. Hints are a map of locale to an array of strings.
Start a conversation programmatically
If you want to programmatically start a conversation with a given statement instead of the welcome statement configured in the schema you can use the startConversation api.
isSpoken
is a boolean flag denoting if Slang will speak out the statement.
You can even start a new conversation from inside a action handler (in which case Slang queues the new conversation and starts it as soon as the current cycle is completed)
Last updated