The Sisense ServiceNow connector is a standalone connector that allows you to import data from ServiceNow’s API into the ElastiCube Manager. After you have downloaded and installed the connector, you can connect through a connection string you provide Sisense in the ElastiCube Manager. The connection string is used to authenticate users who connect to the ServiceNow APIs. To obtain a connection string, you will need to register a ServiceNow app.

Once you have connected to ServiceNow, you can import a variety of tables from the ServiceNow API.

This page describes how to install the ServiceNow connector, how to connect to ServiceNow with a connection string, and what tables you can import into the ElastiCube Manager:

Installing the ServiceNow Connector

Sisense provides the ServiceNow connector as a standalone connector that you can download and add to your list of default Sisense connectors.

To install the ServiceNow connector:

  1. Download the ServiceNow installation file.
  2. Open the installation file and click Install.
  3. After the installation process is complete, click Close.

The ServiceNow connector is displayed in the ElastiCube Manager under Add Data > Web Services.

Connecting to the ServiceNow REST API

To access ServiceNow’s REST API from the ElastiCube Manager, you must provide valid Oauth ServiceNow credentials through a connection string. These credentials are provided by ServiceNow when you create an application.

After you receive your credentials from ServiceNow, you can create the connection string and provide Sisense with it to connect to your data.

Registering an App

Follow the steps below to obtain the OAuth client credentials, the OAuthClientId and OAuthClientSecret:

  1. In the Navigator, click System OAuth> Application Registry.
  2. Click New and then click Create an OAuth API Endpoint for External Clients.
  3. Select the Active check box and enter the details for your app.

Authenticating through ServiceNow

After setting the following properties, you are ready to connect by providing the following details in a connection string:

  • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken connection property.
  • OAuthClientId: Set this to the Client Id in your app settings.
  • OAuthClientSecret: Set this to the Client Secret in your app settings.
  • Password: Set this to your password.
  • Username: Set this to your username.
  • Instance: Set this to your instance.

When you connect the driver opens the OAuth endpoint in your default browser. Log in and grant permissions to the application. The driver completes the OAuth process.

Adding ServiceNow Tables to your ElastiCube

Sisense uses connection strings to connect to ServiceNow and import data into the ElastiCube Manager.

The connection string to connect to ServiceNow has the following structure:

jdbc:ServiceNow:Property1=Value1;Property2=Value2;

The following is an example of a ServiceNow connection string:

jdbc:servicenow:InitiateOAuth=GETANDREFRESH;Instance=xxxxxxxxxx;OAuthClientId=xxxxxxxxxxxx;

OAuthClientSecret=xxxxxxxxx;Username=xxxxxxxxxx;Password=xxxxxxxxxxxxxxx;

To add ServiceNow data:

  1. In ElastiCube Manager, click Add Data and then, ServiceNow. The Connect to ServiceNow window is displayed.
  2. In Datasource Connection String, enter your connection string.
  3. Click Connect to Server. ServiceNow is displayed in the Select Database list.
  4. Click OK. Sisense connects to ServiceNow and displays a list of tables available for you to import.
  5. Select the relevant tables and click Add. The tables are displayed in the ElastiCube Manager.

Switching between Accounts

When you connect to the ServiceNow data source, Sisense saves your OAuth values in the file OAuthsettings.txt file located at …\Users\xxx\AppData\Roaming\CData\ServiceNow Data Provider on your Sisense server. To connect to the ServiceNow data source with another user on the same machine, you must delete the OAuthsettings.txt file. Sisense will then generate a new file for that user.

Another option to support multiple users is to define the location and file name of an OAuthsettings file for each unique user in your connection string through the OAuthSettingsLocation parameter. When each user connects to the data source, Sisense generates the OAuth file with the file name you specify in the location you define. In the examples below, two users are allowed to access the ServiceNow data source and for each user, Sisense generates a file that contains that user’s OAuth values in the location defined in the string.

jdbc:ServiceNow:OAuthSettingsLocation=C:\ServiceNow\auth\john.txt;OAuthClientId=11276856774486;OAuthClientSecret

