--- title: Set up the Salesforce spoke description: Integrate your Salesforce account with your ServiceNow instance. Create a custom OAuth application in Salesforce and authenticate requests from ServiceNow.Add and configure a Salesforce connection to authenticate ServiceNow requests in Salesforce spoke.Create a connected app in your Salesforce account to enable OAuth 2.0 authentication with the Salesforce spoke.Integrate your Salesforce account with your ServiceNow instance. Create a custom OAuth application in Salesforce and authenticate requests from ServiceNow using OAuth authorization template.Integrate your Salesforce account with your ServiceNow instance. Create a custom OAuth application in Salesforce and authenticate requests from ServiceNow using JWT signing key.Enable the JSON Web Token \(JWT\) Bearer Grant token authentication by attaching a valid Java KeyStore \(JKS\) certificate to the Salesforce spoke.Create a JSON Web Token \(JWT\) signing key to assign to your Java KeyStore certificate.Add a JSON Web Token \(JWT\) provider to your ServiceNow instance.Use the information generated during Salesforce connected app configuration to register Salesforce as an OAuth provider and enable the instance to request OAuth 2.0 tokens.Create Credential records for the Salesforce connected app that you created. The Salesforce spoke connection and credential alias use these credentials to authorize actions.Create connection records for your Salesforce account. The Salesforce spoke connection and credential alias use these connections to perform actions in Salesforce. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/integrate-applications/integration-hub/setup-sf-spk.html release: australia product: Integration Hub classification: integration-hub topic_type: task last_updated: "2026-03-12" reading_time_minutes: 13 breadcrumb: [Salesforce Spoke, Integration Hub spokes, Build integrations, Integration Hub, Workflow Data Fabric] --- # Set up the Salesforce spoke Integrate your Salesforce account with your ServiceNow instance. Create a custom OAuth application in Salesforce and authenticate requests from ServiceNow. ## Before you begin - Request an Integration Hub subscription - Activate the Salesforce spoke - Role required: admin. **Note:** Two spoke setup procedures are outlined here. Perform one of the procedures as per your requirement. - To setup the spoke using OAuth authorization template, see [Option 1: Set up the Salesforce spoke using OAuth authorization template](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/setup-sf-spk.md). - To setup the spoke using JWT signing key, see [Option 2: Set up the Salesforce spoke using JWT signing key](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/setup-sf-spk.md). **Note:** Don't delete the default connection alias record. This can result in an unexpected behavior. Configure your connection using the default connection alias. ## Configure a connection for Salesforce spoke Add and configure a Salesforce connection to authenticate ServiceNow requests in Salesforce spoke. ### Before you begin Role required: admin ### Procedure 1. Navigate to **Process Automation** > **Workflow Studio**. 2. Select **Integrations**. 3. Select the **Connections** tab. 4. Use the search box to find the **Salesforce** connection alias. 5. Select **View Details**.\[Omitted image "salesforce-spoke-conn-templt.png"\] Alt text: Connection template for Salesforce spoke 6. Configure the Salesforce connection. 1. Add or edit a connection. - To set up an existing connection, select **Configure** or **Edit**. - To create and configure a new connection, select **Add Connection**. **Note:** To support multiple connections through a spoke, see [Supporting multiple connections](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/integrate-applications/integration-hub/support-multiple-connections.md). 2. On the configuration form, fill in the fields.
| Field | Description |
|---|---|
| Connection Name | Name to uniquely identify the connection. For example, `Salesforce`. |
| Connection URL \(Instance URL\) |
URL to make a connection to Salesforce. Use this format: `https:// |
| Grant Type | OAuth grant type for authentication. Select one of the following options: - **Authorization Code** - **Client Credentials** |
| OAuth Client ID | Client ID generated in Salesforce for OAuth authentication. |
| OAuth Client Secret | Client Secret generated in Salesforce for OAuth authentication. |
| OAuth Redirect URL |
URL where Salesforce redirects after successful authentication. Use this format: `https:// |
| Grant Type | OAuth scopes |
|---|---|
| Authorization Code | - **Access and manage your data \(api\)** - **Perform requests on your behalf at any time \(refresh\_token, offline\_access\)** |
| Client Credentials | **Access and 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 | If this field is selected by default, clear the **Require Secret for Web Server Flow** and **Require Secret for Refresh Token Flow** options.**Note:** Enable **Require Proof Key for Code Exchange \(PKCE\) Extension for Supported Authorization Flows**. |
| Field | Value required |
|---|---|
| Name | Name to uniquely identify the record. For example, enter `Salesforce OAuth`. |
| Client ID | Consumer key that you generated during the Salesforce connected app configuration. |
| Client Secret | Consumer secret that you generated during the Salesforce connected app configuration. |
| OAuth API Script | Optional script to customize the request and response. |
| Default Grant type | Grant type used to establish the token. Select **JWT Bearer**. |
| Refresh Token Lifespan | Time, in seconds, that the refresh token is valid. The default time is 8,640,0000 seconds. |
| PKCE required | Option to enable public clients to require PKCE for an authorization.**Note:** You can use only **Authorization Code** as the **Default Grant type** when **PKCE** is enabled. |
| Application | Application scope that contains this record. Select Salesforce. |
| Accessible from | Application scope that this registry is accessible from. |
| Active | Option to actively use the application registry. |
| Authorization URL | This field should be left blank. |
| Token URL | OAuth server token endpoint.- For production instance, enter `https://login.salesforce.com/services/oauth2/token`. - For sandbox instance, enter `https://test.salesforce.com/services/oauth2/token` |
| Token Revocation URL | This field should be left blank. |
| Redirect URL | This field should be left blank. |
| Field | Value required |
|---|---|
| Name | Name to uniquely identify the connection record. For example, enter `Salesforce Connection`. |
| Credential | Credential record you that created for Salesforce. For example, select **Salesforce Credentials**. |
| Connection alias | Alias record associated with this connection. |
| URL builder | **Note:** Do not select the check box. |
| Connection URL |
Base URL to connect to your Salesforce instance. For example, `https:// |
| Use MID server | Option to use a MID Server. If you select this check box, define the fields in the Advanced MID Server Configuration related list. |
| Active | Option to actively use the connection. |
| Domain | Domain that the action or activity runs in. |