A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method, the method comprising:
- accessing, via a connection with at least one server of a customer relationship management (CRM) system, a plurality of CRM objects of the CRM system corresponding to a data source provider, each CRM object of the plurality of CRM objects corresponding to a CRM object type and having one or more object field-value pairs, each object field-value pair of the CRM object associating an object field value to a corresponding object field of the CRM object;
- generating a plurality of local record objects, each local record object of the plurality of local record objects generated using data of a corresponding CRM object of the plurality of CRM objects, the plurality of local record objects maintained and updated by the one or more processors and used by the one or more processors to update the plurality of CRM objects of the CRM system;
- maintaining in one or more data structures stored in a memory coupled to the one or more processors, 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 of the node profile associating a node field value to a corresponding node field of the node profile, each node field-value pair associated with a data structure that includes one or more entries, each entry of the one or more entries including A) an identifier of i) a local record object of the plurality of local record objects of the CRM system or ii) an electronic activity that includes the node field value of the node field-value pair;
- B) a timestamp corresponding to when the local record object was last updated or when the electronic activity was transmitted or received;
- and C) a contribution score computed based on the timestamp;
- identifying a reference subset of node field-value pairs from the one or more node field-value pairs of the plurality of node profiles, each node field-value pair of the reference subset of node field-value pairs having a confidence score that satisfies a threshold and that indicates a likelihood that the node field-value pair is correct, wherein the confidence score of the node field-value pair of the reference subset is calculated using respective contribution scores of each entry of the one or more entries included in the data structure associated with the node field-value pair, wherein the reference subset includes a first node field-value pair of a first node profile corresponding to a first entity and a second node field-value pair of a second node profile corresponding to a second entity;
- for each node field-value pair included in the reference subset:
- identifying (i) an entity of the plurality of entities that corresponds to the node profile that includes the node field-value pair included in the reference subset and (ii) a particular local record object of the plurality of local record objects of the CRM system that corresponds to the entity;
- and
- comparing the node field-value pair included in the reference subset with a corresponding object field-value pair of the particular local record object of the plurality of local record objects to determine whether or not the node field-value pair included in the reference subset matches with the object field-value pair;
- responsive to comparing each node field-value pair included in the reference subset of node field-value pairs with the corresponding object field-value pair of the particular local record object of the plurality of local record objects:
- determining a first number of matches between the node field-value pairs included in the reference subset of node field-value pairs and corresponding object field-value pairs of the plurality of local record objects, and
- determining a first number of mismatches between the node field-value pairs included in the reference subset of node field-value pairs and the corresponding object field-value pairs of the plurality of local record objects;
- generating a trust score of the CRM system corresponding to the data source provider based on the first number of matches and the first number of mismatches, the trust score indicating a level of reliability of data included in the CRM system;
- identifying a first data point stored in a data structure corresponding to a first field-value pair of a first node profile of the plurality of node profiles, the first data point corresponding to the CRM system;
- determining a first contribution score for the first data point based on the trust score of the CRM system and a timestamp associated with the first data point;
- determining a first confidence score of the first field-value pair of the first node profile, using the first contribution score of the first data point;
- matching a first electronic activity to the first node profile based on the confidence score of the first field-value pair;
- matching the first electronic activity to a local record object of the plurality of local record objects using data from the first node profile to which the first electronic activity is matched;
- and
- transmitting, responsive to matching the first electronic activity to the local record object, to the at least one server of the CRM system, instructions to store an association between the first electronic activity and the CRM object corresponding to the local record object with which the first electronic activity is matched.