US 12,074,955 B2
Systems and methods for matching electronic activities with record objects based on entity relationships
Oleg Rogynskyy, Menlo Park, CA (US); Stefan Hermanek, San Francisco, CA (US); Dylan Halladay, San Francisco, CA (US); Ostap Korkuna, San Francisco, CA (US); and Jose Alberto Muniz Navarro, Foster City, CA (US)
Assigned to People.ai, Inc., Redwood City, CA (US)
Filed by People.ai, Inc., Redwood City, CA (US)
Filed on Oct. 8, 2022, as Appl. No. 17/962,475.
Application 17/962,475 is a continuation of application No. 16/716,221, filed on Dec. 16, 2019, granted, now 11,470,171.
Application 16/716,221 is a continuation of application No. 16/399,706, filed on Apr. 30, 2019, granted, now 10,509,786.
Claims priority of provisional application 62/747,452, filed on Oct. 18, 2018.
Claims priority of provisional application 62/725,999, filed on Aug. 31, 2018.
Claims priority of provisional application 62/676,187, filed on May 24, 2018.
Prior Publication US 2023/0053049 A1, Feb. 16, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/00 (2019.01); G06F 7/14 (2006.01); G06F 9/54 (2006.01); G06F 11/30 (2006.01); G06F 11/34 (2006.01); G06F 16/11 (2019.01); G06F 16/17 (2019.01); G06F 16/178 (2019.01); G06F 16/182 (2019.01); G06F 16/21 (2019.01); G06F 16/215 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/245 (2019.01); G06F 16/2455 (2019.01); G06F 16/2457 (2019.01); G06F 16/2458 (2019.01); G06F 16/25 (2019.01); G06F 16/26 (2019.01); G06F 16/27 (2019.01); G06F 16/28 (2019.01); G06F 16/29 (2019.01); G06F 16/31 (2019.01); G06F 16/335 (2019.01); G06F 16/35 (2019.01); G06F 16/901 (2019.01); G06F 16/903 (2019.01); G06F 16/9035 (2019.01); G06F 16/906 (2019.01); G06F 16/9535 (2019.01); G06F 21/62 (2013.01); G06F 40/20 (2020.01); G06F 40/237 (2020.01); G06F 40/295 (2020.01); G06N 3/08 (2023.01); G06N 5/025 (2023.01); G06N 5/04 (2023.01); G06N 7/02 (2006.01); G06Q 10/04 (2023.01); G06Q 10/0631 (2023.01); G06Q 10/0639 (2023.01); G06Q 10/107 (2023.01); G06Q 10/109 (2023.01); G06Q 10/1091 (2023.01); G06Q 10/1093 (2023.01); G06Q 50/22 (2018.01); G16H 50/20 (2018.01); H04L 41/14 (2022.01); H04L 43/00 (2022.01); H04L 43/026 (2022.01); H04L 43/045 (2022.01); H04L 43/062 (2022.01); H04L 43/065 (2022.01); H04L 43/067 (2022.01); H04L 43/0876 (2022.01); H04L 51/046 (2022.01); H04L 51/212 (2022.01); H04L 51/234 (2022.01); H04L 51/42 (2022.01); H04L 61/45 (2022.01); H04L 67/125 (2022.01); H04L 67/30 (2022.01); H04L 67/303 (2022.01); H04L 67/306 (2022.01); H04L 67/50 (2022.01); H04M 3/436 (2006.01); H04M 15/00 (2006.01); G06F 40/205 (2020.01); G06N 20/00 (2019.01); G06Q 10/10 (2023.01); G16H 15/00 (2018.01); G16H 50/30 (2018.01); H04L 12/14 (2006.01); H04L 101/00 (2022.01); H04L 101/35 (2022.01); H04L 101/37 (2022.01); H04M 3/22 (2006.01); H04M 3/56 (2006.01)
CPC H04L 67/535 (2022.05) [G06F 7/14 (2013.01); G06F 9/542 (2013.01); G06F 11/3024 (2013.01); G06F 11/3452 (2013.01); G06F 11/3495 (2013.01); G06F 16/122 (2019.01); G06F 16/1734 (2019.01); G06F 16/178 (2019.01); G06F 16/182 (2019.01); G06F 16/212 (2019.01); G06F 16/215 (2019.01); G06F 16/219 (2019.01); G06F 16/22 (2019.01); G06F 16/221 (2019.01); G06F 16/2228 (2019.01); G06F 16/2264 (2019.01); G06F 16/2272 (2019.01); G06F 16/23 (2019.01); G06F 16/235 (2019.01); G06F 16/2358 (2019.01); G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06F 16/2386 (2019.01); G06F 16/245 (2019.01); G06F 16/24558 (2019.01); G06F 16/24564 (2019.01); G06F 16/2457 (2019.01); G06F 16/24575 (2019.01); G06F 16/24578 (2019.01); G06F 16/2477 (2019.01); G06F 16/254 (2019.01); G06F 16/256 (2019.01); G06F 16/26 (2019.01); G06F 16/27 (2019.01); G06F 16/273 (2019.01); G06F 16/28 (2019.01); G06F 16/285 (2019.01); G06F 16/288 (2019.01); G06F 16/289 (2019.01); G06F 16/29 (2019.01); G06F 16/313 (2019.01); G06F 16/337 (2019.01); G06F 16/355 (2019.01); G06F 16/901 (2019.01); G06F 16/9024 (2019.01); G06F 16/90344 (2019.01); G06F 16/9035 (2019.01); G06F 16/906 (2019.01); G06F 16/9535 (2019.01); G06F 21/6218 (2013.01); G06F 21/6245 (2013.01); G06F 40/20 (2020.01); G06F 40/237 (2020.01); G06F 40/295 (2020.01); G06N 3/08 (2013.01); G06N 5/025 (2013.01); G06N 5/04 (2013.01); G06N 7/02 (2013.01); G06Q 10/04 (2013.01); G06Q 10/063114 (2013.01); G06Q 10/06312 (2013.01); G06Q 10/06315 (2013.01); G06Q 10/06393 (2013.01); G06Q 10/06398 (2013.01); G06Q 10/107 (2013.01); G06Q 10/109 (2013.01); G06Q 10/1091 (2013.01); G06Q 10/1095 (2013.01); G06Q 50/22 (2013.01); G16H 50/20 (2018.01); H04L 41/14 (2013.01); H04L 43/026 (2013.01); H04L 43/045 (2013.01); H04L 43/062 (2013.01); H04L 43/065 (2013.01); H04L 43/067 (2013.01); H04L 43/0876 (2013.01); H04L 43/14 (2013.01); H04L 51/046 (2013.01); H04L 51/212 (2022.05); H04L 51/234 (2022.05); H04L 51/42 (2022.05); H04L 61/45 (2022.05); H04L 67/125 (2013.01); H04L 67/30 (2013.01); H04L 67/303 (2013.01); H04L 67/306 (2013.01); H04M 3/436 (2013.01); H04M 15/755 (2013.01); G06F 40/205 (2020.01); G06N 20/00 (2019.01); G06Q 10/10 (2013.01); G16H 15/00 (2018.01); G16H 50/30 (2018.01); H04L 12/1407 (2013.01); H04L 2101/00 (2022.05); H04L 2101/35 (2022.05); H04L 2101/37 (2022.05); H04M 3/2218 (2013.01); H04M 3/56 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
accessing, by one or more processors, a plurality of electronic activities transmitted or received via electronic accounts of one or more data source providers;
accessing, by the one or more processors, from one or more servers of a customer relationship management (CRM) system, a plurality of CRM systems of record including a plurality of CRM record objects, each CRM record object of the plurality of CRM record objects corresponding to a record object type and comprising one or more object fields having one or more object field values, each respective CRM system of record of the plurality of CRM systems of record corresponding to a respective data source provider of the one or more data source providers;
generating, by the one or more processors, a plurality of local record objects corresponding to the plurality of CRM record objects, each respective local record object of the plurality of local record objects storing record object data obtained from a corresponding CRM record object, the record object data stored in the plurality of local record objects used by the data processing system for matching electronic activities to the plurality of local record objects;
identifying, by the one or more processors, an electronic activity of the plurality of electronic activities accessed from one or more servers of a first entity;
identifying, by the one or more processors, a first participant of the electronic activity associated with the first entity and a second participant of the electronic activity associated with a second entity;
parsing, by the one or more processors, the electronic activity to extract data for matching the electronic activity to one or more local record objects of the plurality of local record objects of the first entity;
responsive to parsing the electronic activity, determining, by the one or more processors, whether a record object identifier indicating a relationship between the first entity and the second entity is included in the electronic activity;
responsive to determining that the record object identifier is included in the electronic activity:
identifying, by the one or more processors, a first local record object of the plurality of local record objects that includes an instance of the record object identifier, the first local record object of a first record object type;
storing, by the one or more processors, a first association between the electronic activity and the first local record object; and
transmitting, by the data processing system, to the one or more servers of the CRM system, instructions to cause the one or more servers to store a second association between the electronic activity and a first CRM record object with which the first local record object corresponds; and
responsive to determining that the record object identifier is not included in the electronic activity:
determining, by the one or more processors, a second local record object of a second record object type corresponding to the second entity;
identifying, by the one or more processors, using a matching policy, a third local record object of the first record object type linked to the second local record object and identifying a third entity;
storing, by the one or more processors, the second association between the electronic activity and the third local record object; and
transmitting, by the data processing system, to the one or more servers of the CRM system, instructions to cause the one or more servers to store a third association between the electronic activity and a second CRM record object with which the third local record object corresponds.