The blog was partnered with Krishna Priawan, who is a Senior Software Engineer at Integragte.io. Krishna has extensive experience in design, development, and maintenance of end-to-end software solutions. Read on to gain insights from his experience. 

Since its founding in 1999, Salesforce has grown into a top provider of Customer Relationship Management (CRM) software, serving over 150,000 paying customers worldwide. With its significant role in the CRM space, it's crucial for organizations to understand how the Salesforce platform works and how it can benefit their operations.

One of the most significant advantages of Salesforce is its ability to share data with the people and software that require it, making data sharing between different Salesforce organizations a common occurrence. Therefore, learning how to share data across Salesforce organizations through Salesforce to Salesforce integrations is crucial.

Here are our 5 Key Takeaways:

  • Salesforce is the world's #1 CRM platform that offers a place to store customer data, track customer interactions, view data in action, and collaborate with colleagues from multiple sectors.
  • Salesforce to Salesforce (S2S) integration is useful for sharing data between two different Salesforce organizations. It enables organizations to transfer data from Salesforce to an external data warehouse, and vice versa.
  • To set up an S2S connection, you need to enable S2S, create an S2S connection, publish objects and fields, and subscribe to objects and fields.
  • When sharing data between two Salesforce applications, it is important to prioritize data privacy and security, understand sharing permissions, and take advantage of Auto-Accept.
  • Third-party data integration tools offer a simpler and more cost-effective way to transfer data, and they provide no-code data transformations, unlimited data processing times, and an API for programmatic access.

In this article, we'll explore how the Salesforce database works, delve into the Integrate.io Salesforce connector, and discuss the benefits your company can gain from a Salesforce to Salesforce integration.

What is Salesforce?

Before diving into the benefits of Salesforce and Salesforce to Salesforce connections, let’s take a better look at what the Salesforce platform is all about. Looking at the history of Salesforce, the company was founded by Marc Benioff shortly after Netsuite was created. Therefore, along with Netsuite, Salesforce is one of the oldest cloud-based software companies in the world. 

Over the last two decades, Salesforce has transformed into the world’s #1 CRM platform. Some of the top features Salesforce has to offer organizations include:

  • A place to store customer data.
  • A convenient way to track customer interactions.
  • A simplified space to view data in action.
  • A place to easily collaborate with colleagues from multiple sectors. 

Ultimately,  these features allow organizations to make faster and more well-informed decisions while also allowing the company to better manage its relationships with new and existing customers. Check out more about Salesforce and the benefits of Salesforce to Salesforce integrations below.

Related Reading: 4 Common Ways Enterprises Leverage Salesforce

Why Share Data from Salesforce to Salesforce?

There are a variety of reasons why Salesforce customers use Salesforce as either a data source or destination.

In many cases, Salesforce users pull data from the platform and transfer it to an external data warehouse such as Amazon Redshift. This offers you more freedom and control over your own data. Once the data is inside this external data warehouse, your options are virtually unlimited: you can perform analytics using a business intelligence tool like Tableau, or combine your Salesforce data with other enterprise data sources.

Another common reason to use Salesforce as a data source is to back up the data stored within your Salesforce platform. There are multiple Salesforce data integration tools available, both from Salesforce and from third parties. Salesforce itself offers tools such as the Data Loader and Salesforce APIs, but you can also use third-party data integration software such as Integrate.io.

Conversely, it’s also very common to use Salesforce as a destination for your enterprise data. Whenever your business generates relevant CRM data outside the Salesforce platform—for example, a phone conversation with a prospective customer—you can easily save that data to the appropriate lead or account within Salesforce. To streamline the process, tools like Integrate.io can save data into Salesforce from any service that has a REST API.

But what if you want to transfer data not just from Salesforce or to Salesforce, but between two different Salesforce organizations?

As mentioned above, sharing data between two different internal Salesforce orgs is an important use case, such as moving information from development to testing to production. But you might also want to share data between your internal Salesforce org and an external Salesforce org—such as one owned by a vendor or partner.

Externally transferring data from Salesforce to Salesforce could be useful in the following situations:

  • Your company is undergoing a merger or acquisition, and you need to integrate Salesforce data from both parties.
  • You want to share your sales and marketing data with prospective buyers or investors.
  • You’re working with a distributor or supplier who needs access to sales data.

4 Steps to Transfer Data and Share Records in the Salesforce Platform 

Step 1. Enable Salesforce to Salesforce (S2S)

For starters, you’ll need to configure Salesforce to accept Salesforce to Salesforce (S2S) connections. To do so, follow these steps:

  1. Enter “Salesforce to Salesforce Settings” in Salesforce’s Quick Find box.
  2. Select “Salesforce to Salesforce Settings.”
  3. Click “Edit.”
  4. Select “Enable.”
  5. Click “Save.”

Note that S2S needs to be enabled by both organizations before you can start sharing data.

Enabling S2S will make the connection's tab available in Salesforce. You’ll start working with this tab in the next step.

Step 2. Create an S2S Connection

