# Integrating with Salesforce

You can connect your Salesforce account to Drivetrain in just a few steps. This guide is designed for Salesforce admins, including those new to Drivetrain. In most cases, no provisioning or setup support is required—you can complete the setup on your own.

### Prerequisites

To connect Salesforce to Drivetrain, you need:

* An **active Salesforce Enterprise level** **plan** or higher
* **Admin-level access** in both **Salesforce** and **Drivetrain**, or equivalent permission sets that allow **API usage** and **data visibility**

Drivetrain requires read access to the following **Salesforce objects at minimum**:

* **Opportunity**
* **Opportunity History**
* **Opportunity Field History**
* **Users**
* **Account**
* **Lead**

Additional objects may be required depending on your reporting needs.

#### Check and Enable API Permissions in Salesforce

To ensure your Salesforce integration with Drivetrain works correctly, confirm that **API access is enabled** and that the **relevant standard objects** are **readable** by the integration user.

{% hint style="info" %}
**Access to REST API services** is automatically included when **API Enabled** is checked. There is no separate checkbox for it.
{% endhint %}

#### Verify API Access

Check whether the profile assigned to your integration user has API access enabled:

1. In Salesforce, click the **Settings** icon in the top right and select **Setup**
2. In the **Quick Find** box, search for and select **Profiles**
3. Click the **read-only profile** assigned to your integration user
4. Scroll to the **Administrative Permissions** section
5. Look for **API Enabled** and ensure that it's **selected**
6. If it's not selected, click **Edit** at the top of the page, check **API Enabled**, and click **Save**

<figure><img src="https://4220329029-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmBZR0D9lq6jrI895OuOU%2Fuploads%2FxTdMVAjQUiw1xkLh1jxd%2FSalesforce%20Integration%20(6).gif?alt=media&#x26;token=96640869-f60c-4109-a7f9-516e21f62b1d" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
If **API Enabled** is unchecked, the user will not be able to make **API calls**—including those required by Drivetrain.
{% endhint %}

#### Grant Read Access to Required Standard Objects

Drivetrain requires read access to several standard objects in Salesforce. To configure this:

1. In the same **profile** (or **permission set**, if applicable), scroll to **Standard** **Object Settings**
2. For each of the following objects, click the name, then click **Edit**, and ensure **Read** access is enabled:
   * **Opportunities**
   * **Accounts**
   * **Leads**
3. To grant access to the **User** object:
   * Scroll to the **Administrative Permissions** section in the same profile
   * Enable **View All Users**

{% hint style="info" %}
You may not see **Opportunity History** or **Opportunity Field History** listed as separate objects. These are tracked via **Field History Tracking**, which must be enabled under: **Setup > Object Manager > Opportunity > Fields & Relationships > Set History Tracking**
{% endhint %}

{% hint style="warning" %}
Ensure the **Salesforce user** you plan to use for integration has this **profile or permission set assigned**.
{% endhint %}

### Step 1: Start a New Connection in Drivetrain

1. Go to the **Data page** in Drivetrain
2. Click **+** in the top-left corner to **connect a data source**
3. Select **Salesforce** from the list of integrations
4. Click **Login to connect →**

<figure><img src="https://4220329029-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmBZR0D9lq6jrI895OuOU%2Fuploads%2FuE1akqQOLQQ6PYozf9YR%2FSalesforce%20Integration.gif?alt=media&#x26;token=53d2346a-9af0-42d6-8cf6-97f1a4a5ea5d" alt=""><figcaption></figcaption></figure>

### Step 2: Log In to Salesforce

A new pop-up window will open.

1. Log in using your **Salesforce admin credentials**
2. If prompted, complete **Multi-Factor Authentication (MFA)**

<figure><img src="https://4220329029-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmBZR0D9lq6jrI895OuOU%2Fuploads%2FofhOS4xvQ39fkEkcUgaD%2FSalesforce%20Integration%20(3).gif?alt=media&#x26;token=48ea37dc-9ed1-4f10-9739-1d4d1d012bc3" alt=""><figcaption></figcaption></figure>

#### Allow Installation of the Drivetrain Application

1. The system admin has to connect the Drivetrain app and install the app.&#x20;
2. Once the system admin or any other user attempts to connect via the linking flow from Drivetrain, the system can admin can do this by:
   1. Going to **Setup > Apps > Connected Apps > Connected Apps OAuth Usage**       &#x20;
   2. Select **Install** against the Drivetrain app
3. Then any user from the organisation can connect via this app and create the salesforce connector on Drivetrain.

Alternatively,&#x20;

1. The system admin has to give access to user profile to connect to uninstalled app.
2. Go to **Setup > Administration > Users > Profile** and check the **Approve Uninstalled Connected Apps** box

