IP Library Granted Patent US 11,265,390
Granted Patent B2
US 11,265,390 · App. 16/695,082 · Granted Mar 1, 2022

Systems and methods for detecting events based on updates to node profiles from electronic activities

Inventors: John Wulf (San Francisco, CA); Sathya Hariesh Prakash (San Francisco, CA); Yurii Brunets (Burlingame, CA); Oleg Rogynskyy (Menlo Park, CA); Rajit Kurien Joseph (San Francisco, CA); Yury Markovsky (San Francisco, CA)
Assignee: People.ai, Inc.
H04L67/22G06F7/14G06F11/3024G06F11/3452G06F11/3495G06F16/122G06F16/178G06F16/1734G06F16/212G06F16/215G06F16/219G06F16/22G06F16/221G06F16/2228G06F16/2264G06F16/2272G06F16/23G06F16/235G06F16/2365G06F16/2379G06F16/2386G06F16/245G06F16/2457G06F16/2477G06F16/24558G06F16/24564G06F16/24575G06F16/24578G06F16/254G06F16/256G06F16/26G06F16/27G06F16/273G06F16/28G06F16/285G06F16/288G06F16/289G06F16/29G06F16/313G06F16/337G06F16/355G06F16/901G06F16/906G06F16/9024G06F16/9035G06F16/90344G06F16/9535G06F21/6218G06F21/6245G06F40/20G06F40/237G06F40/295G06N3/08G06N5/025G06N5/04G06N7/02G06Q10/04G06Q10/06312G06Q10/06315G06Q10/06393G06Q10/06398G06Q10/063114G06Q10/107G06Q10/109G06Q10/1091G06Q10/1095G06Q50/22G16H50/20H04L41/14H04L43/026H04L43/045H04L43/062H04L43/065H04L43/067H04L43/0876H04L43/14H04L51/046H04L51/12H04L51/22H04L51/34H04L61/15H04L67/125H04L67/30H04L67/303H04L67/306H04M3/436H04M15/755G06F40/205G06N20/00G06Q10/10G16H15/00G16H50/30H04L12/1407H04L61/307H04M3/2218H04M3/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,265,390
App. No.
16/695,082
Granted
Mar 1, 2022
Kind
B2
Abstract

The present disclosure relates to methods, systems, and storage media for detecting events based on updates to node profiles from electronic activities. Exemplary implementations may access an electronic activity transmitted or received via an electronic account associated with a data source provider; generate a plurality of activity field-value pairs; maintain a plurality of node profiles; identify a first state of a first node profile of the plurality of node profiles; update the first node profile using the electronic activity; identify a second state of the first node profile subsequent to updating the first node profile using the electronic activity; detect a state change of the first node profile based on the first state and the second state; determine that the state change satisfies an event condition; and store an association between the first node profile and an event type corresponding to the event condition.

Claims (67)

1. A method, comprising:

maintaining, by one or more processors, in one or more data structures, a plurality of node profiles, each node profile of the plurality of node profiles including one or more node field-value pairs, each node field-value pair including a node value associated with a node field;

parsing, by the one or more processors, a first electronic activity of a plurality of electronic activities to generate one or more activity field-value pairs, the first electronic activity transmitted or received via an electronic account of a first participant of a plurality of participants identified in the first electronic activity;

comparing, by the one or more processors, the one or more activity field-value pairs to one or more node field-value pairs of the first node profile to determine a match score, the first node profile corresponding to a participant of the plurality of participants identified in the first electronic activity;

matching, by the one or more processors, the first electronic activity to the first node profile based on the match score satisfying a threshold;

updating, by the one or more processors, responsive to comparing a first activity field-value pair corresponding to the company name field that is generated from the first electronic activity to the one or more node field-value pairs of the first node profile, the first node profile by adding or updating a first node field-value pair corresponding to a company name field of the first node profile using the first activity field-value pair;

determining, by the one or more processors, responsive to determining that the first node field-value pair corresponds to the company name field of the first node profile, a job change event based on an event detection policy for identifying events based on updates to a value of the one or more node field-value pairs corresponding to the company name field of node profiles of the plurality of node profiles;

storing, by the one or more processors, responsive to determining the job change event, in the one or more data structures, an association between the first node profile and the job change event;

identifying, by the one or more processors, a system of record including at least one record object associated with the first node profile; and

