IP Library Granted Patent US 10,496,636
Granted Patent B1
US 10,496,636 · App. 16/418,769 · Granted Dec 3, 2019

Systems and methods for assigning labels based on matching electronic activities to record objects

Inventors: Oleg Rogynskyy (Menlo Park, CA); Stefan Hermanek (San Francisco, CA); Dylan Halladay (San Francisco, CA); Ostap Korkuna (San Carlos, CA); Jose Alberto Muniz Navarro (Foster City, CA)
Assignee: PEOPLE.AI, INC.
G06F16/2379G06F16/212G06F16/2272G06F16/288
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 10,496,636
App. No.
16/418,769
Granted
Dec 3, 2019
Kind
B1
Abstract

The present disclosure relates to assigning labels based on matching electronic activities to record objects. Electronic activities of one or more data source providers may be accessed. Each electronic activity may be matched with a record object of a system of record of the one or more data source providers. Record objects matching electronic activities may be identified. Values from object field-value pairs of the matching record objects may be extracted. Labels may be selected based on the extracted values. Associations between electronic activities and the selected labels may be stored.

Claims (75)

1. A method, comprising:

accessing, by one or more processors, data from a plurality of electronic activities transmitted or received via electronic accounts associated with one or more data source providers;

identifying, by the one or more processors, a record object matched with or with which to match a first electronic activity of the plurality of electronic activities;

determining, by the one or more processors, a record object type of the record object that corresponds to a first record object type or a second record object type, the first record object type corresponding to a process and including a stage field including a stage value indicating a proximity to a completion of the process and the second record object type corresponding to a participant of the first electronic activity;

responsive to determining that the record object type is the first record object type,

extracting, by the one or more processors, the stage value corresponding to the stage field of the record object;

selecting, by the one or more processors, a first label based on the extracted stage value and a labeling policy, the labeling policy including a first set of one or more rules or models to associate labels based on stage values of record objects corresponding to the first record object type; and

storing, by the one or more processors, in one or more data structures, an association between the first electronic activity and the selected first label corresponding to the stage value of the record object; and

responsive to determining that the record object type is the second record object type,

determining, by the one or more processors, by parsing the first electronic activity or by identifying at least one value corresponding to a title field or department field of the record object, a first value corresponding to a title of the participant or a department of the participant;

selecting, by the one or more processors, a second label based on the determined first value corresponding to the title of the participant or the department of the participant and the labeling policy, the labeling policy including a second set of one or more rules or models to associate labels based on titles or departments of participants of electronic activities corresponding to record objects of the second record object type; and

storing, by the one or more processors, in the one or more data structures, an association between the first electronic activity and the selected second label corresponding to the first value corresponding to the title of the participant or the department of the participant.

2. The method of claim 1 , wherein storing the association between the first electronic activity and the selected first label comprises storing, by the one or more processors, in the one or more data structures, an association between the record object, the first electronic activity and the selected first label; or

wherein storing the association between the first electronic activity and the selected second label comprises storing, by the one or more processors, in the one or more data structures, an association between the record object, the first electronic activity and the selected second label.

3. The method of claim 1 , further comprising:

determining, by the one or more processors, a change to the stage value of the record object;

selecting, by the one or more processors, using the labeling policy, a third label responsive to determining the change in the value of the stage field of the record object; and

storing, by the one or more processors, in the one or more data structures, an association between the electronic activity and the third label.

4. The method of claim 1 , further comprising:

determining, by the one or more processors, a second stage value corresponding to the stage field of the record object;

selecting, by the one or more processors, using the labeling policy, a third label responsive to determining the second stage value; and

storing, by the one or more processors, in the one or more data structures, an association between the electronic activity, the first label and the third label.

5. The method of claim 1 , further comprising:

selecting, by the one or more processors, the selected first label based on at least one of a time of completion of the process or a likelihood of completion of the process.

6. The method of claim 5 , further comprising:

determining, by the one or more processors, a change of the at least one of the time of completion or the likelihood of completion based on the first electronic activity; and

generating, by the one or more processors, the selected first label based on the change.

7. The method of claim 1 , further comprising:

determining, by the one or more processors, a change in the stage value of the stage field of the record object; and

generating, by the one or more processors, the selected label based on the change in the stage value of the stage field.

8. The method of claim 1 , further comprising:

