US 11,887,599 B2
Configurable conversation engine for executing customizable chatbots
Xinyi Yang, San Mateo, CA (US); Tian Xie, Los Altos, CA (US); Caiming Xiong, Menlo Park, CA (US); Wenhao Liu, Redwood City, CA (US); Huan Wang, Fremont, CA (US); Kazuma Hashimoto, Menlo Park, CA (US); Yingbo Zhou, Palo Alto, CA (US); Xugang Ye, Bellevue, WA (US); Jin Qu, Sunnyvale, CA (US); and Feihong Wu, Santa Clara, CA (US)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by Salesforce, Inc., San Francisco, CA (US)
Filed on Feb. 10, 2023, as Appl. No. 18/108,434.
Application 18/108,434 is a continuation of application No. 17/037,556, filed on Sep. 29, 2020, granted, now 11,580,977.
Prior Publication US 2023/0186916 A1, Jun. 15, 2023
Int. Cl. G10L 15/22 (2006.01); G10L 15/16 (2006.01); G10L 15/26 (2006.01); G10L 15/30 (2013.01)
CPC G10L 15/22 (2013.01) [G10L 15/16 (2013.01); G10L 15/26 (2013.01); G10L 15/30 (2013.01); G10L 2015/223 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method performed by a conversation engine configured to execute chatbots, the method comprising:
receiving by a chatbot, a first user utterance;
determining a first intent of the first user utterance;
determining whether the first intent indicates a request for a first task;
recording the first task in a data structure configured to store data associated with tasks;
executing the first task by performing an action by the chatbot;
before completing the first task, receiving a second user utterance;
determining a second intent of the second user utterance;
determining whether the second intent indicates a response to the action performed by the chatbot or a request for a second task;
responsive to determining that the second intent indicates the request for the second task, recording the second task in the data structure;
responsive to completion of the first task, checking the data structure to determine whether there is a pending task that is incomplete; and
responsive to determining that the second task is incomplete, executing the second task.