Before creating an S2S connection, the two Salesforce organizations need to add each other as contacts. To do so, follow the steps below:

  1. Click on the “Contacts” tab in Salesforce.
  2. Click on “New Contact.”
  3. Create a new contact for the Salesforce organization, making sure to add a valid email address.

After creating this new contact:

  1. Click on the “Customize My Tabs” button in the Salesforce interface, and add “Connections” to your available tabs.
  2. Go to the “Connections” tab and click on “New Connection.”
  3. To send an invitation to your new contact, select the correct organization under Contact. Next, select the Connection Owner (i.e. your organization) and the option Account or Template.
  4. Send the invitation.

Step 3. Publish Objects and Fields

Once you’ve established an S2S connection, you need to publish the objects and fields you want to share. To publish a Salesforce object, follow the steps below:

  1. Click on the “Connections” tab in Salesforce.
  2. Select the relevant S2S connection.
  3. In the Published Objects related list, click on Publish/Unpublish.
  4. Select the objects you wish to publish and click “Save.”

Only certain Salesforce objects can be published for S2S connections. The list of publishable S2S objects includes:

  • Accounts
  • Attachments (unencrypted)
  • Cases
  • Case Comments
  • Contacts
  • Leads
  • Opportunities
  • Opportunity Products
  • Products
  • Tasks
  • Custom Objects

When you publish a Salesforce object, your S2S contact will be notified via email.

For more fine-grained control, you can also select which of a Salesforce object’s fields to publish. To publish fields of a Salesforce object, follow the steps below:

  1. Click on the Connection's tab in Salesforce.
  2. Select the relevant S2S connection.
  3. In the Published Objects related list, click “Edit” next to the published object.
  4. Select and/or deselect the Salesforce fields that you want to publish. You can only publish fields that you have permission to edit.
  5. Click “Save.”

Salesforce publishes the following fields by default: 

  • Account: Account Name, Last Name
  • Attachment: Body, Content-Type, File Name
  • Case: Subject
  • Case Comment: Body, Published
  • Contact: Last Name
  • Lead: Last Name, Company
  • Opportunity: Name, Closed Date, Stage
  • Opportunity Product: Quantity, Sales Price
  • Product: Product Name
  • Task: Subject
  • Custom Object: Name

Step 4. Subscribe to Objects and Fields

S2S connections aren’t a one-way street. If you want to receive data from your Salesforce partner, follow the steps below to subscribe to Salesforce objects:

  1. Click on the “Connections” tab in Salesforce.
  2. Select the relevant S2S connection.
  3. In the Subscribed Objects related list, click “Subscribe/Unsubscribe.”
  4. To subscribe to an object, select the object within your Salesforce organization that you want to map to.
  5. Click “Save.”

Once you’ve connected to an object, the process is very similar for connecting to one or more of the object’s fields:

  1. Click on the “Connections” tab in Salesforce.
  2. Select the relevant S2S connection.
  3. In the Subscribed Objects related list, click “Edit” next to the relevant object.
  4. Select the appropriate fields in the drop-down list, and map them to the appropriate fields within your own Salesforce organization.
  5. Click “Save.”

In the next section, Krishna Priawan shares the best practices and troubleshooting mechanisms based on his experience in the field.

5 Best Practices for Sharing Salesforce to Salesforce Data

Setting up S2S data integrations is one issue—but how do you do so in the most efficient and effective manner? In this section, we’ll discuss 3 best practices you need to know about sharing Salesforce to Salesforce data.

For the complete overview of Salesforce best practices, check out Salesforce’s articles “Best Practices for Mapping Fields in Salesforce to Salesforce” and “Guidelines for Using Salesforce to Salesforce.”

1. Prioritize Data Privacy and Security

Laws such as GDPR and CCPA place strict limits on how businesses can share customers’ personal information. The account’s region might matter in terms of GDPR/CCPA compliance. When you use any tools, integrate.io for example, the account in Integrate.io belong to a specific region, and the data processing happens in the corresponding region.

For example, the European Union’s General Data Protection Regulation states that "personal data must be processed lawfully, fairly and in a transparent manner in relation to individuals." In addition, GDPR requires businesses to process information “in a manner that ensures appropriate security of the personal data—including protection against unauthorized or unlawful access and accidental loss, destruction or damage.” All businesses that store the personal data of EU citizens and residents must comply with GDPR or risk strict financial penalties.

During the Salesforce to Salesforce connection set up, always make sure that you comply with all relevant data privacy and security laws and regulations—if not, you could be facing a costly fine or data breach. Integrate.io is compliant with GDPR, CCPA & HIPAA data security and privacy regulations. 

Also, for more security,

  • Data Encryption: Use Salesforce Shield or other encryption solutions to protect sensitive data.
  • Sharing Rules: Implement sharing rules and org-wide defaults to control data access.

2. Understand Sharing Permissions and Authentication

Salesforce administrators are able to share any Salesforce object. However, most Salesforce users can only share objects that are owned by themselves or their subordinates.

