> ## Documentation Index
> Fetch the complete documentation index at: https://www.c1.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up a Salesforce connector

> Integrate your Salesforce instance with C1 to run user access reviews, enable just-in-time access requests, and easily provision and deprovision access.

<Tip>
  **A newer version of this connector is available.** This version of the connector is no longer available for installation. If you're setting up a Salesforce connector with C1 for the first time, use the [v2 version](/baton/salesforce).
</Tip>

## Availability

C1 only integrates with the Salesforce editions with API access: Salesforce Enterprise, Unlimited, Developer, and Performance editions.

You cannot use this connector successfully with Group or Essentials editions, or with Professional edition without an API add-on.

Learn more about which Salesforce editions support API access in the [Salesforce documentation](https://help.salesforce.com/s/articleView?id=000385436\&type=1).

## Capabilities

* Sync user identities from Salesforce to C1

* Resources supported:
  * Groups
  * Roles
  * Permission sets

## Add a new Salesforce connector

<Warning>
  This task requires either the **Connector Administrator** or **Super Administrator** role in C1.
</Warning>

<Steps>
  <Step>
    In C1, navigate to **Integrations** > **Connectors** and click **Add connector**.
  </Step>

  <Step>
    Search for **Salesforce** and click **Add**.
  </Step>

  <Step>
    Choose how to set up the new Salesforce connector:

    * Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren't yet managed with C1)
    * Add the connector to a managed app (select from the list of existing managed apps)
    * Create a new managed app

    <Tip>
      **Do you SSO into Salesforce using your identity, SSO, or federation provider?** If so, make sure to add the connector to the unmanaged Salesforce app that was created automatically when you integrated your provider with C1, rather than creating a new managed app.
    </Tip>
  </Step>

  <Step>
    Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of C1 users. Setting multiple owners is allowed.

    <Warning>
      A Salesforce connector owner must have the following permissions:

      * **Connector Administrator** or **Super Administrator** role in C1
      * A Salesforce user account with a profile that includes the **API Enabled** permission (this permission is included by default in the **Standard User** and **System Administrator** profiles)
    </Warning>
  </Step>

  <Step>
    Click **Next**.
  </Step>
</Steps>

### Next steps

* **If you are the connector owner**, proceed to [Configure your Salesforce connector](/baton/v1/salesforce#configure-your-salesforce-connector) for instructions on integrating Salesforce with C1.

* **If someone else is the connector owner**, C1 will notify them by email that their help is needed to complete the setup process.

## Configure your Salesforce connector

<Warning>
  A user with the **Connector Administrator** or **Super Administrator** role in C1 and a Salesforce user account with a profile that includes the **API Enabled** permission must perform this task.
</Warning>

### Step 0: Enable API access for your Salesforce user

Before you begin, make sure that the Salesforce user who will set up the integration with C1 has a profile that includes the **API Enabled** permission. This permission is included by default in the **Standard User** and **System Administrator** profiles.

To edit a different profile so that it includes the **API Enabled** permission:

<Steps>
  <Step>
    Log into Salesforce as an Administrator.
  </Step>

  <Step>
    Click the gear icon and select **Setup**.
  </Step>

  <Step>
    Search for "profiles" and select **Profiles** from the search results.
  </Step>

  <Step>
    In the **User Profiles** list, locate the user profile you want to add the permission to and click **Edit**.
  </Step>

  <Step>
    Find the **Administrative Permissions** section of the page and click to select **API Enabled**.
  </Step>

  <Step>
    Click **Save**.
  </Step>
</Steps>

Your user's profile can now access Salesforce APIs, and you're ready to begin the integration process.

### Step 1: Locate your Salesforce domain

<Steps>
  <Step>
    Log into the Salesforce admin panel and copy the URL from your browser. We'll use this in Step 2.

    <Tip>
      C1 integrates with domains that use one of the following Salesforce URL structures:

      * `my.salesforce.com`
      * `sandbox.my.salesforce.com`
      * `test.salesforce.com`
      * `lightning.force.com`
      * `develop.lightning.force.com`
      * `sandbox.lightning.force.com`
    </Tip>
  </Step>
</Steps>

### Step 2: Set up the Salesforce connector

<Steps>
  <Step>
    In C1, navigate to the Salesforce connector by either:

    * Clicking the **Set up connector** link in the email you received about configuring the connector.
    * Navigate to **Connectors** > **Salesforce** (if there is more than one **Salesforce** listed, click the one with your name listed as owner and the status **Not connected**).
  </Step>

  <Step>
    Find the **Settings** area of the page and click **Edit**.
  </Step>

  <Step>
    In the **Domain** field, enter the Salesforce domain you looked up in Step 1.
  </Step>

  <Step>
    **Optional.** Check the box to tell C1 to use Salesforce usernames as the email addresses for your organization's accounts. This option is especially helpful if your organization uses multiple service accounts that all share a `noreply@salesforce.com` email address.
  </Step>

  <Step>
    Click **Save**.
  </Step>
</Steps>

### Step 3: Log in with OAuth

<Steps>
  <Step>
    Click **Login with OAuth**.
  </Step>

  <Step>
    Log in and authorize C1 with your Salesforce instance.
  </Step>

  <Step>
    You will then be redirected back to the Salesforce setup page in C1, where you'll see an authorization message.
  </Step>

  <Step>
    The connector's label changes to **Syncing**, followed by **Connected**. You can view the logs to ensure that information is syncing.
  </Step>
</Steps>

**Done.** Your Salesforce connector is now pulling access data into C1.

## Troubleshooting the Salesforce integration

### When I try to log in with OAuth, I see a "This feature is not currently enabled for this user" error

Salesforce returns this error if the user who is logging in with OAuth does not have permission to access the Salesforce APIs:

```json theme={"theme":{"light":"css-variables","dark":"css-variables"}}
{  
   "code":2, 
   "message":"error getting info from connectorClient: [simpleforce] Error. http code: 403 Error Message:  This feature is not currently enabled for this user. Error Code: FUNCTIONALITY_NOT_ENABLED"
}
```

If you see this message, follow the instructions in [Enable API access for your Salesforce user](/baton/salesforce#enable-api-access-for-your-salesforce-user) and then try logging in again.
