How to Set Up Log In with OAuth Tokens in Exalate for ServiceNow

    This article applies to Exalate Classic only. For New Exalate, refer to this documentation

    To sync your data, Exalate requires access to your ServiceNow instance. To avoid storing sensitive information, we provide an alternative way to authenticate to a ServiceNow instance without storing usernames and passwords. Exalate supports the Oauth2 protocol of ServiceNow.

    How to Authenticate and Set Up Exalate with OAuth2

    1. Enable OAuth on ServiceNow

    To use OAuth API in ServiceNow, make sure the com.snc.platform.security.oauth.is.active system property is in true.

    Note: For more information, please see the ServiceNow documentation.


    2. Create an endpoint for clients to access the instance

    2.1. After logging in - navigate to System OAuth Application Registry  New.

    2.2. Select Create an OAuth API endpoint for external clients.

    2.3. Provide a name for the application registry and extend the access token lifespan. 




    The name is used to identify the application registry.  Exalate auto-renews the access token whenever the application lifespan expires. The lifespan is expressed in seconds, 7200 seconds is 2 hours.

    Set the following fields:

    2.4. Enter Redirect URL — must be exact, no trailing slash: https://connect.exalate.net/rest/oauth/callback

    2.5. Submit the entry, reopen the registry, and then copy client_id and client_secret

    You need to log in using Basic Authentication.

    4. Access General Settings and hit Configure

    5. Select Auth Protocol - OAuth Token.

    6. Enter the Client ID and Client Secret copied in step 5, and save.

    7. In a newly opened ServiceNow window, click Allow to allow Exalate to connect to your ServiceNow account.



    Already Have an OAuth Client Set Up? (Migrating from Manual Token Generation)


    If you configured OAuth for ServiceNow before this release, you may have been generating access tokens manually — running a curl command against ServiceNow and pasting the token into Exalate each time it expired.

    This release removes that manual step. Once you complete the update below, Exalate obtains and refreshes tokens automatically — no curl, no copy-pasting tokens.

    Note: This update is required to log in using OAuth, but does not affect syncing. Your existing connections and saved tokens will continue to work without interruption.


    1. Update your existing OAuth client in ServiceNow

    1.1. In ServiceNow, navigate to System OAuth > Application Registry and open the entry you created previously for Exalate — you don't need to create a new one.

    1.2. Update the Redirect URL field to the new callback URL — must be exact, no trailing slash: https://connect.exalate.net/rest/oauth/callback

    1.3. Confirm Application is set to Global and Scope Restriction to Broadly Scoped. Older manual-token registrations sometimes used Securely Scoped, which fails API calls with 403 Access to unscoped api is not allowed.

    Note: If the steps above don't resolve the connection, check that the OAuth grant type on the Application Registry entry is OAuth - Authorization code, not Resource Owner Password Credentials (the grant type used by the old manual-token flow). You may need to update this alongside the redirect URL.

    2. Reconnect in Exalate

    2.1. Go to your node's General Settings and hit Configure. Keep your existing Client ID and Client Secret, with Auth Protocol set to OAuth Token, and click Save.

    2.2. In the popup that opens, log in as the proxy user and click Allow.

    2.3. Done — tokens are obtained and stored automatically. No more manual token generation.