transmitting, by the one or more processors, to the system of record, instructions corresponding to the job change event to update at least one value of the at least one record object of the system of record associated with the first node profile.

2. The method of claim 1 , wherein the system of record is one of a plurality of systems of record and further comprising:

storing, by the one or more processors, in the one or more data structures, a second association between the first node profile and each record object of one or more record objects of the plurality of systems of record; and

transmitting, by the one or more processors, the instructions corresponding to the job change event to update one or more values of each record object of the one or more record objects of the plurality of systems of record.

3. The method of claim 1 , further comprising:

determining, by the one or more processors, from the first electronic activity, at least one of a time or a date corresponding to the first electronic activity; and

storing, by the one or more processors, in the one or more data structures, a second association between the first node profile, the job change event, and the time or the date corresponding to the first electronic activity.

4. The method of claim 1 , further comprising:

identifying, by the one or more processors, a first record object of the system of record linked to a second record object of the system of record, the first record object corresponding to the first node profile and identifying a process and a stage value identifying a stage of the process; and

transmitting, by the one or more processors, a notification identifying the first record object to a user corresponding to the first record object.

5. The method of claim 4 , further comprising storing, by the one or more processors, in the one or more data structures, a third association between the first node profile and a second node profile corresponding to the user based on one or more second electronic activities between one or more first electronic accounts of the first node profile and one or more second electronic accounts of the second node profile.

6. The method of claim 1 , further comprising:

updating, by the one or more processors, based on the first electronic activity, the first node profile to add a second node field-value pair corresponding to at least one of a title field, a seniority field, or a department field;

determining, by the one or more processors, responsive to determining that the second node field-value pair corresponds to the title field, the seniority field, or the department field, a title change event based on the event detection policy; and

storing, by the one or more processors, in the one or more data structures, a third association between the first node profile and the title change event.

7. The method of claim 6 , further comprising transmitting, by the one or more processors, to the system of record, instructions corresponding to the title change event to update a second value of the at least one record object of the system of record associated with the first node profile.

8. The method of claim 1 , further comprising:

updating, by the one or more processors, one or more electronic account identifiers corresponding to the first node profile;

identifying, by the one or more processors, a first record object of the system of record linked to a second record object of the system of record corresponding to the first node profile, the first record object corresponding to the first node profile and identifying a process and a stage value identifying a stage of the process; and

transmitting, by the one or more processors, a notification identifying the first record object to a user corresponding to the first record object.

9. A system comprising:

one or more processors configured by machine-readable instructions to:

access data of a plurality of electronic activities transmitted or received via a plurality of electronic accounts;

maintain, in one or more data structures, a plurality of node profiles, each node profile of the plurality of node profiles including one or more node field-value pairs, each node field-value pair including a node value associated with a node field;

parse, a first electronic activity of a plurality of electronic activities to generate one or more activity field-value pairs, the first electronic activity transmitted or received via an electronic account of a first participant of a plurality of participants identified in the first electronic activity;

comparing the one or more activity field-value pairs to one or more node field-value pairs of the first node profile to determine a match score, the first node profile corresponding to a participant of the plurality of participants identified in the first electronic activity;

matching, the first electronic activity to the first node profile based on the match score satisfying a threshold;

update, responsive to comparing the a first activity field-value pair corresponding to the company name field that is generated from the first electronic activity to the one or more node field-value pairs of the first node profile, the first node profile by adding or updating a first node field-value pair corresponding to a company name field of the first node profile using the first activity field-value pair;

determine, responsive to determining that the first node field-value pair corresponds to the company name field of the first node profile, a job change event based on an event detection policy for identifying events based on adding node field-value pairs corresponding to the company name field of node profiles of the plurality of node profiles;

store, responsive to determining the job change event, in the one or more data structures, an association between the first node profile and the job change event;

identify a system of record including at least one record object associated with the first node profile; and

transmit, to the system of record, instructions corresponding to the job change event to update at least one setting of the at least one record object of the system of record associated with the first node profile.

10. The system of claim 9 , wherein the system of record is included in a plurality of systems of record and wherein the one or more processors are configured to:

store a second association between the first node profile and each record object of one or more record objects of the plurality of systems of record; and

transmit the instructions corresponding to the job change event to update one or more values of each record object of the one or more record objects of the plurality of systems of record.

11. The system of claim 10 , wherein the one or more processors are configured to:

