Next Blog Post
The 10 Coolest Things You Can Send Prospects by Adding Direct Mail into Your Sequences
We’ve partnered with Sendoso to bring your sequences to life with the power of direct mail - at scale!
Bidirectional data synchronization is a hard problem, but also a vital component of a Sales Engagement Platform (SEP). It is the job of the SEP to provide a streamlined workflow for the seller–including task execution, email, calling, automation and intelligence–while seamlessly streaming events and updates back and forth with the CRM (Salesforce). In a sense, the SEP is the System of Action and the CRM is the System of Record. As such, it is important to ensure that the communication between these two systems is as robust and reliable as possible.
It can be difficult to evaluate the capabilities of a bidirectional data sync offering because there is no single dimension upon which to measure all of its capabilities. The purpose of this post is to shed light on some important topics that SFDC admins and potential buyers of SEP solutions should think deeply about before making purchasing decisions.
Moreover, from our experience with a wide range customers, from startups to well-established Enterprises, we know Salesforce configurations are distinct for each customer. It’s important to ensure that your system of action can accommodate your unique Salesforce configuration while maintaining all other systems in your sales technology infrastructure. To that end, this post also includes ways to empirically test how well an SEP solution holds up under all of these considerations. We strongly urge all potential buyers to think through all of these criteria and perform their own testing.
What happens when the same record changes in both systems at the same time? Will one change take precedence over the other? This type of question should be asked early in the evaluation, because a company’s sales data is the lifeblood of its business. It’s vital that the proper mechanisms are in place to ensure that the data remains consistent and accurate. Without this, most other considerations are irrelevant. It does not matter how fast data comes in if parts of it are missing or erroneous.
For instance, if a Salesforce admin does a bulk update of a particular custom field, such as territory assignment, on a large number of leads within Salesforce, there is a good chance that those same leads will be having their lead statuses changed by the SEP simultaneously through normal activity (think automatic updates when a task is completed or a meeting is set). It is important for these types of scenarios to be handled gracefully. Outreach’s Salesforce plugin has an intelligent resolution layer that compares both records before syncing data to identify and resolve any conflicts. If there are updates in both platforms, the plugin ensures all updates are made so the data matches. It only updates the fields that have changed, and never overwrites data that doesn’t need to be updated. In the above scenario, this allows Outreach to ensure that boththe field update from the bulk action in Salesforce, the territory assignment, and the lead status change from the SEP are preserved.
Where most SEPs fail is in asking the individual in charge of implementation to choose field precedence. Selecting the preferred order of data exchange creates higher probability that data is overwritten unnecessarily. These preferences are also likely to change as processes are refined. Reconfiguring the Salesforce integration to reflect the updated preferences is time consuming and unrealistic.
How to evaluate your SEP for conflict resolution: Pick 1, 100, or even 10,000 prospects that exist in both Salesforce and your SEP. Pick two separate fields, Field A and Field B, that are mapped between both systems. Update Field A in Salesforce and update Field B in your SEP simultaneously. Measure the time it takes for the actions to complete and spot check the prospects to ensure that both field updates have been applied. Your SEP has an inadequate Salesforce integration if only one of the field updates succeeds.
What this means for you: Though seemingly trivial, if this inadequacy hits all changed records every day, it can wreak havoc on the data integrity of your Salesforce instance in a way that is essentially irreparable.
Another important aspect of consistency is properly dealing with related Salesforce objects. When syncing related objects, such as Contacts within a specific Account, how does the SEP behave? When a Lead in Salesforce is converted to a Contact what happens in the SEP?
Outreach has first-class support for these types of scenarios. In the example above, once a record has been converted, Outreach automatically removes the Lead mapping and resyncs to the Contact Salesforce mapping, with all corresponding information. Data is kept intact through the conversion, ensuring that data enrichment investments made by 3rd party tools (or your own reps) aren’t lost. It’s a transition so smooth you never have to think about it, or second guess if you’re looking at the right record in Outreach. It’s just right. Prospects in Outreach are not just properly mapped to the corresponding Lead or Contact, but are also properly mapped to the appropriate, fully synced Account, Lead Status, User, etc.
Without automatic conversion recognition, you’ll have to manually update all prospects in your platform to reflect the change elsewhere, or create complex triggers to make updates in or out based on specific conditions. This leads to unnecessary API calls and a headache for your sales operations and sales managements teams.
How to evaluate your SEP for related model support: Create a test Contact within a test Account in Salesforce. Sync this test Contact into the SEP. The associated Account will be created automatically in the SEP alongside the Contact. Now, create a new test Contact and assign them to a new test Account in Salesforce. This time, create conditions in the SEP Salesforce plugin to prevent bringing in the test Accounts. Again, try to sync the individual Contact into the SEP. This time the Contact should not be brought into the SEP because its Account does not meet requirements.
What this means for you: If the SEP cannot automatically recognize lead conversion, or if it operates through a trigger-based integration, your Sales Ops team will be forced to maintain two separate databases (Salesforce and the SEP), rather than allowing them to focus on day-to-day operations. Automating this process eases the burden on your Sales Ops team while ensuring reps have the most up-to-date data, (including updates to or the addition of prospects provided by third-party lead generation tools) so they can just focus on selling.
Latency is the time it takes for a change in one system to show up in another. For instance, the amount of the time it takes from the moment a change is made to a Lead in Salesforce to when that same change is reflected inside the SEP and vice versa. Often times, inbound and outbound latencies can vary and it is important to understand both. Ideally, in both cases, it is desirable to have a latency that is as low as possible– but up to several minutes is acceptable in most cases and can depend on an organization’s workflow.
In some cases–such as when API conservation is important–faster syncing between the two platforms is undesirable. In these cases, customers want less frequent updates that are batched into a smaller number of API calls (this can come into play when it comes to dealing with complicated APEX triggers or 3rd party Salesforce plugins causing locking issues).
The Outreach platform is built to be flexible on this front, with the syncing period configurable anywhere from less than 2 minutes to longer than an hour on a per-model basis. To put it simply, Outreach lets you decide the frequency with which you push and pull information from Salesforce. If you want realtime sync between Outreach and Salesforce, you can have it. At Outreach, our internal sales team, which works with hundreds of thousands of prospects at a time, can receive an inbound lead into Salesforce, have that lead synced down into Outreach, and get a rep on the phone in 113 seconds.
How to evaluate your SEP’s latency: Pick a prospect that exists in both Salesforce and the SEP. Make a change to a field in the SEP and measure how long it takes to appear in Salesforce. Make another change inside Salesforce and measure how long it takes to appear in Outreach. Repeat this process in bulk for 10, 100, or even > 10,000 prospects. No system is going to sync 10,000 changes instantly, but the changes should show up within a period of minutes, not hours or days.
What this means for you: If a lead is updated because they filled out a form or downloaded a whitepaper, they should be acted on immediately. Inbound requests like these should never be added to Salesforce only to be forgotten. These leads are hot, and are 22% more likely to close if contacted within 5 minutes. If you’re waiting for changes to appear in the SEP for action, or relying on a trigger-based integration, how many opportunities are lost?
When evaluating an SEP’s interaction with Salesforce, it is difficult to truly predict how it will behave when it is operating under a production load, which is especially important to consider as your business grows and scales. During evaluation, it is important to bring in a quantity of data that is representative of the amount of data you will be actually working with when with your SEP is fully up and running. This is to ensure that the SEP does not have scalability issues that impact its normal operation down the line.
Outreach routinely deals with customers who have millions of Prospects and Accounts inside their organizations, all of which are synchronized within a heavily customized Salesforce instance. Working with these companies has given us insight into the level of flexibility required. There are many ways to manage your pipeline and your SEP’s salesforce sync layer should not be a limitation.
How to evaluate your SEP for scalability: Be sure to bring down a quantity of data that is representative of what you will be working with at scale– be that thousands, hundreds of thousands, or even millions of prospects. Ensure that there are adequate tools in place to manipulate that data such as bulk actions and one-off synchronizations at scale. Note that it is not always important to have your SEP reflect all of the data in your CRM, sometimes only a subset of the data is relevant for your particular sales workflow.
What this means for you: As a system of action, the SEP should make your reps’ jobs easier. If the SEP strains under a production load, you’ve created delays and the system of action is now inactionable. Instead of helping your reps, they’re now limited in their selling opportunities.
In the wild, sales organizations have hugely varying sales workflows and corresponding Salesforce configurations. It is crucial that the SEP is flexible enough to accommodate this complexity and this flexibility must extend into the Salesforce syncing layer. Moreover, your process will likely evolve over time as your sales organizations continues to refine its operations.
The configurability of the Outreach platform has been the result of continual improvement over the last several years to directly support our customers workflows. Outreach doesn’t limit the number of fields you can sync with Salesforce (which are configured on a per-field basis), and the plugin lets you choose how different fields sync between Salesforce and Outreach. You decide the fields that need to be updated, specify precise conditions around which records receive updates, and control the API request attribution. When changes are made in Outreach, we ensure the right updates hit (or don’t hit) Salesforce (and vice versa) to keep your data pristine. If you prefer a one-direction sync for specific fields, that option can be accommodated.
How to evaluate your SEP for advanced configurability: In a Salesforce staging environment, create a custom mapping from the Lead object to an Account object that is not a standard Salesforce field. Ensure that your SEP can be configured to use this new custom field and treat it as the normal Account mapping. Also check to make sure that this field can be turned on/off for inbound or outbound updates and that this field can be used as part of inbound and outbound syncing conditions.
What this means for you: Without a thorough Salesforce evaluation, you risk purchasing a platform that limits the flexibility with which you can sync the fields that are most relevant to your workflow. Without the information you need in your system of action, how do you move forward?
It is also important to understand the limits of both the SEP and Salesforce itself. Salesforce imposes a per-license limit on the number of requests that can be made via their API (starting at 15,000 API calls per org every 24 hours, with more purchased through Salesforce). Whether your organization is conservative with their API calls or not, it is good to have an intuitive understanding of how many API calls are being utilized over time. Similarly, it is important to make sure that the SEP has adequate safeguards and safety settings to prevent the synchronization process from using all the allotted API calls and prevent other integrations from functioning properly.
Within Outreach, we track all API call usage and have configurable safety settings in place to allow setting the exact ceilings for this usage. We surface two types of limits: Global limits apply across all systems connected to Salesforce, including Outreach, and the Outreach-specific limit applies to API calls used only by Outreach. These limits are visible to protect your API calls when massive changes are made in connected platforms that could cause business critical systems to lose access to Salesforce. On API-heavy days, Outreach will stop syncing and wait its turn to allow other, prioritized platforms to finish their work first.
How to evaluate your SEP for API call usage: When performing all of the above evaluations from other sections, keep track of API call usage to get an intuitive sense of how many API calls are being used. Ensure the platform provides safeguards that can place a hard stop on any run-away API call usage.
What this means for you: There are many ways to manage your pipeline, so your sales software absolutely should not prescribe the way you sync to Salesforce. If one of the tools connected to Salesforce is using a heavier than usual API call load, you’ll want to know and take action immediately. If API call usage isn’t surfaced, it’s a guessing game that if not resolved quickly can result in data loss.
At the end of the day, there are many tradeoffs and considerations one must make when evaluating an SEP’s Salesforce syncing layer. Consistency, Latency, Scalability, and Configurability are all inter-related and the system as a whole cannot be evaluated by a single metric. To make things more complicated, each Salesforce instance is unique and can require special accommodations. It is important to not rely on a sales representative’s promises of success through a “proprietary algorithm” (be sure to request a white paper going into deep technical details if this does happen), but to instead evaluate the product directly and make sure it works in your specific environment.