This article describes how to connect Tableau to ServiceNow IT Service Management (ITSM) data and set up the data source.
Note: For the most up-do-date information on this connector, see the ServiceNow ITSM help topic for the current version of Tableau.
Before you begin, gather this connection information:
- ServiceNow instance you want to connect to: cloud-based or on premises
- User name and password for a local ServiceNow account
To connect Tableau to ServiceNow, make sure that the following requirements are met:
- Use a local ServiceNow account. The ServiceNow API doesn’t support single sign-on (SSO), so the Tableau connector can only authenticate using a local ServiceNow account. For more information, see Use a local ServiceNow account.
- Have the correct permissions. Access control lists (ACLs) must provide the user the permission required to access the data. For more information see Troubleshoot data access.
- For on-premises, CORS is configured. Before you connect to an on-premises instance of ServiceNow, you must configure CORS for Tableau in ServiceNow. For more information, see Configure CORS for Tableau on ServiceNow(Link opens in a new window) in Tableau Community.
For cloud instances, proxy connection is required. The native ServiceNow connector routes
through "servicenow-auth-proxy.connectors.tableau.com" instead of directly from the local user's IP. The proxy is necessary
due to the way OAuth 2.0 is designed. It stores the unique client ID and secret required by OAuth to permit Tableau Desktop access to
Note: Don't apply IP address access controls in ServiceNow when using a proxy connection. If you do need to apply IP address access controls, use Find denied IP addresses(Link opens in a new window) to find the denied IPs, and then add Allow rules for them. Be aware of that an IP associated with "servicenow-auth-proxy.connectors.tableau.com" may change. This is a cloud service and does not have static IP. Tableau does not provide or update information about the IP.
Start Tableau and under Connect, select ServiceNow ITSM. For a complete list of data connections, select More under To a Server. Then do the following:
- Select Instance Location: Cloud-based or On Premise.
- Enter your ServiceNow instance, user name, and password for a local ServiceNow account.
Note: When you select On Premise, you must enter a full URL for the ServiceNow instance.
- Select Sign In.
- Select Filter Type: Relative date range or Fixed date range, and then select or specify the range.
If Tableau can't make the connection, verify that your credentials are correct. If you still can't connect, your computer is having trouble locating the server. Contact your network or ServiceNow administrator.
On the data source page, do the following:
(Optional) Select the default data source name at the top of the page, and then enter a unique data source name for use in Tableau. For example, use a data source naming convention that helps other users of the data source figure out which data source to connect to.
- Under Table, select a table and drag it to the top of the canvas.
Select the sheet tab to start your analysis.
After you select the sheet tab, Tableau imports the data by creating an extract. Note that Tableau Desktop supports only extracts for ServiceNow. You can update the data by refreshing the extract. For more information, see Extract Your Data.
Creating extracts might take some time depending on the amount of data that is included.
You can use a Dashboard Starter to quickly build informative dashboard designs made specifically for key business metrics on Tableau Desktop and Tableau Online. For more information, see Dashboard Starters for Cloud-based Data.
ServiceNow enforces an account's access permissions
ServiceNow accounts that have the Admin role can retrieve encrypted password values from the User table. This file will be null for accounts with less permissions. Because ServiceNow enforces the access permissions assigned to the account, be aware that there might be other sensitive fields in your data that an Admin can access.
Custom tables not supported
The Tableau connector for ServiceNow ITSM supports the ITSM service, which doesn't include custom tables.
ServiceNow provides table names
When you view tables in the Tableau connector, the tables are labeled according to their ServiceNow label, not the table name. For example, the table "sys_user_role" is shown by its label, "User Role". This label is determined by the ServiceNow connector.
Display value fields aren’t included in the data source
When you connect to a table that contains fields with display values (fields with a dv_ prefix), those fields aren’t included when you create a data source. You can add the display values by joining to the appropriate related tables that contain those values.
You must use a local account to connect Tableau to your data. If you don’t have a local ServiceNow account, we recommend that you ask your administrator to implement one of the following solutions:
- Create a local account and share it.
- Create a local account and temporarily share it long enough to extract the data and publish it to Tableau Online or Tableau Server. Then the administrator can save the new password and schedule refreshes.
- Create a local account on a non-production ("staging") instance and use it to create a data source. Give the data source to the administrator to edit the connection to point to the production instance, publish the data source to Tableau Online or Tableau Server, and schedule for data refreshes.
- Ask the administrator to publish the data sources you need.
When you apply a date filter, it's tempting to gather as much data as possible when you do an analysis, however, retrieving records from ServiceNow ITSM can be time-consuming. Tableau doesn’t know how much data there is in a particular date range until it retrieves the data. For this reason, you should restrict your date range at first, and then expand after you evaluate performance. Date filters are applied to these tables: metric_instance, change_request, incident, task, problem.
To give you a rough idea of how much time it might take to retrieve data from ServiceNow ITSM, tests were conducted using a high-speed connection. This table shows how long it took in the test environment to retrieve a given number of records.
|Number of records||
Time to retrieve
For ServiceNow ITSM users
If you see an error when you try to access data, for example, "You are not authorized to access this resource...," contact your ServiceNow administrator.
For ServiceNow administrators
ServiceNow uses access control lists (ACLs) to specify who has access to which data. Often the default permissions that are set for ServiceNow fulfillers are adequate for Tableau users to access the content they need to analyze ServiceNow ITSM data.
Tableau users need to access metadata about tables in ServiceNow, which is available in the following tables:
- sys_dictionary table (metadata about columns)
- sys_db_object table (metadata about tables)
- sys_glide_object table (metadata about field types)
If a Tableau user can't access ServiceNow ITSM data, make sure that the ACLs provide the user table level and field level read access to the tables above, and that there are no scripts that are locking down access.
To grant access to the metadata tables, as a best practice, you might consider creating a role with the ACLs needed to access the metadata tables, and then assign the role to a Tableau User group. Then, you can assign Tableau users to the group so that users can access the data needed for analysis in Tableau.
For information on the creation of an ACL, please see the ServiceNow Access control list rules(Link opens in a new window) on the ServiceNow website.