determine, from the first electronic activity, at least one of a time or a date corresponding to the first electronic activity; and

store, in the one or more data structures, a second association between the first node profile, the job change event, and the time or the date corresponding to the first electronic activity.

12. The system of claim 9 , wherein the one or more processors are configured to:

identify a first record object linked to a second record object corresponding to the first node profile, the first record object identifying a process and a stage value identifying a stage of the process; and

transmit a notification identifying the first record object to a user corresponding to a second node profile of the plurality of node profiles, the one or more processors configured to store, in the one or more data structures, a third association between the first node profile and the second node profile.

13. The system of claim 12 , wherein the one or more processors are configured to store the third association between the first node profile and the second node profile corresponding to the user based on one or more second electronic activities between one or more first electronic accounts of the first node profile and one or more second electronic accounts of the second node profile.

14. The system of claim 9 , wherein the one or more processors are configured to:

update, based on the first electronic activity, the first node profile to add a second node field-value pair corresponding to at least one of a title field, a seniority field, or a department field;

determine, responsive to determining that the second node field-value pair corresponds to the title field, the seniority field, or the department field, a title change event based on the event detection policy; and

store, in the one or more data structures, a third association between the first node profile and the title change event.

15. The system of claim 14 , wherein the one or more processors are further configured to transmit, to the system of record, instructions corresponding to the title change event to update a second value of the at least one record object of the system of record associated with the first node profile.

16. A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to:

access data of a plurality of electronic activities transmitted or received via a plurality of electronic accounts;

maintain, in one or more data structures, a plurality of node profiles, each node profile of the plurality of node profiles including one or more node field-value pairs, each node field-value pair including a node value associated with a node field;

parse, a first electronic activity of a plurality of electronic activities to generate one or more activity field-value pairs, the first electronic activity transmitted or received via an c electronic account of a first participant of a plurality of participants identified in the first electronic activity;

comparing the one or more activity Feld-value pairs to one or more node field-value pairs of the first node profile to determine a match score, the first node profile corresponding to a participant of the plurality of participants identified in the first electronic activity;

matching, the first electronic activity to the first node profile based on the match score satisfying a threshold;

update, responsive to comparing a first activity field-value pair corresponding to the company name field that is generated from the first electronic activity to the one or more node field-value pairs of the first node profile, the first node profile by adding or updating a first node field-value pair corresponding to a company name field of the first node profile using the first activity field-value pair;

determine, responsive to determining that the first node field-value pair corresponds to the company name field of the first node profile, a job change event based on an event detection policy including one or more rules for identifying events based on adding node field-value pairs corresponding to the company name field of node profiles of the plurality of node profiles;

store, responsive to determining the job change event, in the one or more data structures, an association between the first node profile and the job change event;

identify a system of record including at least one record object associated with the first node profile; and

transmit, to the system of record, instructions corresponding to the job change event to update at least one setting of the at least one record object of the system of record associated with the first node profile.

Assignments (2)
SECURITY INTEREST Recorded Jan 19, 2023
From: PEOPLE.AI, INC.
To: BANK OF MONTREAL, AS ADMINISTRATIVE AGENT
Reel/Frame 062435/0828 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2019
From: WULF, JOHN; PRAKASH, SATHYA HARIESH; BRUNETS, YURII; ROGYNSKYY, OLEG; JOSEPH, RAJIT KURIEN; MARKOVSKY, YURY
To: PEOPLE.AI, INC.
Reel/Frame 051150/0151 →
Continuity (15)
Continuation PCTUS2019034033 · May 24, 2019
Continuation PCTUS2019034042 · May 24, 2019
Continuation PCTUS2019034068 · May 24, 2019
Continuation PCTUS2019034050 · May 24, 2019
Continuation PCTUS2019034070 · May 24, 2019
Continuation PCTUS2019034030 · May 24, 2019
Continuation PCTUS2019034052 · May 24, 2019
Continuation PCTUS2019034045 · May 24, 2019
Continuation PCTUS2019034062 · May 24, 2019
Continuation PCTUS2019034046 · May 24, 2019
Continuation 16371042 · Mar 31, 2019
Provisional Application 62747452 · Oct 18, 2018
Provisional Application 62725999 · Aug 31, 2018
Provisional Application 62676187 · May 24, 2018
Related Publication 20200097474A1 · Mar 26, 2020