Programatically invokable conversational chatbot
The programmatical invocation of a chatbot is disclosed. An application may detect a trigger condition associated with user interaction with the application, and, in response, invoke a chatbot. During chatbot invocation, the application provides contextual information to the chatbot to select a conversational workflow and input data to populate the controls of the selected conversational workflow. The populated conversation workflow is then displayed to the user in a graphical user interface. The user may then provide user input to the conversational workflow. The chatbot advances the conversation based on the user input.
1 . A method for programmatically invoking a chatbot, comprising:
receiving, by a chatbot application in response to the satisfaction of a trigger condition comprising a user interaction with a first application violating a rule, contextual information associated with the user interaction;
selecting, by the chatbot application based on the contextual information, a conversational workflow comprising a control;
populating the contextual information into the control of the conversational workflow;
causing display of the populated conversational workflow in a graphical user interface (GUI) window;
receiving, via the GUI window, user input at the populated conversational workflow; and
advancing the populated conversational workflow based on the user input.
2 . The method of claim 1 , wherein the chatbot application determines an intent based on the contextual information, and selects the conversational workflow from a plurality of conversational workflows based on the determined intent.
3 . The method of claim 2 , wherein the chatbot application determines the intent based on natural language processing of the contextual information.
4 . The method of claim 1 , wherein said receiving contextual information comprises:
receiving, by the chatbot application, an attribute value that maps to an input field of the conversational workflow; and
wherein said causing the display of the populated conversational workflow comprises:
causing the display of the input field of the conversational workflow prepopulated with the attribute value.
5 . The method of claim 1 , wherein the chatbot application:
transmits a request to a remote service based on the contextual information;
receives a response to the request; and
populates the control of the conversational workflow based on the response.
6 . The method of claim 1 , further comprising:
causing display to a user, in response to the satisfaction of the trigger condition, a deep link capable of invoking the chatbot application in response to interaction with the deep link, the deep link including the contextual information; and
wherein said receiving contextual information is performed in response to selection of the deep link by the user.
7 . The method of claim 1 , wherein the trigger condition comprises at least one of:
an error condition;
a business rule condition;
an invalid user input condition; or
an idle timer condition.
8 . A system for programmatically invoking a chatbot, comprising:
a processor;
a computer-readable storage medium comprising executable instructions that, when executed by the processor, cause the processor to:
receive, by a chatbot application in response to the satisfaction of a trigger condition comprising a user interaction with a first application violating a rule, contextual information associated with the user interaction;
select, by the chatbot application based on the contextual information, a conversational workflow comprising a control;
populate the contextual information into the control of the conversational workflow;
cause display of the populated conversational workflow in a graphical user interface (GUI) window;
receive, via the GUI window, user input at the populated conversational workflow; and
advance the conversational workflow based on the user input.
9 . The system of claim 8 , wherein the chatbot application determines an intent based on the transmitted contextual information, and selects the conversational workflow from a plurality of conversational workflows based on the determined intent.
10 . The method of claim 2 , wherein the chatbot application determines the intent based on natural language processing of the contextual information.
11 . The system of claim 8 , wherein, to receive the contextual information, the executable instructions, when executed by the processor, cause the processor to:
receive, by the chatbot application, an attribute value that maps to an input field of the conversational workflow; and
wherein, to cause display of the populated conversational workflow, the executable instructions, when executed by the processor, cause the processor to:
cause display of the input field of the conversational workflow prepopulated with the attribute value.
12 . The system of claim 8 , wherein the chatbot application:
transmits a request to a remote service based on the contextual information;
receives a response to the request; and
populates the control of the conversational workflow based on the response.
13 . The system of claim 8 , wherein the executable instructions, when executed by the processor, further cause the processor to:
cause display to a user, in response to the satisfaction of the trigger condition, a deep link capable of invoking the chatbot application in response to interaction with the deep link, the deep link including the contextual information; and
wherein said receive the contextual information is performed in response to selection of the deep link by the user.
14 . The system of claim 8 , wherein the trigger condition comprises one or more of:
an error condition;
a business rule condition;
an invalid user input condition; or
an idle timer condition.
15 . A computer-readable storage medium comprising executable instructions that, when executed by a processor, cause the processor to:
receive, by a chatbot application in response to the satisfaction of a trigger condition comprising a user interaction with a first application violating a rule, contextual information associated with the user interaction;
select, by the chatbot application based on the contextual information, a conversational workflow comprising a control;
populate the contextual information into the control of the conversational workflow;
cause display of the populated conversational workflow in a graphical user interface (GUI) window;
receive, via the GUI window, user input at the populated conversational workflow; and
advance the conversational workflow based on the user input.
16 . The computer-readable storage medium of claim 15 , wherein the chatbot application determines an intent based on the transmitted contextual information, and selects the conversational workflow from a plurality of conversational workflows based on the determined intent.
17 . The computer-readable storage medium of claim 15 , wherein the chatbot service determines the intent based on natural language processing of the contextual information.
18 . The computer-readable medium of claim 15 , wherein, to receive the contextual information, the executable instructions, when executed by the processor, cause the processor to:
receive, by the chatbot application, an attribute value that maps to an input field of the conversational workflow; and
wherein, to cause display of the populated conversational workflow, the executable instructions, when executed by the processor, cause the processor to:
cause display of the input field of the conversational workflow prepopulated with the attribute value.
19 . The computer-readable storage medium of claim 15 , wherein the executable instructions, when executed by the processor, further cause the processor to:
cause display to a user, in response to the satisfaction of the trigger condition, a deep link capable of invoking the chatbot application in response to interaction with the deep link, the deep link including the contextual information; and
wherein said receive the contextual information is performed in response to selection of the deep link by the user.
20 . The computer-readable storage medium of claim 15 , wherein the trigger condition comprises one or more of:
an error condition;
a business rule condition;
an invalid user input condition; or
an idle timer condition.