--- title: "ServiceNow" slug: "configuring-servicenow-for-integration" updated: 2026-11-03T10:51:08Z published: 2026-11-03T10:51:08Z canonical: "docs.britive.com/configuring-servicenow-for-integration" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.britive.com/llms.txt > Use this file to discover all available pages before exploring further. # ServiceNow Britive supports the following ticket types for ServiceNow integration: Incident, Change Request, Change Task, Problem, Problem Task, Service Request, Service Request Task, and Vulnerability Task. Britive supports the following authentication methods: | Auth Type | What the admin enters in Britive | Recommended | | --- | --- | --- | | Basic Authentication | Login URL, Username, Password | Only applicable to existing connections | | API Key | Login URL, API Key | Acceptable | | OAuth 2.0 (Client Credentials) | Login URL, Client ID, Client Secret | Yes | | OAuth 2.0 (JWT Bearer) | Login URL, Client ID, Client Secret, Subject, Key ID | Yes, most secure authentication. | Before creating a ServiceNow connection in Britive, you must create a service account and configure authentication on ServiceNow: 1. [Creating a service user account](/v1/docs/configuring-servicenow-for-integration#create-a-service-user-account). 2. Configure ServiceNow based on the authentication type: 1. OAuth 2.0 (JWT Bearer): 1. Download Britive's certificate from **Admin** → **Security** → **SAML Configurations** → **Export WIF Certificate** and upload it to ServiceNow. The downloaded file is named *britive-wif.cer* in both cases. For more information, see [SAML Configurations](/v1/docs/saml-configurations). 2. Create the OAuth JWT app in ServiceNow, and link the certificate to a Key ID. 1. The key ID in Britive must match it exactly. 2. The subject is the integration user's value in the app's User field (for example, email). 3. Use the Client ID exactly as ServiceNow generated it. Britive rejects other values. 4. Upload the certificate to ServiceNow if Britive's certificate is ever replaced. 2. OAuth 2.0 (Client Credentials): Create an OAuth 2.0 application in ServiceNow and note down the client ID and client secret. For more information, see [Set up OAuth](https://www.servicenow.com/docs/r/platform-security/authentication/t_SettingUpOAuth.html). 3. API key-based authentication: 1. [Creating an API key](/v1/docs/configuring-servicenow-for-integration#create-an-api-key) 4. Basic Authentication: Set *Identity type = Machine* *(“Web service access only”)*. ### Creating a service user account Create a ServiceNow user using the following steps: 1. Create a ServiceNow integration user (non-admin) with a valid email address and password. For more information, see [Users and Groups](https://developer.servicenow.com/dev.do#!/learn/courses/rome/app_store_learnv2_aescreateappfromscratch_rome_create_an_app_from_scratch_with_app_engine_studio/app_store_learnv2_aescreateappfromscratch_rome_secure_apps_and_data/app_store_learnv2_aescreateappfromscratch_rome_users_and_groups) ServiceNow documentation. 2. Give that user read access to every ticket type the connection will use. For more information, see [Assigning a Role to a User](https://developer.servicenow.com/dev.do#!/learn/courses/rome/app_store_learnv2_securingapps_rome_securing_applications/app_store_learnv2_securingapps_rome_securing_applications_against_unauthorized_users/app_store_learnv2_securingapps_rome_roles). 3. For a vulnerability task-type incident, you need to have a read role from ServiceNow’s separately licensed Vulnerability Response app. ### Creating an API Key Note: Required only for API key-based authentication. Create an API key in the ServiceNow instance using the following steps: 1. Create an API key. For more information, see the [Configure API key](https://docs.servicenow.com/bundle/washingtondc-platform-security/page/integrate/authentication/task/configure-api-key.html) ServiceNow documentation. Enter the following fields while creating an API key. 1. Select the default option *x-sn-apikey: Auth Header* for **Auth Parameter**. 2. Associate the user created in [Creating a service user account](/v1/docs/configuring-servicenow-for-integration#create-a-service-user-account) with the REST API key. 3. Enter the following options in the **API Access Policies** form**.** For more information about ServiceNow access policies, see [REST API access policies](https://docs.servicenow.com/bundle/xanadu-platform-security/page/integrate/inbound-rest/concept/api-access-policy-prioritization.html). 1. Enter the name of the API key. 2. Check the **Active** checkbox. 3. Select **Table API** from the **REST API** drop-down list. 4. Check these checkboxes: **Apply to all methods**, **Apply to all resources**, **Apply to all versions**. 2. [Optional] The API key creation and defining access policy impact the REST API basic authentication. Add the **On-call subscription basic authentication profile** to the **Authentication Profile** for the above-created access policy to avoid impacting basic authentication. This additional step is required only if the ServiceNow instance is already using or planning to use basic authentication for other functions, including the ServiceNow onboarded application in Britive. Note: The ServiceNow onboarded application uses basic authentication. For more information, see the [ServiceNow Onboarding Guide](https://docs.britive.com/docs/britive-servicenow-integration-guide). ### Configuring ServiceNow settings for filter syntactical validation The ServiceNow default behavior ignores the invalid part of the query. To alter this default behavior, you need to set *glide.invalid_query.returns_no_rows* property to *True.* This setting is required for syntactical validation of the *sysparm_query* parameter used in Britive. If this parameter is not configured, it is the administrator's responsibility to define the correct value for the *sysparm_query.* For more information about the ServiceNow Table API and *sysparm_query* parameter, see [Table API](https://docs.servicenow.com/bundle/xanadu-api-reference/page/integrate/inbound-rest/concept/c_TableAPI.html). Note: The *glide.invalid_query.returns_no_rows* property controls the behavior of all queries across the ServiceNow instance, so make sure it does not disrupt other functions. In the ServiceNow instance, navigate to **System Properties->Categories->Search** and select **System-> Properties New** ***->* Add** the property with the name *glide.invalid_query.returns_no_rows* and *value* as *true.* ### Upgrading from basic authentication to OAuth 2.0 1. Set up the OAuth 2.0 method in ServiceNow. For more information, see [Set up OAuth](https://www.servicenow.com/docs/r/platform-security/authentication/t_SettingUpOAuth.html). 2. Edit the connection in Britive and change **Auth Type**. 3. Fill in all of the new fields. 4. Click **Test and Save**. If the test fails, nothing changes. If it passes, the connection keeps its name and ticket types, so profiles keep working, and the old password is removed. For more information, see [Managing ITSM Connections](/v1/docs/creating-itsm-connection#managing-itsm-connections).