{% hint style="info" %}
This is only available for **standard user license**.<br>
{% endhint %}

### Step 3: Choose What to Sync

Once connected, you’ll be **redirected back to Drivetrain.** You can bring in data using either **Salesforce Reports** or **Salesforce Objects**, depending on your needs.

<figure><img src="https://4220329029-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmBZR0D9lq6jrI895OuOU%2Fuploads%2FTa541YBL0dkH0MsAc33s%2FSalesforce%20Integration%20(2).gif?alt=media&#x26;token=ea6623b3-633a-4e92-966e-13e1f197812f" alt=""><figcaption></figcaption></figure>

### Salesforce Reports

**Salesforce Reports** are user-defined views of your data based on filters, groupings, and custom logic. This is the best option when you’ve already created reports in Salesforce and want to reuse those filtered datasets directly in Drivetrain.

#### **To sync a report**

1. In Salesforce, **open the report** you want to sync
2. Copy the **report URL**
3. In Drivetrain, **paste the URL** in the **Reports section**
4. Click **Add**

<figure><img src="https://4220329029-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmBZR0D9lq6jrI895OuOU%2Fuploads%2F7O7K0IHDd2IIvnX2vFFP%2FSalesforce%20Integration%20(4).gif?alt=media&#x26;token=7ebb1aed-ed14-4ade-a32c-e349a4c51031" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Salesforce limits report syncs to **2,000 rows**. If your report exceeds this limit, only the first 2,000 records will be synced.
{% endhint %}

#### **Overcoming the 2,000 Row Limit**

To bring in **larger datasets:**

* Use **Salesforce Objects** instead of Reports&#x20;
* Or, break your report into **multiple smaller reports** using filters (e.g., by region or time period)

### Salesforce Objects

**Salesforce Objects** provide raw, unfiltered access to your data tables—such as Opportunities, Accounts, Leads, and custom objects.&#x20;

{% hint style="info" %}
Use this method when you need to sync full datasets or handle more than 2,000 rows.
{% endhint %}

#### **To sync objects**

1. In the **import window in Drivetrain**, search and **select the tables** you want to **import**
2. Click **Add**
3. The **selected objects** will appear in your **Salesforce table** list once syncing is complete

<figure><img src="https://4220329029-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmBZR0D9lq6jrI895OuOU%2Fuploads%2FTjGmBIVfDNpGqmqVAdXu%2FSalesforce%20Integration%20(5).gif?alt=media&#x26;token=c41b6a5b-91f5-4193-9c99-029f41ed8047" alt=""><figcaption></figcaption></figure>

### Troubleshooting

If you’re **unable to connect**:

* Confirm you're using a **Salesforce user** with **API access**
* **Complete MFA**, if it's enabled for your account
* Confirm you’re on the **Salesforce Enterprise (or higher) plan**
* Try an **incognito window** to rule out browser extensions or cookies

<details>

<summary>Why does Salesforce limit report exports to 2,000 records?</summary>

Salesforce limits report exports to 2,000 records to ensure system performance and stability, as reports are designed for quick insights rather than large-scale data extraction. To work around this limitation, we recommend pulling data directly from Salesforce objects, which allow access to complete datasets without restrictions. For detailed information on these limitations, please refer to Salesforce’s official [documentation](https://help.salesforce.com/s/articleView?id=analytics.rd_reports_dashboards_limits.htm\&type=5).

</details>

### Still stuck? We can help.

* First, check on the organization settings. Enterprise, Unlimited and Developer editions has the API enabled by default. Professional Customers can purchase this feature.
* Check on the profile for the user. Access the profile settings in order to verify that API is enabled as well.
  * Click **Setup > Administration Setup > Manage Users > Profiles.**&#x20;
  * Select the profile that you need to check, and under **Administrative Permissions** verify if API Enabled is checked.
  * Check if permission for **View Setup and Configuration** is enabled.

If you’re still unable to connect Salesforce to Drivetrain after completing the steps above, reach out to your Drivetrain onboarding partner. Most issues can be resolved without additional setup.

{% hint style="info" %}
Include a **screenshot** or **brief description** of the error message. We'll help you troubleshoot and guide you through next steps.
{% endhint %}

### Need to Grant Temporary Access?

In rare cases—such as data inconsistencies or bug investigations—your Drivetrain team may request temporary access to your BambooHR account.

View: [Grant temporary access to Salesforce](https://integrations.drivetrain.ai/integration-guide/integrate-with-drivetrain/crm/integrating-with-salesforce/grant-temporary-access-to-salesforce)

This is not required for setup or general connection issues.
