# Connecting SailPoint and Salesforce

To connect SailPoint with Salesforce, perform the following tasks:

## Adding the Source in SailPoint

To connect to SailPoint, perform the following steps. Once the connection is made, you can configure it to meet your company's needs.

> [!IMPORTANT]
>
> By default, the provisioning feature is **disabled**, and the connector only supports read-only operations. To support provisioning operations, you must manually enable the feature in the source configuration.

**To configure a new source:**

1. Sign in to SailPoint.
2. Go to **Admin \> Connections \> Sources**.
3. Select **Create New**.
4. Search for the connector by entering the name in the search box, and then select **Configure**.
5. In the **Source Name** field, enter a unique and descriptive name for your source. Source names cannot exceed 128 characters.
6. In the **Description** field, provide additional details about the source to help distinguish it from similar sources. This field allows a maximum of 2,000 characters.
7. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two or more letters. For more information, refer to [Assigning a Source Owner](<https://documentation.sailpoint.com/saas/help/sources/index.html#assigning-a-source-owner>).
8. Under **Connection Type**, select **Direct Connection** or **Flat File**.

   - **Direct Connection** - A direct connection fetches data from the **Virtual Appliance Cluster** you choose as the application connector for the source. A direct connection configuration allows for real-time updates. For more information about configuring and deploying virtual appliances, refer to the [Virtual Appliance Reference Guide](<https://documentation.sailpoint.com/saas/help/va/index.html>).
   - **Flat File** - Select the flat file if no connector is available, or if another system restricts the connection. This option allows only reading and aggregating data as a generic/delimited application. Provisioning activity is unsupported, and additional configuration pages like connection settings and aggregation settings are unavailable.
9. If you selected **Direct Connection**, in **Virtual Appliance Cluster**, select the virtual appliance cluster that will be used as the application connector for the source.
10. (Optional) Select a governance group to grant its members [source](<https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-sub-admin-user-level>) or [role](<https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#role-sub-admin-user-level>) sub-admin level oversight of the source and its access. For more information, refer to [Creating and Managing Governance Groups](<https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html>).
11. If this source represents a primary system containing your organization's personnel records, select the **Authoritative Source** checkbox. For more information, refer to [Creating Identity Profiles](<https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html>).
12. Select **Continue**. The source is created, and you are navigated to the **Source Setup \> Base Configuration** page. Continue to configure your connected source there.

## Base Configuration

Provide the base configuration parameters. Information you entered in the Create New Source dialog is automatically entered into the fields in the Base Configuration page. You can edit this information if necessary.

1. Enter a unique name and description for the source.
2. In the **Source Owner** dropdown list, select the identity that owns this source.

   - To find a source owner, begin entering their name.
3. In the **Virtual Appliance Cluster** dropdown list, select the virtual appliance to use when communicating with your organization's systems. For more information, refer to [SailPoint Virtual Appliances](<https://documentation.sailpoint.com/saas/help/va/index.html>).
4. (Optional) If enabled for your organization, select the **Use a Credential Provider** checkbox to manage the source's authentication using a credential provider.

   > **Note**
   >
   > To add a credential provider, go to **Admin \> Connections \> Credential Providers**. For more information about credential providers, refer to [Credential Providers](<https://documentation.sailpoint.com/connectors/help/credential_providers.html>).
5. Configure the authentication to allow SailPoint to connect to the source. Refer to [Connection Settings](<#connection-settings>) for more information.
6. (Optional) In the **Governance Group for Source Management** dropdown list, select a governance group to associate with this source. For more information about governance groups, refer to [Associating Governance Groups with a Source](<https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html#associating-a-governance-group-with-a-source>).
7. (Optional) Choose whether to enable or disable provisioning for the source. Provisioning is disabled by default.

   - **Enable Provisioning** - Set the toggle to **Enabled** to allow the source to create, update, and deactivate accounts in the connected source system.
   - **Disable Provisioning** - Set the toggle to **Disabled** to disable provisioning for the source. Disabling provisioning will prevent the creation, updating, or deactivating of accounts on this source.
8. Select **Save**.

## Connection Settings

In this section you will configure the direct connection between the source and SailPoint by specifying the authentication type and credentials to establish a secure connection.

> [!IMPORTANT]
>
> Effective July 1, 2026, the External Client Application (ECA) is the recommended authentication method for the Salesforce connector. The Basic and legacy OAuth 2.0 authentication types are deprecated and will be removed in a future release. SailPoint strongly recommends configuring new connections by using ECA and migrating your existing connections.

1. Go to **Connection Settings**.
2. In the **Connection Timeout** field, specify a timeout value in minutes. The default value is `1`.
3. Under **Authentication Type**, select **Basic** or **OAuth 2.0** authentication. The fields change based on the option you choose:

   - [Basic Authentication (Deprecated)](<https://documentation.sailpoint.com/connectors/salesforce/va/help/configuring_legacy_authentication.html#basic-authentication-deprecated>)
   - OAuth 2.0 Authentication (Deprecated):

     Enter the OAuth 2.0 Token URL. If the Salesforce source is configured to use OAuth 2.0 authentication, the following URL is used to generate the access token by default:

     `https://login.salesforce.com/services/oauth2/token`

     - [OAuth 2.0 Grant Type: Password (Deprecated)](<https://documentation.sailpoint.com/connectors/salesforce/va/help/configuring_legacy_authentication.html#oauth-20-grant-type-password-deprecated>)
     - [OAuth 2.0 Grant Type: JWT (Deprecated)](<https://documentation.sailpoint.com/connectors/salesforce/va/help/configuring_legacy_authentication.html#oauth-20-grant-type-jwt-deprecated>)
     - [OAuth 2.0 Grant Type: Refresh Token (Deprecated)](<https://documentation.sailpoint.com/connectors/salesforce/va/help/configuring_legacy_authentication.html#oauth-20-grant-type-refresh-token-deprecated>)
     - [OAuth 2.0 Grant Type: Client Credentials (Deprecated)](<https://documentation.sailpoint.com/connectors/salesforce/va/help/configuring_legacy_authentication.html#oauth-20-grant-type-client-credentials-deprecated>)
4. Select **Save**.

As an alternative to the Basic and OAuth 2.0 authentication types above, you can enable [External Client Application (ECA) authentication](<https://documentation.sailpoint.com/connectors/salesforce/va/help/configuring_eca_authentication.html>).

## Aggregation Settings

Define the scope of the records to fetch when aggregating user accounts and entitlements. Refer to [Configuring Aggregation](<https://documentation.sailpoint.com/connectors/salesforce/va/help/configuring_aggregation.html>).

## Configuration Parameters

This section contains the information that this connector uses to connect and interact with the source. Each source type requires different information to create and maintain a connection.

The Salesforce connector uses the following connection parameters:

> [!NOTE]
>
> All attributes marked with an asterisk (\*) are mandatory attributes.

| Parameter | Description |
| --- | --- |
| Connection Timeout | Timeout value in minutes. Default - One minute. |
| Disable User Creation Email Notification | Enable this to prevent emails from being sent when a user is created. |
| Exclude Disabled Accounts | Enable this to exclude disabled users. This works by adding the following condition to the `where` clause of the search query for users: `AND user.IsActive = true` |
| Exclude Frozen Accounts | Enable this to exclude users that have the flag value for `IsFrozen` set to true in Salesforce. |
| Password\* | This parameter defines the password used for logging in to the managed system. This is the API user's Salesforce.com password. If the client's IP address has not been whitelisted in your organization, add a security token to your password for OAuth 2.0 authentication. Password must be `Account Password + Security Token`. For example, if you have account password such as SAilpoint123 and the security token is @34567, the combined password entry will be SAilpoin123@34567. |
| Search Query for User/Profile | Determines the scope of the users or profiles that are retrieved during account or entitlement aggregation. Refer to [Search Query for Users and Profiles](<https://documentation.sailpoint.com/connectors/salesforce/va/help/configuring_aggregation.html#search-query-for-users-and-profiles>) for details and examples. |
| Service Account | Salesforce account with required permissions. |
| Source Description\* | Details necessary to distinguish the source from other similar connection sources. |
| Salesforce URL\* | Enter the fully qualified URL to the root of the Salesforce server. Not applicable if **Enable OAuth2 API** is selected. For example: `http://login.salesforce.com/services/Soap/u/26.0/` |

To find the Salesforce URL for your site, log in to salesforce.com:

1. Select **Develop** under the **Application** heading.
2. Go to **API \> Generate Partner WSDL**.
3. Select **Generate**.

The URL is located under the *SalesforceService* service name.

## Configuring Additional Features

- To create portal or partner users, refer to [Creating Portal and Partner Users](<https://documentation.sailpoint.com/connectors/salesforce/va/help/provisioning.html#creating-portal-and-partner-users>).
- To configure password management, refer to Password Management.

## Direct Permissions

The Salesforce source supports the ability to read direct permissions for Group Profiles. In new sources, the `includePermissions` attribute is set to `true` by default in a given Group Profile schema. This attribute enables the connector to fetch the direct permissions associated to the Group Profile.

For the pre-existing sources, perform the following steps to update the `includePermissions` attribute value for the group profile schema.

- Use [listSources API](<https://developer.sailpoint.com/docs/api/list-sources-v-1/>) to get the source ID for your source.
- Use [listSchemas API](<https://developer.sailpoint.com/docs/api/get-source-schemas-v-1/>) to get the schema ID for the group profile schema for which you want to include direct permissions.
- Use [updateSchema API](<https://developer.sailpoint.com/docs/api/update-source-schema-v-1/>) and enter the following content in the body.

  ```json
  {
  "op": "replace",
  "path": "/includePermissions",
  "value": true
  }
  ```

After these steps, run entitlement aggregation to fetch the direct permissions associated to the Group Profile.

## Review and Test

Perform a test to confirm the connection to SailPoint.

1. Go to **Review and Test**.
2. Confirm that the entries in each field are correct.

   If you note any mistakes, return to the section and make corrections.
3. Select **Test Connection**.

## SailPoint Application Onboarding

SailPoint application onboarding enables you to easily onboard new applications and create sources following the successful onboarding of a discovery source. To use this feature, continue to **Discovered Applications** in the SailPoint user interface.

For more information, refer to [Application Onboarding](<https://documentation.sailpoint.com/saas/help/ai/app_onboarding/index.html>) in the SailPoint SaaS documentation.
