US 11,893,427 B2
Method for determining and notifying users of pending activities on CRM data
Mahesh Subedi, Sunnyvale, CA (US)
Assigned to CLARI INC., Sunnyvale, CA (US)
Filed by Clari Inc., Sunnyvale, CA (US)
Filed on Apr. 30, 2019, as Appl. No. 16/398,963.
Application 16/398,963 is a continuation in part of application No. 16/163,519, filed on Oct. 17, 2018.
Prior Publication US 2020/0125424 A1, Apr. 23, 2020
Int. Cl. G06F 9/54 (2006.01); G06Q 10/107 (2023.01); G06N 20/00 (2019.01); G06N 3/08 (2023.01); G06Q 10/0631 (2023.01)
CPC G06F 9/542 (2013.01) [G06N 3/08 (2013.01); G06N 20/00 (2019.01); G06Q 10/063114 (2013.01); G06Q 10/107 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method for identifying and notifying users of pending emails, the method comprising:
retrieving, by a cloud server, task metadata describing a task pending to be completed from a task database hosted by a task management server over a network, the task management server being a different server than the cloud server, wherein the task metadata includes source contact information and target contact information associated with the task;
determining, based on the task metadata, a plurality of user identifiers (IDs) identifying one or more source contacts and one or more target contacts associated with the task;
retrieving, from a persistent storage device, a source set of activity identification rules and a target set of activity identification rules;
determining one or more source email domains for the one or more source contacts based on the source contact information and the source set of activity identification rules;
determining one or more target email domains for the one or more target contacts based on the target contact information and the target set of activity identification rules;
accessing an email server over the network to retrieve email metadata based on the one or more source email domains and the one or more target email domains, the email server being a separate server than the cloud server and the task management server, the email metadata describing a plurality of emails associated with the task;
identifying a plurality of email threads associated with the task from the plurality of emails based on the email metadata, each email thread including one or more emails exchanged between one of the one or more source contacts and one or more of the one or more target contacts;
for each of the plurality of email threads associated with the task,
identifying, within the email thread and based on a timestamp of the email, a latest email that was sent by a user ID associated with one of the one or more target email domains,
determining that the latest email has not been replied to by a user ID associated with any one of the one or more source email domains,
subsequent to the determining that the latest email has not been replied to by the user ID, retrieving a body of the latest email from the email server,
performing a content analysis on content of the body of the latest email using a machine-learning model to determine whether the latest email needs a response, and
transmitting a notification to one or more source email addresses associated with the task in response to determining that the latest email needs a response; and
creating a list of emails from the plurality of email threads associated with the task based on the notification associated with each email thread, wherein the list of emails includes only one email from each of one or more of the plurality of email threads associated with the task, wherein each email in the list of emails has been determined to need a response; and
sending the list of emails to a client device, wherein the client device displays the list of emails in a graphical user interface for a user to respond to, and periodically alerts the user of any email in the list of emails that the user needs to respond to.