Table of Contents |
---|
The prehook is a middleware introduced to customize the payload before sending in the request to the intent nodes.
All the intent type requests except for launch, session end, listener event nodes can trigger the prehook nodes based on the configuration.
Pre Hook Request node
Before triggering the intent, the Pre Hook Request node will be triggered.
Name - Custom name given to the node.
Skill - The project name.
Intent - You can choose the intents for which this Pre hook request node should be triggered. The Prehook request node will be triggered for the intents listed in this field irrespective of the state.
Prehook handler
To handle the requests from the prehook, place the below code in the function node after the Pre Hook Request node.
Code Block |
---|
msg.payload.handleRequest = false;
msg.payload.preHookData = {name: 'arun'};
return msg; |
The msg.payload.handleRequest
takes boolean values.
If set to
true
, the corresponding intent will not get triggeredIf set
false
, the corresponding intent will get triggered appending the data stored inmsg.payload.preHookData
Pre Hook Response node
Name - Custom name given to the node.
Prehook usage
For example,
you can force an anonymous user to login to the chatbot for answering certain sensitive questions or
you can count the number of times the fallback intent is triggered or
you can redirect a user to use another flow when a specific intent is triggered.
In the below example, using
...
any intent will invoke the login directive if the user is not logged in.
When
...
any intent is invoked by the chatbot user, the prehook node is invoked and checks if the user is logged in or not. If the user is already logged in, the chatbot replies with the corresponding response for the intent. If the user is not logged in, the login directive will be invoked.
If an anonymous user, any intent he/she tries will invoke the login directive.
For a logged-in user, the chatbot will answer for the triggered intent.
Attachments |
---|
Related Articles
Filter by label (Content by label) | ||||||||
---|---|---|---|---|---|---|---|---|
|