How to Set Up A Secure Salesforce to Salesforce Integration
This article is written by Ugochukwu Ezenduka
Salesforce CRM is a data goldmine from which teams looking to collaborate with other teams can benefit.
But how does this work?
You get a script or integration solution to connect the API endpoints of both Salesforce instances and then use mapping rules to dictate how and when the data is exchanged.?
The process is straightforward, but you’d need a compliant Salesforce to Salesforce integration solution with advanced security features.
I have one for you; it’s called Exalate.?
Tag along as we explore Salesforce to Salesforce integration examples and why it is important for sales teams to connect CRMs with internal and external teams.?
Main Options for Integrating Multiple Salesforce Instances
Companies can build or buy integrations for Salesforce instances, depending on urgency, business requirements, and expertise.
Option 1: Building a Custom Salesforce Connector?
If you have the time and resources, your R&D department can build Salesforce connectors from scratch to get the APIs to interact.
This involves understanding the underlying architecture in order to select an integration pattern that can extract, transform, and load (ETL) the data bidirectionally between platforms.?
Since both platforms are Salesforce orgs, you don’t need to worry about transforming the data and maintaining accuracy, context, and consistency across systems.?
Regardless, you’d need to worry about licensing and API limits, as well as security and compliance requirements.?
Yeah, sounds like a chore, but there are alternatives.
Option 2: Using The Native Salesforce Integration Functionality?
The platform provides a native integration called “Salesforce to Salesforce ” which allows users to exchange records and stay updated.?
But this feature has limitations. You can only share a maximum of 100 tasks per related Salesforce record.?
If you have simple out-of-the-box use cases, this standard Salesforce to Salesforce rest API integration is the sure option. But if you need custom or advanced integration, then you can use Apex .?
Apex is a powerful medium that allows you to extend the native capabilities of Salesforce to include custom and advanced business logic. However, Apex doesn’t work for complex integration scenarios because it is subject to governor limits .?
Other options include Mulesoft, which can natively integrate two Salesforce orgs. You can also use Salesforce Connect or download third-party connectors from AppExchange.
Option 3: Using a third-party Salesforce to Salesforce Integration
Exalate is third-party integration software that allows you to bidirectionally sync information in real time between two (or more) Salesforce instances.?
You can also use it to sync data between Salesforce and other applications such as Jira, GitHub, ServiceNow, Zendesk, and more. Check out Exalate’s integrations page for more info.?
Exalate is perfect for complex Salesforce to Salesforce integration because:
How to Set up a Salesforce to Salesforce Integration in 5 Steps?
Let’s go through the steps involved in setting up a secure Salesforce to Salesforce integration using Exalate, a third-party integration tool.
Step 1: Install Exalate on Salesforce?
Since we are integrating two Salesforce instances, you need to install it on the other instance as well.?
First, request a free trial . Then, choose “Install in This Org” or “Install in a Sandbox org”. I’m installing it in my current org.
Scroll down to the bottom of the screen and carefully review the terms and conditions. Once you are ready, click on “Confirm and Install” to initiate the installation process.
Next, you’ll be prompted to choose the users for whom you want to install Salesforce. For organization-wide installation, choose “Install for All Users” and click on “Install”. You can also install it only for admins or specific users.
Now, you’ll need to “Approve Third-party Access” by clicking on “Continue”. Once the approval is given, the installation process will be completed. Click on “Done” to finalize the setup.
Next, navigate to your Salesforce instance and proceed to create a connected app. Remember to save the “Consumer Secret” and “Consumer Key” generated during this process. Then, within your instance, go to “Apps” and search for “Exalate”.
To request an Exalate node, provide the previously saved “Consumer Secret” and “Consumer Key”, and then click on “Request Node”.
You’ll be prompted to click on “Allow” to grant access permissions to Exalate. Afterward, enter your personal details and click on “Agree and Submit”. Now, simply wait for an email from the Exalate License Manager.
Once you receive the email, click on “Verify Exalate instance” to be redirected to the Exalate admin console.
From this point on, you can proceed to establish a connection between your instances.
Note: Exalate accesses Salesforce through APIs. Salesforce has its own guidelines for API access.?
For example, the API is accessible by default in Enterprise accounts but not Professional accounts. Learn more about the different Salesforce editions on this documentation page .
To log in to your Salesforce Exalate node, follow this process .?
Step 2: Connect Your Salesforce Instances?
Go to the “Connections” tab in the left-hand menu of the Exalate console on any one of the Salesforce instances. It doesn’t matter which instance you start from; Exalate has a consistent interface on all applications.?
Then click on “Initiate Connection”.?
Enter the destination instance URL. This will be the URL of the other Salesforce instance. Copy it from the address bar and paste it into the text box shown in the image below.?
After Exalate checks whether the app is available on the destination instance or not, you can proceed to choose the preferred configuration mode.?
Exalate supports 2 configuration modes for Salesforce integration: Basic and Script.
The Basic mode is free and is configured automatically. It works well for basic use cases and connection testing.?
The Script mode lets you decide what you want to share with the other side and how you want to map the information coming from the other side.??
It supports the Groovy scripting language, which is not very difficult for non-technical users to understand. Use our comprehensive documentation on sample scripts if you get stuck.?
Connections with the Basic Mode?
Once you select “Basic”, click “Next”.?
You then need to verify if you have admin access to the other Salesforce instance. Don’t worry if you don’t. An invitation code will be generated; copy and paste it on the other side in this case.?
If you have access, click “Yes, I have admin access”. Then, you will be redirected to the other instance to verify the access and establish the connection.?
On the next screen, you can test the connection you have just created by entering the Case number in the text box given and then clicking “Exalate”.?
领英推荐
After a brief pause, you can see the Case getting synced to the other side. As shown in the image below, you can even click on the respective links and head over directly to the particular Case.?
Now let’s move ahead with the Script mode.
Connections with the Script Mode?
Initiate the connection in the same manner as you just did. But now, instead of choosing “Basic”, choose “Script”. And then click “Next”.
Now, you need to enter a name for your local Salesforce instance and one for the remote instance. A connection name will be auto-generated, but you can change it if you want.
Don’t forget to add a description. It will help you identify your connection amongst a long list. Click on “Initiate” once you have entered all the details on this page.?
Now an invitation code is generated. This is a unique secret code to authenticate both instances. Click on “Copy invitation code” and make sure to paste it somewhere safe. Once you copied it, click “Done”.?
Then go to the other Salesforce instance. On the “Connections” tab, click the “Accept invitation” button this time. On the text box, paste the code you have just copied and click “Next”.
In a few seconds, the connection is successfully created.
You can now configure it to decide what and how you want to send and receive information.
Step 3: Configure the Connection to Share Data
You can continue to configure the sync by clicking the “Configure Sync” button on the screen above.?
If you don’t choose to do it immediately, you can go back to your “Connections” anytime and click on the edit connection button in front of your connection name.?
Both approaches will redirect you to a page that shows 4 tabs:
Statistics show how many items you are sharing and the details of when you have last synced them.?
The Info tab gives information about the type of connection. You can find the destination instance URL here. You can edit the description of the connection here, too.
The Rules tab has two sections: The “Outgoing Sync” decides what information should be sent, and the “Incoming Sync” decides how you want to map the information coming from the other side.
Each line corresponds to a field you want to sync.?
For instance, replica.description = entity.Description in the Outgoing sync would mean that the description of the case is sent over to the other side. Replica acts like an empty placeholder to dump information you want to send to the other side.?
Likewise, in the incoming sync, you take contents from the replica and place it under the appropriate fields, i.e., entity.Description = replica.description, meaning that the replica’s description is copied to the description of the Salesforce entity.?
Note that these rules exist at either end, so each side can decide what it needs to send and receive. The syncs are written in Groovy scripting language.?
To stop sending or receiving certain information, you can simply choose to comment or delete that particular line. You can even choose to have a fixed field description, for instance, replica.description = ‘synced from the sales team’.?
For instance, if you want to send Tasks in addition to Cases from one Salesforce instance to the other, you can add the following script in the “Outgoing sync”:
if(entity.entityType == "Case") {
replica.key = entity.Id
replica.summary = entity.Subject
replica.description = entity.Description
replica.comments = entity.comments
replica.attachments = entity.attachments
replica.Status = entity.Status
}
if(entity.entityType == "Task") {
replica.key = entity.Id
replica.summary = entity.Subject
replica.description = entity.Description
replica.Status = entity.Status
}
Don’t worry; we have a lot of script helpers that can help you with advanced processing.?
Step 4: Create Automated Sync Triggers
One benefit of modern Salesforce integration software is that it allows users to automate connections using triggers.
To create triggers on Exalate, click the “Triggers” tab. If you don’t have any triggers yet, the screen will be empty. So start creating a new trigger by clicking “Create trigger”.?
Select the Salesforce entities to which the trigger will apply, such as Case, Account, Product, Opportunity, etc.?
Then in the next section, you can enter the details of the Case in the fields provided to create a trigger. There are a lot of options in the “More” section as well.?
For instance, you can choose to sync Cases belonging to a particular company, in which case you need to write the name of the company in the provided text box.?
You can even create it by toggling the search query option, which will allow you to write a trigger in the Salesforce Object Query Language (SOQL) .?
Once you write your query, scroll down and fill in some notes for the trigger. This will help you identify the purpose of your trigger.?
Then activate the trigger by clicking on the “Activate trigger” checkbox.?
On the previous screen, you will be able to see your trigger listed. You can choose to edit or delete it from this screen. You can even choose to sync existing Salesforce objects, fulfilling the condition of the trigger by clicking the three dots next to its name and selecting “Bulk Exalate ”.?
Finally, publish the changes you have made so they can be reflected in your sync.
Step 5: Start the Synchronization
There are various ways you can start your synchronization with Exalate.
This is all you need to know about how Exalate can help you achieve your integration.
Salesforce to Salesforce Integration Use Cases and Examples
Automated Salesforce to Salesforce integration reduces the chances of errors and data duplication. A trusted solution will also authenticate every transaction and run instant transformations.?
Here are practical Salesforce to Salesforce integration examples and use cases.?
Exchange Business Data Conveniently
Organizations and managers share customer information from Accounts, Opportunities, Leads, etc., for marketing campaigns and other initiatives. With both instances in sync, either side will gain better visibility of consumer data in order to improve the quality of services they offer.
Improve Customer Relationship
To enrich and nurture the customer experience, the sales and customer service teams can use point-to-point integration between Salesforce instances.?
This will give both sides access to the same Cases, Tasks, and Opportunities, which contain valuable insights into customer behavior, feedback, problems, and queries.
Besides, data from both sides will provide data-backed context for making critical decisions about customers and prospects. Managers can rely on these metrics and insights to improve customer satisfaction.
Expand Your Web of Interests
Allowing multiple Salesforce organizations (instances) to integrate expands your partnerships network with new business interests, helping you target a broader customer base.?
Think of cross-company collaborations with MSPs (or M&As). Connecting the Salesforce instances of both organizations gives you access to a wider pool of user data without manual transfers.
Conclusion
Integrating two Salesforce orgs can be complicated, but with the right plan and solution, you can implement a Salesforce data integration model that works for both sides.
Salesforce to Salesforce integration can expand your business to include newer partners and encourage your business teams to work towards common customer goals.?
Whether you opt to build or buy an integration for syncing Salesforce instances, always prioritize compliance and security.
Looking for Salesforce integration consulting? Book a demo with our Exalate engineers right away.