determining, by the one or more processors, responsive to identifying the record object with which to match the electronic activity, context relating to the electronic activity, the context determined from one or more second electronic activities matched to the record object; and

generating by the one or more processors, a tag based on the context.

9. A system comprising:

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

access data from a plurality of electronic activities transmitted or received via electronic accounts associated with one or more data source providers;

identify a record object matched with or with which to match a first electronic activity of the plurality of electronic activities;

determine a record object type of the record object that corresponds to a first record object type or a second record object type, the first record object type corresponding to a process and including a stage field including a stage value indicating a proximity to a completion of the process and the second record object type corresponding to a participant of the first electronic activity;

responsive to determining that the record object type is the first record object type,

extract the stage value corresponding to the stage field of the record object;

select a first label based on the extracted stage value and a labeling policy, the labeling policy including a first set of one or more rules or models to associate labels based on stage values of record objects corresponding to the first record object type; and

store, in one or more data structures, an association between the first electronic activity and the selected first label corresponding to the stage value of the record object; and

responsive to determining that the record object type is the second record object type,

determine, by parsing the first electronic activity or by identifying at least one value corresponding to a title field or department field of the record object, a first value corresponding to a title of the participant or a department of the participant;

select a second label based on the determined first value corresponding to the title of the participant or the department of the participant and the labeling policy, the labeling policy including a second set of one or more rules or models to associate labels based on titles or departments of participants of electronic activities corresponding to record objects of the second record object type; and

store, in the one or more data structures, an association between the first electronic activity and the selected second label corresponding to the first value corresponding to the title of the participant or the department of the participant.

10. The system of claim 9 , wherein the one or more processors store, in the one or more data structures, an association between the record object, the first electronic activity and the selected first label; or wherein the one or more processors store, in the one or more data structures, an association between the record object, the first electronic activity and the selected second label.

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

determine a change to the stage value of the record object;

select using the labeling policy, a third label responsive to determining the change in the value of the stage field of the record object; and

store in the one or more data structures, an association between the electronic activity and the third label.

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

determine a second stage value corresponding to the stage field of the record object;

select, using the labeling policy, a third label responsive to determining the second stage value; and

store, in the one or more data structures, an association between the electronic activity, the first label and the third label.

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

select the selected first label based on at least one of a time of completion of the process or a likelihood of completion of the process.

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

determine a change of the at least one of the time of completion or the likelihood of completion based on the first electronic activity; and

generate the selected first label based on the change.

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

determine a change in the stage value of the stage field of the record object; and

generate the selected label based on the change in the stage value of the stage field.

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

accessing data from a plurality of electronic activities transmitted or received via electronic accounts associated with one or more data source providers;

identifying a record object matched with or with which to match a first electronic activity of the plurality of electronic activities;

determining a record object type of the record object that corresponds to a first record object type or a second record object type, the first record object type corresponding to a process and including a stage field including a stage value indicating a proximity to a completion of the process and the second record object type corresponding to a participant of the first electronic activity;

responsive to determining that the record object type is the first record object type,

extracting the stage value corresponding to the stage field of the record object;

selecting a first label based on the extracted stage value and a labeling policy, the labeling policy including a first set of one or more rules or models to associate labels based on stage values of record objects corresponding to the first record object type; and

storing, in one or more data structures, an association between the first electronic activity and the selected first label corresponding to the stage value of the record object; and

responsive to determining that the record object type is the second record object type,

determining, by parsing the first electronic activity or by identifying at least one value corresponding to a title field or department field of the record object, a first value corresponding to a title of the participant or a department of the participant;

selecting a second label based on the determined first value corresponding to the title of the participant or the department of the participant and the labeling policy, the labeling policy including a second set of one or more rules or models to associate labels based on titles or departments of participants of electronic activities corresponding to record objects of the second record object type; and

storing, in the one or more data structures, an association between the first electronic activity and the selected second label corresponding to the first value corresponding to the title of the participant or the department of the participant.

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 Jun 12, 2019
From: ROGYNSKYY, OLEG; HERMANEK, STEFAN; HALLADAY, DYLAN; KORKUNA, OSTAP; NAVARRO, JOSE ALBERTO MUNIZ
To: PEOPLE.AI, INC.
Reel/Frame 049450/0515 →
Continuity (3)
Provisional Application 62676187 · May 24, 2018
Provisional Application 62725999 · Aug 31, 2018
Provisional Application 62747452 · Oct 18, 2018