Salesforce Technical Integration Overview
What is Engagio
Engagio is a Marketing Technology application built to help deliver aggregated insights to Marketing and Sales teams that are "account-based".
We aggregate together accounts, people, and activity from Salesforce, Marketing Automation Systems, your Website and more to paint the full picture of what's happening for everyone.
The backbone of of our platform is a bi-directional sync with Salesforce, where we can ingest new data, then push our aggregated insights to the relevant accounts, leads, and contacts.
The Technical Overview of how data from Salesforce syncs over to Engagio and vice versa is outlined below.
We support connecting to Salesforce via their standard OAuth flow, or with a username, password, and security token.
Data from Salesforce will sync into Engagio via the REST API.
Engagio queries Salesforce for all accounts, contacts, leads, tasks, events, etc. that have a last modified date exceeding the datetime since we last completed a sync.
By default, Engagio syncs 2,000 records per one API call.
The cron job responsible for starting this sync at a specific time is configurable on this Engagio admin page. This "job" allows us to have all accounts, contacts, and leads in the Engagio database. We are only reading data when this job runs.
Data from Engagio will sync into Salesforce using the Salesforce SOAP API via Bulk Data Load Jobs.
Data from Engagio will sync into Salesforce using the Salesforce SOAP API via Bulk Data Load Jobs. Engagio will pass data to Salesforce for the account, lead and contact objects ONLY when it detects a difference between the calculated state in Engagio and the previous field values in Salesforce AND the account associated with the record exists in Engagio.
In this way, we only push meaningful updates that contain changes to these objects each night.
The cron job responsible for starting the writeback process is independent of the job described above and can be configured on a per-customer basis. If you would like to set this job to run at a specific time, you can email our support team at email@example.com.
We have documentation that lists out all the relevant fields we may potentially writeback to. You'll want to navigate towards the bottom of the page to a section titled "List of Fields to add for each object"
We also have a Medium blog post on how to triage Bulk Data Load Jobs: https://medium.com/@successengineer/how-to-export-bulk-data-load-jobs-data-in-salesforce-600de5608f83
Lead to Account Matching
Lead to Account Matching is a separate process that is running every 5 minutes that matches newly created leads to accounts in Salesforce. We do a query for new leads, try to match them to an account on the Engagio side, and then update our "Matched Account" Account Lookup field with a bulk data load job based on the match results.
As a result of this separate job running, you will see several smaller updates to the Lead Object throughout the day.