# US 2021/0243141 A1 · Application initiated conversations for chatbots

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0243141 A1
- Document ID: US20210243141A1
- Status: Published application
- Kind: A1
- Application number: 17/234,620
- Filed: 2021-04-19
- Published: 2021-08-05
- Earliest claimed: 2019-04-26
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Manish Parekh; King-Hwa Lee
- Web page: https://patentgrep.com/patent/US20210243141A1

## CPC

- H04L 51/02: using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
- H04L 51/046: Interoperability with other network applications or services
- H04L 51/212: using filtering or selective blocking
- H04L 51/216: Handling conversation history, e.g. grouping of messages in sessions or threads
- H04L 51/224: providing notification on incoming messages, e.g. pushed notifications of received messages
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques for described for invoking a chatbot in a chatbot system, in response to an event notification from a software application. The event notification can be sent to the chatbot system based on the software application determining that one or more conditions associated with an event are satisfied. In certain embodiments, the event notification contains information indicating a dialog flow state for starting a new conversation between a particular chatbot and a user. The event notification can also identify the user and/or the particular chatbot. In some instances, a prompt is output to the user requesting the user to confirm a start of the new conversation. Whether the prompt is output or not can depend on whether there is an existing conversation between the user and a chatbot in the chatbot system.

## Claims

### Claim 1

A method of operating a computer-implemented chatbot system, the method comprising:
receiving, by the computer-implemented chatbot system, an event notification from a software application;
based on information in the event notification, outputting, in an ongoing conversation between a first chatbot of the computer-implemented chatbot system and a user, a prompt requesting the user to confirm a start of a new conversation;
receiving user input comprising an indication to start the new conversation; and
starting, in the ongoing conversation, the new conversation between the user and a second chatbot of the computer-implemented chatbot system.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
identifying, by the computer-implemented chatbot system, the second chatbot based on an event identifier included in the event notification.

### Claim 3 (depends on 1)

The method of claim 1, wherein the software application is executed on a computer system remote from the computer-implemented chatbot system.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
identifying, by the computer-implemented chatbot system, the second chatbot based on a communication channel through which the event notification was received by the chatbot system, the communication channel being a channel created for sending communications between the second chatbot and the software application.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
identifying, by the computer-implemented chatbot system, the second chatbot based on a chatbot identifier included in the event notification.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
storing a dialog flow state of the ongoing conversation to a context stack for dialog flows that are not yet terminated.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
based on the received user input, suspending the ongoing conversation and starting the new conversation; and
outputting a second prompt to the user at an end of the new conversation, the second prompt requesting the user to confirm whether to resume the suspended conversation.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
identifying, by the computer-implemented chatbot system, the user based on a user identifier included in the event notification.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
determining an initial dialog flow state for the new conversation based on a stored association between the initial dialog flow state and an event identifier included in the event notification.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
determining, by the computer-implemented chatbot system, a value of a variable from the event notification; and
providing, by the computer-implemented chatbot system, the value of the variable as an input to the second chatbot, wherein a dialog flow state of the new conversation includes an action to be performed by the second chatbot or a message from the second chatbot to the user, and wherein the action to be performed or the message to the user depends on the value of the variable.

### Claim 11

A computer system comprising:
two or more chatbots, the two or more chatbots including a first chatbot and a second chatbot;
one or more processors; and
a memory coupled to the one or more processors, the memory storing a plurality of instructions that, when executed by the one or more processors, cause the one or more processors to perform processing comprising:
receiving an event notification from a software application;
based on information in the event notification, outputting, in an ongoing conversation between a first chatbot of the computer-implemented chatbot system and a user, a prompt requesting the user to confirm a start of a new conversation;
receiving user input comprising an indication to start the new conversation; and
starting, in the ongoing conversation, the new conversation between the user and the second chatbot.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein the instructions further cause the one or more processors to perform processing comprising:
identifying the second chatbot based on an event identifier included in the event notification.

### Claim 13 (depends on 11)

The computer system of claim 11, wherein the instructions further cause the one or more processors to perform processing comprising:
identifying the second chatbot based on a communication channel through which the event notification was received by the computer system, the communication channel being a channel created for sending communications between the second chatbot and the software application.

### Claim 14 (depends on 11)

The computer system of claim 11, wherein the instructions further cause the one or more processors to perform processing comprising:
identifying the second chatbot based on a chatbot identifier included in the event notification.

### Claim 15 (depends on 11)

The computer system of claim 11, wherein the instructions further cause the one or more processors to perform processing comprising:
storing a dialog flow state of the ongoing conversation to a context stack for dialog flows that are not yet terminated.

### Claim 16 (depends on 11)

The computer system of claim 11, wherein the instructions further cause the one or more processors to perform processing comprising:
based on the received user input, suspending the ongoing conversation and starting the new conversation; and
outputting a second prompt to the user at an end of the new conversation, the second prompt requesting the user to confirm whether to resume the suspended conversation.

### Claim 17 (depends on 11)

The computer system of claim 11, wherein the instructions further cause the one or more processors to perform processing comprising:
identifying the user based on a user identifier included in the event notification.

### Claim 18 (depends on 11)

The computer system of claim 11, wherein the instructions further cause the one or more processors to perform processing comprising:
determining the dialog flow state includes determining an initial dialog flow state for the new conversation based on a stored association between the initial dialog flow state and an event identifier included in the event notification.

### Claim 19 (depends on 11)

The computer system of claim 11, wherein the instructions further cause the one or more processors to perform processing comprising:
determining a value of a variable from the event notification; and
providing the value of the variable as an input to the second chatbot, wherein a dialog flow state of the new conversation includes an action to be performed by the second chatbot or a message from the second chatbot to the user, and wherein the action to be performed or the message to the user depends on the value of the variable.

### Claim 20

A non-transitory computer-readable memory storing instructions that, when executed by one or more processors of a computer-implemented chatbot system, cause the one or more processors to perform processing comprising:
receiving an event notification from a software application;
based on information in the event notification, outputting, in an ongoing conversation between a first chatbot of the computer-implemented chatbot system and a user, a prompt requesting the user to confirm a start of a new conversation;
receiving user input comprising an indication to start the new conversation; and
starting, in the ongoing conversation, the new conversation between the user and a second chatbot of the computer-implemented chatbot system.