If you want to stop sharing an object, click “Stop Sharing” in the object’s External Sharing-related list. You can only perform this action for objects that are owned by you or your subordinates. Taking this action will stop propagating changes from your organization to your partner’s organization; however, the object itself will not be deleted from the other organization. And,

  • Check that the environment (whether it is a production or sandbox) is associated with the credentials accordingly.
  • Confirm if there is any firewall/IP whitelist restriction in place on your Salesforce account. It might fail the jobs.
  • Ensure that the user performing the action has the necessary permissions for the objects and fields involved.
  • Check that the object permissions (Read/Write) are set correctly in the sharing settings.
  • Confirm that field-level security settings allow access to the necessary fields for both publishing and subscribing organizations.

3. Take advantage of Auto-Accept

By default, Salesforce asks organizations to manually approve changes to each record being shared via S2S connections. However, this will be an extremely tedious task for large organizations that may be sharing hundreds, or thousands of Salesforce records.

To avoid this manual drudgery, take advantage of Salesforce’s “Auto-Accept” option, which allows organizations to automatically accept changes to records without waiting for approval.

4. Object and Field Availability for publishing or subscribing

  • Verify that the objects you want to share are supported for S2S integration. Only certain standard and custom objects are allowed.
  • Some columns have a non-NULL policy and others do not. Therefore, beware of Column nullability.
  • Ensure date/timestamp has compatibility of that format
  • Ensure the values are in the list of enumeration in the case of enumerated-type columns.

5. Performance Issues during data transfer and synchronization

  • Use batch processing to handle large volumes of data efficiently.
  • Monitor and optimize API usage to stay within Salesforce API limits.
  • Ensure that relevant fields are indexed to improve query performance.
  • Migrate from “Bulk API V1” to “Bulk API V2". It improves performance as well as addresses some reliability issues that happened on V1.
  • Use parallel processing. This option would offer parallel processing for loading data to Salesforce.

Related Reading: Introduction to Salesforce Connect

Salesforce to Salesforce with Integrate.io

You have multiple options at hand for performing Salesforce to Salesforce integrations, including both third-party data integration software tools and Salesforce internal tools. In most cases, choosing a third-party data integration tool such as Integrate.io is simpler and more cost-effective than doing Salesforce integrations yourself.

Whether you’re just looking to integrate data from a single service or across your entire business, Integrate.io lets you do more with your Salesforce connection. If your business needs to perform Salesforce to Salesforce integrations, Integrate.io has two main advantages over other ETL providers:

  • No-code: Without writing a single line of code, you can seamlessly bring customer data into the Integrate.io platform, and push data back into Salesforce. Integrate.io’s transformation layer allows you to edit, clean, aggregate, and modify the data however you need in order to fit your ETL processes.
  • Fully automated: Integrate.io enables you to fully automate the management of Salesforce, databases, data warehouses, file stores, and any available API.

Many other competitors will boast about their Salesforce integrations. But if you read between the lines, you’ll find out that their services have one or two crucial drawbacks:

  • The service is limited to copying data from one place to another, which gives you no control over data transformations.
  • The service only supports either pulling or pushing Salesforce data, but not both.

Even if you find a service that satisfies these two conditions, you’ll still have to deal with the question of flexibility. Does your chosen solution include support for all of your sources of data that you want to integrate with your CRM?

Integrate.io is a flexible, scalable ETL data integration platform that can grow alongside your business. We offer you a static pricing model, based on the number of connectors used to support your integrations. This means:

  • Unlimited users for developing and working in Integrate.io
  • Unlimited data (with no row or size limits)
  • Unlimited data processing times
  • Unlimited packages and workflows
  • Unlimited scheduling and automation

Anyone in your organization, from developers to non-technical business users, can enjoy Integrate.io’s easy-to-use data pipeline toolkit. Integrate.io’s features include:

  • No-code data transformations.
  • More than 150 functions to build expressions for field-level data transformations, ranging from simple to complex.
  • A straightforward user interfaces with drag-and-drop components for visualizing and building data pipelines.
  • Programmatic API access to Integrate.io, allows you to include Integrate.io into your existing app or use scripts to automate your work.

Third-party integration tools like Integrate.io make it simpler and more cost-effective for you to transfer data. However, in the next section, we’ll discuss how to transfer data from Salesforce to Salesforce yourself using the Salesforce platform.

Related Reading: How to Use Salesforce to Salesforce

How Integrate.io Can Help

Ultimately, Salesforce to Salesforce integrations can offer many benefits to organizations. However, setting up these configurations on your own can prove quite timely. Luckily, Integrate.io is here to help you with all of your Salesforce to Salesforce integration needs, helping you get everything set up in an efficient and cost-effective manner. 

Are you ready to discover more about the many benefits the Integrate.io platform can provide to your company? Schedule a 14-day trial today or contact our team to learn more about how we can help you start reaching your goals today.

Frequently Asked Questions

Q: Salesforce where to find my personal document library?

Ans: You can find your library documents in the Documents tab. If you are not able to access the Documents tab, you can customize the display to show it.