description |
---|
Step-by-step guide to ingest event data from Salesforce into RudderStack |
Salesforce is an industry leader in enterprise CRM. It offers a suite of enterprise applications revolving around marketing automation, customer engagement and support, application development as well as analytics.
This guide is aimed at helping you set up Salesforce as a source in RudderStack in the easiest possible way. With this integration, you can send your Salesforce data to RudderStack as events, which can then be further routed to your preferred data warehouse destination supported by RudderStack.
{% hint style="info" %} All the Cloud Extract sources support sending data only to a data warehouse destination. {% endhint %}
To set up Salesforce as a source on the RudderStack dashboard, follow these steps:
- Sign into your RudderStack dashboard.
- Click on Sources on the left panel of your dashboard. Select Salesforce, and then click on Next.
- Assign a name to your source, and click on Next.
- Next, you will be required to connect your Salesforce account with RudderStack. To do so, click on Connect with Salesforce. After allowing the necessary permissions, your account should be successfully connected to RudderStack and visible on the dashboard. Then, click on Next.
{% hint style="success" %} If you have already logged into your Salesforce account previously, clicking on the Connect with Salesforce option will automatically connect that account to RudderStack. To connect RudderStack to a different account, you will have to log out of your Salesforce account. {% endhint %}
- In the next window, select the suitable Run Frequency. This configuration controls how often RudderStack will pull data from your Salesforce integration. Then, click on Next.
{% hint style="info" %} Please note that loading to your data warehouse could take a little bit longer than the specified frequency. {% endhint %}
{% hint style="warning" %} Salesforce’s API strictly enforces a limit on its usage. A high Run Frequency may exceed your Salesforce’s API. This may cause a failure when RudderStack tries to sync your data. {% endhint %}
- Finally, specify the Salesforce data you want to import via RudderStack, and click on Next. You can choose to import selected Salesforce resources or all of them.
That's it! Salesforce is now successfully configured as a source on your RudderStack dashboard. RudderStack will start ingesting data at the specified frequency. You can further connect this source to your data warehouse by clicking on Connect Destinations or Add Destination, as shown:
{% hint style="success" %} Use the Connect Destinations option if you have already configured a data warehouse destination in RudderStack. To configure a data warehouse destination from scratch, click on the Add Destination button. {% endhint %}
The following sections will help you better understand the overall replication process once RudderStack connects to your Salesforce data source.
When RudderStack first connects to your Salesforce data source, it will pull all your historical data.
RudderStack synchronizes with your Salesforce data source based on the schedule and run frequency you choose while configuring the source.
The first time RudderStack syncs with your Salesforce data, it performs a full replication - as mentioned above. After that, your Salesforce data is replicated incrementally. This means that RudderStack will replicate only the new and updated rows to your destination.
{% hint style="info" %} Note that RudderStack will only read your data. {% endhint %}
Salesforce imposes a strict API quota that regulates its API usage. This quota corresponds to the total number of API requests that can be made over a period of time.
{% hint style="info" %} The Salesforce API usage includes RudderStack and any other apps you may use. {% endhint %}
{% hint style="warning" %} Because of Salesforce's API quotas and the data volume to be synchronized, the initial data sync could take some time. {% endhint %}
Here's how RudderStack handles these API quotas:
- If a single replication attempt utilizes 20% of your daily quota, the replication process will stop.
- If more than 80% of your daily API quota has been utilized (by RudderStack or any other apps), the replication will stop. The process will resume once the API limit is lifted.
{% hint style="info" %} Refer to this article by Salesforce to calculate and increase your total API calls. {% endhint %}
Salesforce has a Production and a Sandbox Environment. In case you need to work with both your production as well as development data, it is recommended that you create two pipelines.
To connect to your sandbox environment, follow these steps:
- Create a new Salesforce data pipeline.
- Check the Connect to Sandbox Account option and click Connect with Salesforce button, as shown:
- Use your sandbox account credentials to log in and continue with the rest of the setup.
{% hint style="warning" %} Make sure you use a relevant table prefix in your setup in order to avoid creating conflicting tables in your database with your Salesforce production pipeline (if one is already set up). {% endhint %}
Yes, it is.
We have implemented a feature wherein RudderStack associates a table prefix for every Cloud Extract source writing to a warehouse schema. This way, multiple Cloud Extract sources can write to the same schema with different table prefixes.
If you come across any issues while configuring Salesforce as a source with RudderStack, please feel free to contact us. You can also start a conversation on our Slack channel; we will be happy to talk to you!