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:
- maintaining a plurality of node profiles including a plurality of node field-value pairs, each node-field-value pair identifying a node field and one or more node values;
- accessing, 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 the CRM systems of record corresponding to a respective data source provider of the plurality of data source providers;
- generating 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 the 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;
- accessing, from a plurality of electronic accounts corresponding to member entities associated with a group entity, data corresponding to a plurality of first electronic activities, each first electronic activity of the plurality of first electronic activities accessible via a respective electronic account of a member entity belonging to the group entity;
- for each first electronic activity of the plurality of first electronic activities:
- identifying the group entity associated with the electronic account via which the first electronic activity is accessible;
- selecting a first filtering model based on the group entity, the first filtering model trained to indicate whether to restrict further processing of accessed electronic activities using first training data generated from a plurality of second electronic activities, each second electronic activity of the plurality of second electronic activities represented using a first plurality of structured data tags, at least one second electronic activity of the plurality of second electronic activities labeled to be restricted from further processing;
- generating a second plurality of structured data tags for the first electronic activity based on one or more keywords of the first electronic activity, one or more character strings of the first electronic activity satisfying a predetermined regular expression pattern, or one or more participants of the first electronic activity;
- applying the selected first filtering model to the second plurality of structured data tags for the first electronic activity to determine whether the first electronic activity satisfies a first restriction condition;
- determining a category to which the member entity belongs based on at least one value of a job title field, a seniority field or a department field of a first node profile of the plurality of node profiles corresponding to the member entity, the at least one value identified from electronic activities identifying the electronic account of the member entity;
- selecting a second filtering model based on the category of the member entity, the second filtering model trained to indicate whether to restrict further processing of accessed electronic activities using second training data generated from a plurality of third electronic activities, each third electronic activity of the plurality of third electronic activities represented using a third plurality of structured data tags, at least one third electronic activity of the plurality of third electronic activities labeled to be restricted from further processing;
- applying the selected second filtering model to the second plurality of structured data tags for the first electronic activity to determine whether the first electronic activity satisfies a second restriction condition;
- responsive to the first electronic activity satisfying the first restriction condition and not satisfying the second restriction condition, matching the first electronic activity to a local record object of the plurality of local record objects by comparing a first set of one or more activity-field value pairs of the first electronic activity to corresponding record object data stored in the local record object;
- and
- transmitting, to the one or more servers of the CRM system, instructions to cause the one or more servers to store an association between the first electronic activity and a CRM record object with which the local record object corresponds.