=064c70d78567jm2b7e7e4224fad;InitiateOAuth=GETANDREFRESH;Version=2.8;CallbackURL=http://localhost/;

jdbc:ServiceNow:OAuthSettingsLocation=C:\ServiceNow\auth\sally.txt;OAuthClientId=11276856774486;OAuthClientSecret

=064c70d78567jm2b7e7e4224fad;InitiateOAuth=GETANDREFRESH;Version=2.8;CallbackURL=http://localhost/;

In the example above, to OAuth files are created, one for John and one for Sally in the location C:\ServiceNow\auth\.

This is useful if you support many users who each need to access the ServiceNow data source.

ServiceNow Tables

ServiceNow’s RESTful APIs expose the following ServiceNow tables that you can import into the ElastiCube Manager through the Sisense ServiceNow connector:

Available Tables

NameDescription
ast_contractThe ServiceNow table ast_contract.
ast_license_baseThe ServiceNow table ast_license_base.
change_requestThe ServiceNow table change_request.
cmdb_ciThe ServiceNow table cmdb_ci.
cmdb_metricThe ServiceNow table cmdb_metric.
cmn_buildingThe ServiceNow table cmn_building.
cmn_context_helpThe ServiceNow table cmn_context_help.
cmn_cost_centerThe ServiceNow table cmn_cost_center.
cmn_departmentThe ServiceNow table cmn_department.
cmn_locationThe ServiceNow table cmn_location.
cmn_map_pageThe ServiceNow table cmn_map_page.
cmn_notif_deviceThe ServiceNow table cmn_notif_device.
cmn_notif_device_variableThe ServiceNow table cmn_notif_device_variable.
cmn_notif_grmemberThe ServiceNow table cmn_notif_group.
cmn_notif_groupThe ServiceNow table cmn_notif_message.
cmn_notif_messageThe ServiceNow table cmn_notif_message.
cmn_notif_service_providerThe ServiceNow table cmn_notif_service_provider.
cmn_other_scheduleThe ServiceNow table cmn_other_schedule.
cmn_relative_durationThe ServiceNow table cmn_relative_duration.
cmn_scheduleThe ServiceNow table cmn_schedule.
cmn_schedule_blackoutThe ServiceNow table cmn_schedule_blackout.
cmn_schedule_conditionThe ServiceNow table cmn_schedule_condition.
cmn_schedule_maintenanceThe ServiceNow table cmn_schedule_maintenance.
cmn_schedule_pageThe ServiceNow table cmn_schedule_page.
cmn_schedule_spanThe ServiceNow table cmn_schedule_span.
cmn_timeline_pageThe ServiceNow table cmn_timeline_page.
cmn_timeline_page_styleThe ServiceNow table cmn_timeline_page_style.
cmn_timeline_sub_itemThe ServiceNow table cmn_timeline_sub_item.
diagrammer_actionThe ServiceNow table diagrammer_action.
expert_panelThe ServiceNow table expert_panel.
item_option_newThe ServiceNow table item_option_new.
questionThe ServiceNow table question.
sc_categoryThe ServiceNow table sc_category.
sc_cat_itemThe ServiceNow table sc_cat_item.
slaThe ServiceNow table sla.
sysautoThe ServiceNow table sysauto.
sysauto_scriptThe ServiceNow table sysauto_script.
syslogThe ServiceNow table syslog.
sysruleThe ServiceNow table sysrule.
system_db_objectThe ServiceNow table system_db_object.
system_dictionaryThe ServiceNow table system_dictionary.
system_documentationThe ServiceNow table system_documentation.
system_import_set_rowThe ServiceNow table system_import_set_row.
system_script_clientThe ServiceNow table system_script_client.
system_ui_policyThe ServiceNow table system_ui_policy.
system_ui_policy_actionThe ServiceNow table system_ui_policy_action.
taskThe ServiceNow table task.
v_field_creatorThe ServiceNow table v_field_creator.