--- title: Integrating with Salesforce CRM description: Integrating your Software Asset Management application with the Salesforce customer relationship management \(CRM\) services enable you to track your software subscriptions and to reclaim unused licenses.Register an application through the Salesforce admin portal.Create an integration profile to track software subscriptions and optimize licensing for the Salesforce CRM services.Create an integration profile for the first Salesforce organization for which you want to track software subscriptions and optimize licensing.Create an integration profile for each additional Salesforce organization that you want to track software subscriptions and optimize licensing for. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/it-asset-management/saas-license-management/integrate-with-salesforce-crm.html release: australia product: SaaS License Management classification: saas-license-management topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 24 breadcrumb: [Integrate with SaaS applications, SaaS License Management, Software Asset Management, IT Asset Management, Asset Management] --- # Integrating with Salesforce CRM Integrating your Software Asset Management application with the Salesforce customer relationship management \(CRM\) services enable you to track your software subscriptions and to reclaim unused licenses. **Note:** If you’re using Software Asset Workspace, use SaaS Playbook for integrating your ServiceNow instance with the Salesforce CRM. For more information about creating a Salesforce CRM integration profile through Playbook, see [Create a Salesforce CRM integration](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-asset-management/saas-license-management/playbook-salesforce-crm.md). The supported Salesforce CRM services include - Salesforce Sales Cloud - Salesforce Service Cloud - Salesforce Platform - Salesforce Customer Community - Salesforce Partner Community - Salesforce Company Community - Salesforce Chatter **Note:** For Experience Cloud login-based licenses such as Customer Community and Partner Community, the integration imports Daily Unique Logins \(once per user per day\) as consumption. This metric aligns with the Salesforce contractual licensing model used for compliance calculations and overage determinations. The total login event count shown in Salesforce isn't imported, as it isn't used for licensing compliance calculations. Both Salesforce Classic and Salesforce Lightning organizations are supported. **Note:** You can use custom license metrics to track entitlements for services that aren’t based on user subscriptions. For more details on how to create a custom license metric, see [Add a custom license metric](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-asset-management/software-asset-management/add-custom-license-metric.md). The Salesforce account that you use to connect the integration requires a Salesforce user license and the following user access permissions. **Important:** Minimize security risks and protect information by granting access only to the necessary user or API permissions.
| Process | Required user role in the Salesforce CRM application | Authentication scopes |
|---|---|---|
| Download subscriptions | User with the following permissions:- View Setup and Configuration - API Enabled | Application with grant type **Authorization code**: - manage your data \(api\) - Perform requests on your behalf at any time \(refresh\_token, offline access\) Application with grant type **Client Credentials**: manage your data \(api\) |
| Pull user activity | User with the following permissions:- View Setup and Configuration - API Enabled | Application with grant type **Authorization code**: - manage your data \(api\) - Perform requests on your behalf at any time \(refresh\_token, offline access\) Application with grant type **Client Credentials**: manage your data \(api\) |
| Reclaim subscription | User with Admin permissions | Application with grant type **Authorization code**: - manage your data \(api\) - Perform requests on your behalf at any time \(refresh\_token, offline access\) Application with grant type **Client Credentials**: manage your data \(api\) |
| Download consumption | User with the following permissions:- View Setup and Configuration - API Enabled | Application with grant type **Authorization code**: - manage your data \(api\) - Perform requests on your behalf at any time \(refresh\_token, offline access\) Application with grant type **Client Credentials**: manage your data \(api\) |
| Field | Description |
|---|---|
| Basic Information | |
| External Client App Name | Name of your application. |
| API Name | Name of the API. This field is automatically populated. |
| Contact Email | The email address that you want to associate with the application. |
| Distribution State | The scope of distribution of the application.Select **Local** as the distribution state. |
| Contact Phone | The phone number that you want to associate with the application. |
| Info URL | The URL of the web page with more information about your application. |
| Logo URL | The URL of your logo image that is displayed with the connected application. |
| Icon URL | The URL of the icon for the connected application. |
| Description | Description of the application. |
| API \(Enable OAuth Settings\) | |
| Enable OAuth | Option to enable OAuth settings.Select this option to enable the OAuth settings. |
| Callback URL | URL of the OAuth provider that users are redirected to after authentication. Enter `https://*instance*.service-now.com/oauth_redirect.do`, where <*instance*> is the name of your ServiceNow instance. |
| OAuth Scopes | OAuth scopes that determine the amount of access that is granted to an access token. When the grant type is **Authorization Code**, use: - **Manage user data via APIs \(api\)** - **Perform requests at any time \(refresh\_token, offline\_access\)** When the grant type is **Client Credentials**, use **Manage user data via APIs \(api\)**. |
| Flow Enablement | |
| Enable Client Credentials Flow | Select this option when the grant type is **Client Credentials**. |
| Security | |
| Require Secret for Web Server Flow | The option to implement the Require Secret for Web Server Flow in your external client app or connected app settings.- If the grant type is **Authorization Code**, select this option. - If the grant type is **Client Credentials**, clear this option. |
| Require Secret for Refresh Token Flow | The option in your external client app or connected app while implementing the refresh token flow using a server-side callback handler.- If the grant type is **Authorization Code**, select this option. - If the grant type is **Client Credentials**, clear this option. |
| Require Proof Key for Code Exchange \(PKCE\) Extension for Supported Authorization Flows | Clear this option. |
| Interface | Action |
|---|---|
| **Core UI** | 1. Navigate to **All** > **Software Asset** > **SaaS License** > **Direct Integration Profiles**. 2. Select **New**. 3. Select **Salesforce CRM Integration Profile**. |
| **Software Asset Workspace** | 1. Navigate to **License operations** > **User Subscriptions** > **Direct integration profiles**. 2. Select **New**. 3. Select **Salesforce CRM** from the drop-down list. 4. Select **Continue**. The Playbook launches for Salesforce CRM integration and the next steps aren't valid. For more information, see [Create a Salesforce CRM integration](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-asset-management/saas-license-management/playbook-salesforce-crm.md). |
| Field | Description |
|---|---|
| Display name | Name of the integration profile. Enter a name that uniquely identifies the Salesforce organization for which you’re creating this integration profile. For example, `SFDC Org1`. **Tip:** Keep this name short to help it displays better during reporting. |
| Status | Status of the integration profile.- If you have not published the integration profile, this field is automatically set to **Draft**. - If you have already published the integration profile, this field is automatically set to **Published**. |
| Profile type | Type of integration profile. This value is automatically set to **Salesforce CRM Subscription**. |
| Field | Description |
|---|---|
| Connection information | |
| Connection Name | Name of the connection. Enter a name that uniquely identifies the Salesforce organization for which you’re creating this connection and credential. For example, `SFDC Org1`. |
| Connection URL \(Instance URL\) | URL that displays after logging in to Salesforce or your custom domain URL of Salesforce. |
| Credential information | |
| Grant type | The grant type for your application according to your authentication needs. Possible values are: - **Authorization Code** - **Client Credentials** |
| OAuth Client ID | Client ID \(consumer key\) that is assigned to your Salesforce application. |
| OAuth Client Secret | Client secret \(consumer secret\) that is assigned to your Salesforce application. |
| OAuth Redirect URL | URL of the OAuth provider that users are redirected to after authentication. This is generally the URL of the ServiceNow instance that you specified in [Register a Salesforce application](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-asset-management/saas-license-management/integrate-with-salesforce-crm.md). |
| Interface | Action |
|---|---|
| **Core UI** | 1. Navigate to **All** > **Software Asset** > **SaaS License** > **Direct Integration Profiles**. 2. Select **New**. 3. Select **Salesforce CRM Integration Profile**. |
| **Software Asset Workspace** | 1. Navigate to **License operations** > **User Subscriptions** > **Direct integration profiles**. 2. Select **New**. 3. Select **Salesforce CRM** from the drop-down list. 4. Select **Continue**. The Playbook launches for Salesforce CRM integration and the next steps aren't valid. For more information, see [Create a Salesforce CRM integration](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-asset-management/saas-license-management/playbook-salesforce-crm.md). |
| Field | Description |
|---|---|
| Display name | Name of the integration profile. Enter a name that uniquely identifies the Salesforce organization for which you’re creating this integration profile. For example, `SFDC Org2`. **Tip:** Keep this name short to help it display better during reporting. |
| Status | Status of the integration profile.- If you have not published the integration profile, this field is automatically set to **Draft**. - If you have already published the integration profile, this field is automatically set to **Published**. |
| Profile type | Type of integration profile. This value is automatically set to **Salesforce CRM**. |
| Field | Description |
|---|---|
| Connection information | |
| Connection Name | Name of the connection. Enter a name that uniquely identifies the Salesforce organization for which you’re creating this connection and credential. For example, `SFDC Org2`. |
| Connection URL \(Instance URL\) | URL of the Salesforce instance that you’re connecting to through this integration. |
| Credential information | |
| Grant type | The grant type for your application according to your authentication needs. Possible values are:- **Authorization Code** - **Client Credentials** |
| OAuth Client ID | Client ID \(consumer key\) that is assigned to your Salesforce application. |
| OAuth Client Secret | Client secret \(consumer secret\) that is assigned to your Salesforce application. |
| OAuth Redirect URL | URL of the OAuth provider that users are redirected to after authentication.This is generally the URL of the ServiceNow instance that you specified in [Register a Salesforce application](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-asset-management/saas-license-management/integrate-with-salesforce-crm.md). |