Skip to main content

ServiceNow

ServiceNow is a cloud-based platform that provides IT service management, customer service management, and enterprise workflow automation solutions to help organizations streamline operations and improve service delivery.

ServiceNow icon

Power end-to-end data operations for your ServiceNow API with Nexla. Our bi-directional ServiceNow connector is purpose-built for ServiceNow, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to ServiceNow or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your ServiceNow workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a ServiceNow credential, you need to obtain your ServiceNow Instance URL, Username, and Password from your ServiceNow account. ServiceNow uses Basic Authentication for all API requests, with the username and password sent in the Authorization header.

To obtain your ServiceNow credentials, follow these steps:

  1. Sign in to your ServiceNow instance using your administrator credentials.

  2. Your ServiceNow Instance URL is the base URL of your ServiceNow instance. This typically follows the format https://{myinstance}.service-now.com (e.g., https://dev12345.service-now.com). You can find this in your browser's address bar when you're signed in to ServiceNow.

  3. Your Username is the username you use to sign in to your ServiceNow instance. This should be a user account with appropriate permissions to access the API endpoints you need.

  4. Your Password is the password associated with your ServiceNow username. Ensure the user account has the necessary API permissions and roles to access the data you need.

  5. For API access, ensure your ServiceNow user account has the appropriate roles and permissions:

    • REST API Explorer role for basic API access
    • web_service_admin role for administrative API operations
    • itil role for ITIL-related tables
    • Additional roles may be required depending on the specific tables and data you need to access
  6. Store all credentials securely, as you will need them to configure your Nexla credential. The Username and Password are sensitive information and should be kept confidential.

The Username and Password are used for Basic Authentication in all API requests to the ServiceNow API. The credentials are sent in the Authorization header with Basic Authentication encoding. The Instance URL is used to construct the API endpoint URL for your ServiceNow instance (e.g., {instance_url}/api/now/v2/table/{table_name}). If your credentials are compromised, you should immediately change your ServiceNow password and review your account security settings. For detailed information about ServiceNow API authentication, user roles, and available endpoints, refer to the ServiceNow REST API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
UsernameYesNoServiceNow Username
PasswordYesYesServiceNow Password
ServiceNow Instance URLYesNoYour ServiceNow instance base url. Usually this is of the format https://<myinstance>.service-now.com

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – ServiceNow

ServiceNowCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Enter your ServiceNow Instance URL in the ServiceNow Instance URL field. This should be the base URL of your ServiceNow instance, including the protocol (e.g., https://dev12345.service-now.com). The Instance URL is used to construct the API endpoint URL for your ServiceNow instance.

  3. Enter your ServiceNow Username in the Username field. This is the username you use to sign in to your ServiceNow instance. The Username is used along with the Password in Basic Authentication for all API requests to the ServiceNow API. Ensure the user account has the necessary API permissions and roles to access the data you need.

  4. Enter your ServiceNow Password in the Password field. This is the password associated with your ServiceNow username. The Password is used along with the Username in Basic Authentication for all API requests to the ServiceNow API. The Password is sensitive information and must be kept confidential.

    Your ServiceNow credentials can be found in your ServiceNow instance. The Instance URL is the base URL of your ServiceNow instance (e.g., https://dev12345.service-now.com). The Username and Password are your ServiceNow account credentials.

    The Username and Password are used for Basic Authentication in all API requests to the ServiceNow API. The credentials are sent in the Authorization header with Basic Authentication encoding. Ensure your ServiceNow user account has the appropriate roles and permissions (e.g., REST API Explorer, web_service_admin) to access the API endpoints you need.

    If your credentials are compromised, you should immediately change your ServiceNow password and review your account security settings. The credentials provide access to your ServiceNow instance data and should be treated as sensitive information. Keep your credentials secure and do not share them publicly.

    For detailed information about ServiceNow API authentication, user roles, and available endpoints, see the ServiceNow REST API documentation.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the ServiceNow connector tile, then select the credential that will be used to connect to your ServiceNow instance, and click Next; or, create a new ServiceNow credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common ServiceNow endpoints. Each template is designed specifically for the corresponding ServiceNow endpoint, making data source setup easy and efficient. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

List Tables

This endpoint template retrieves a list of all tables in your ServiceNow instance. Use this template when you need to discover available tables for use with other endpoints or to populate input fields for other endpoints.

  • This endpoint automatically retrieves all tables from your ServiceNow instance. No additional configuration is required beyond selecting this endpoint template.

This endpoint returns a list of all tables in your ServiceNow instance, including table names and labels. Use this endpoint to discover available tables for use with other endpoints or to populate input fields for other endpoints.

For detailed information about tables, API response structures, and available table data, see the ServiceNow REST API documentation.

Fetch All Records from Table

This endpoint template retrieves all records for a specified table from your ServiceNow instance. This endpoint fetches records from the default namespace using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version.

  • Enter the Table Name in the Table Name field. This should be the name of the ServiceNow table from which you want to retrieve records (e.g., incident, sys_user, cmdb_ci). The table name determines which table's records will be retrieved. You can find available table names by using the "List Tables" endpoint.

This endpoint retrieves all records for a specified table from your ServiceNow instance. The endpoint uses link header pagination with Link header to handle large datasets efficiently. Nexla will automatically follow the pagination links to fetch subsequent pages of data.

This endpoint fetches records from the default namespace using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version. The table name can be found by using the "List Tables" endpoint or in your ServiceNow instance documentation.

For detailed information about table records, API response structures, pagination, and available record data, see the ServiceNow REST API documentation.

Fetch All Incidents

This endpoint template retrieves all records for the incident table from your ServiceNow instance. This endpoint fetches records from the default namespace (now) using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version.

  • This endpoint automatically retrieves all incident records from your ServiceNow instance. The endpoint uses link header pagination to handle large datasets efficiently.

This endpoint retrieves all records for the incident table from your ServiceNow instance, including incident details, status, priority, and other incident metadata. The endpoint uses link header pagination with Link header to handle large datasets efficiently. Nexla will automatically follow the pagination links to fetch subsequent pages of data.

This endpoint fetches records from the default namespace (now) using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version. For detailed information about incidents, API response structures, pagination, and available incident data, see the ServiceNow REST API documentation.

Fetch CSM Cases

This endpoint template retrieves all CSM (Customer Service Management) cases from your ServiceNow instance. This endpoint fetches records from the default namespace using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version.

  • This endpoint automatically retrieves all CSM cases from your ServiceNow instance. The endpoint uses link header pagination to handle large datasets efficiently.

This endpoint retrieves all CSM cases from your ServiceNow instance, including case details, status, priority, and other case metadata. The endpoint uses link header pagination with Link header to handle large datasets efficiently. Nexla will automatically follow the pagination links to fetch subsequent pages of data.

This endpoint fetches records from the default namespace using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version. For detailed information about CSM cases, API response structures, pagination, and available case data, see the ServiceNow REST API documentation.

Fetch CSM Accounts

This endpoint template retrieves all CSM (Customer Service Management) accounts from your ServiceNow instance. This endpoint fetches records from the default namespace (now) using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version.

  • This endpoint automatically retrieves all CSM accounts from your ServiceNow instance. The endpoint uses offset-based pagination to handle large datasets efficiently, returning up to 10 records per page by default.

This endpoint retrieves all CSM accounts from your ServiceNow instance, including account details, contact information, and other account metadata. The endpoint uses offset-based pagination with sysparm_offset and sysparm_limit parameters to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by incrementing the offset parameter.

This endpoint fetches records from the default namespace (now) using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version. For detailed information about CSM accounts, API response structures, pagination, and available account data, see the ServiceNow REST API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

ServiceNow data sources can also be manually configured to ingest data from any valid ServiceNow API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom query parameters and filters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

ServiceNow API typically uses the GET method for retrieving data, with endpoint URLs of the form {instance_url}/api/now/table/{table_name} or {instance_url}/api/now/v2/table/{table_name}.

For the Response Data Path, use $.result[*] to extract all items from the result array, or $[*] to extract all items from the response array, depending on your endpoint. ServiceNow paginates most table endpoints using the Link header, or with sysparm_offset and sysparm_limit parameters for some endpoints, such as CSM accounts.

Once all of the relevant settings have been configured, click the Next button to proceed with the rest of the data flow configuration, or click Save to save the data source configuration for later use.

Use as a destination

Click the + icon on the Nexset that will be sent to the ServiceNow destination, and select the Send to Destination option from the menu. Select the ServiceNow connector from the list of available destination connectors, then select the credential that will be used to connect to your ServiceNow instance, and click Next; or, create a new ServiceNow credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common ServiceNow endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create new Incident

This endpoint template allows you to create a new incident in your ServiceNow instance using records from a Nexset. This endpoint inserts a new record into the incident table in the default namespace (now) using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version.

  • This endpoint sends data as JSON in the request body to create a new incident in your ServiceNow instance. Each record from your Nexset will be sent as a separate API request to create a new incident. The request body should contain the incident data in the format required by the ServiceNow API, including incident details, description, priority, and other incident properties.

This endpoint sends data as JSON in the request body to create a new incident in your ServiceNow instance. Each record from your Nexset will be sent as a separate API request to create a new incident. The request body should contain the incident data in the format required by the ServiceNow API, including incident details, description, priority, assignment, and other incident properties.

This endpoint inserts a new record into the incident table in the default namespace (now) using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version. The incident structure must match the ServiceNow API's expected format.

For detailed information about incident creation, request body formats, and available incident properties, see the ServiceNow REST API documentation.

Create new CSM Case

This endpoint template allows you to create a new CSM (Customer Service Management) case in your ServiceNow instance using records from a Nexset. This endpoint inserts a new record in the default namespace using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version.

  • This endpoint sends data as JSON in the request body to create a new CSM case in your ServiceNow instance. Each record from your Nexset will be sent as a separate API request to create a new case. The request body should contain the case data in the format required by the ServiceNow API, including case details, description, priority, and other case properties.

This endpoint sends data as JSON in the request body to create a new CSM case in your ServiceNow instance. Each record from your Nexset will be sent as a separate API request to create a new case. The request body should contain the case data in the format required by the ServiceNow API, including case details, description, priority, assignment, and other case properties.

This endpoint inserts a new record in the default namespace using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version. The case structure must match the ServiceNow API's expected format.

For detailed information about CSM case creation, request body formats, and available case properties, see the ServiceNow REST API documentation.

Create new Record in Table

This endpoint template allows you to create a new record in a selected table in your ServiceNow instance using records from a Nexset. This endpoint inserts a new record in the default namespace (now) using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version.

  • Enter the Table Name in the Table Name (select or type) field. This should be the name of the ServiceNow table into which you want to insert records (e.g., incident, sys_user, cmdb_ci). The table name determines which table will receive the new records. You can find available table names by using the "List Tables" data source endpoint.

This endpoint sends data as JSON in the request body to create a new record in a selected table in your ServiceNow instance. Each record from your Nexset will be sent as a separate API request to create a new record. The request body should contain the record data in the format required by the ServiceNow API for the specific table.

This endpoint inserts a new record in the default namespace (now) using the latest version of the ServiceNow API. Use the custom REST configuration to access a different namespace or version. The table name can be found by using the "List Tables" data source endpoint or in your ServiceNow instance documentation. The record structure must match the ServiceNow API's expected format for the specific table.

For detailed information about record creation, request body formats, and available table properties, see the ServiceNow REST API documentation.

Manual configuration

ServiceNow destinations can also be manually configured to send data to any valid ServiceNow API endpoint. Using manual configuration, you can also configure Nexla to automatically send the response received from the ServiceNow API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

ServiceNow API typically uses the POST method for creating resources, and expects JSON format for all requests. The API endpoint URL should be the complete URL to your ServiceNow endpoint, for example {instance_url}/api/now/table/{table_name} or {instance_url}/api/now/v2/table/{table_name}. The request body format is typically {message.json} to send the entire Nexset data as JSON, or you can construct a custom JSON structure with specific field mappings.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured ServiceNow endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the ServiceNow endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.