Sync data from ThoughtSpot to ServiceNow

Prerequisites

Before you create a sync to ServiceNow from ThoughtSpot, sign in to ServiceNow to find your instance URL, Client Secret, and Client ID. You need this information to create the connection to send your data to ServiceNow.

Configure ServiceNow OAuth in ThoughtSpot

OAuth must be activated in ServiceNow to use the app in ThoughtSpot. To activate ServiceNow OAuth, review the setup documentation.
  1. From the ServiceNow Home tab, click Prepare OAuth on ServiceNow. You will be taken to the ServiceNow website.

  2. Create a new OAuth entry in your application registry.

  3. Create an OAuth API endpoint for external clients.

  4. Enter ThoughtSpot in the Name field.

  5. Users in the US region should configure the following redirect URL in the Redirect URL field: https://seekwell.dataplane-public.aws-us-east-1.thoughtspot.cloud/servicenow_save_oauth.
    Users in the EU region should use: https://seekwell.dataplane-public.aws-eu-central-1.thoughtspot.cloud/servicenow_save_oauth.

  6. ServiceNow will generate a client ID and client secret. Save these to connect ServiceNow to ThoughtSpot.

  7. Click Submit.

Sync to ServiceNow from an Answer

To create a sync to ServiceNow from an Answer, follow these steps:

  1. Select the desired Answer from the Answers tab or the ThoughtSpot homepage. You must have Can manage sync permissions and view access to an Answer to create a sync.

  2. In the upper-right corner of the Answer, click the more options menu icon More options menu icon. From the dropdown menu, select Sync to other apps, then choose ServiceNow.

  3. If this is the first sync you have created for ServiceNow, a pop-up authorization window appears. To give ThoughtSpot permission to send data to your ServiceNow account, fill out the Instance url, Client id, and Client secret found in the Prerequisites. In the authorization pop-up that appears, click Allow.

    ServiceNow instance url
  4. Within ThoughtSpot, fill in the following parameters:

    • Edit the Pipeline name if needed. By default, this field populates with PL-[Answer Name].

    • If you have more than one ServiceNow destination set up, then the Destination field appears, and you will have to select a ServiceNow destination from the dropdown available. However, if no destinations have been set up before or if you have only one ServiceNow destination, the Destination field will not appear.

    • Select your ServiceNow Object from the dropdown menu. The available options are Cases, Contacts, Incidents, and Tasks.

    • Select Operation from the dropdown menu. You can choose between Create, Update, and Delete.

      Not all objects will support all three operations.
    • Map the Source and Destination columns from the dropdowns provided.

      ServiceNow Sync window

  5. By default, “Save and sync” is selected. Select Save to send your data to ServiceNow. Your data immediately appears in ServiceNow.

  6. [Optional] To set up a repeated sync, click Schedule your sync and select your timezone. From the options provided, choose whether the sync will occur every:

    • n minutes. You can choose to schedule a sync every 5, 10, 15, 20, 30, or 45 minutes.

    • n hours.

    • n days at a selected time. Note that you can choose not to send an update on weekends.

    • week at a selected time and day.

    • n months at a selected time and date.

Any sync over 50,000 rows may result in an execution timeout. For optimal performance, keep your sync to below 50,000 rows. If you’re syncing a large number of rows and the sync fails, try applying filters like date filters to make your dataset smaller and then sync.

Roles

To enable the Contact and Case objects requires the Customer Service plugin (com.sn_customerservice), and users require the csm_ws_integration role for full API access. External users with sn_customerservice.customer or sn_customerservice.consumer roles can access the case API endpoints.

Non-admin users require the personalize_dictionary role to access custom fields.

Sync to ServiceNow from a Custom SQL View

To sync to ServiceNow from a custom SQL view, follow these steps:

  1. Navigate to your SQL view by selecting the Data tab and searching from the Data Workspace home page. Select the SQL view name.

  2. In the upper right corner, click the more options menu icon more options menu icon and select Sync to ServiceNow.

  3. If this is the first sync you have created for ServiceNow, a pop-up authorization window appears. To give ThoughtSpot permission to send data to your ServiceNow account, fill out the Instance url, Client id, and Client secret found in the Prerequisites. In the authorization pop-up that appears, click Allow.

  4. Within ThoughtSpot, fill in the following parameters:

    • Edit the Pipeline name if needed. By default, this field populates with PL-[Answer Name].

    • If you have more than one ServiceNow destination set up, then the Destination field appears, and you will have to select a ServiceNow destination from the dropdown available. However, if no destinations have been set up before or if you have only one ServiceNow destination, the Destination field will not appear.

    • Select your ServiceNow Object from the dropdown menu. The available options are Cases, Contacts, Incidents, and Tasks.

    • Select Operation from the dropdown menu. You can choose between Create, Update, and Delete.

      Not all objects will support all three operations.
    • Map the Source and Destination columns from the dropdowns provided.

  5. By default, “Sync and save” is selected. Select Save to send your data to ServiceNow. Your data immediately appears in ServiceNow.

  6. [Optional] To set up a repeated sync, click Schedule your sync and select your timezone. From the options provided, choose whether the sync will occur every:

    • n minutes. You can choose to schedule a sync every 5, 10, 15, 20, 30, or 45 minutes.

    • n hours.

    • n days at a selected time. Note that you can choose not to send an update on weekends.

    • week at a selected time and day.

    • n months at a selected time and date.

Any sync over 50,000 rows may result in an execution timeout. For optimal performance, keep your sync to below 50,000 rows. If you’re syncing a large number of rows and the sync fails, try applying filters like date filters to make your dataset smaller and then sync.

Roles

To enable the Contact and Case objects requires the Customer Service plugin (com.sn_customerservice), and users require the csm_ws_integration role for full API access. External users with sn_customerservice.customer or sn_customerservice.consumer roles can access the case API endpoints.

Non-admin users require the personalize_dictionary role to access custom fields.

Sync to ServiceNow from the Data Workspace

To create a sync to ServiceNow from the Data Workspace, follow these steps:

  1. Select the Data tab.

  2. On the left menu bar, select Sync.

  3. Under the Pipelines tab, select “Create new pipeline”. Note that if you do not already have a destination created to the intended destination app, you first need to create one in the Destinations tab.

  4. Fill in the following parameters:

    • Edit the Pipeline name if needed. By default, this field populates with PL-[Answer Name].

    • All destinations available appear in the Destination dropdown.

    • Select your Source data. Here you will pick an Answer or a custom SQL view to send through sync.

    • Select the Object from the dropdown menu. The available options are Cases, Contacts, Incidents, and Tasks.

    • Select the Operation from the dropdown menu. You can choose between Create, Update, and Delete.

      Not all objects will support all three operations.
    • Map the source and destination columns from the dropdowns provided.

  5. By default, “Save and sync” is selected. Select Save to send your data to ServiceNow. Your data immediately appears in ServiceNow.

  6. [Optional] To set up a repeated sync, click Schedule your sync and select your timezone. From the options provided, choose whether the sync will occur every:

    • n minutes. You can choose to schedule a sync every 5, 10, 15, 20, 30, or 45 minutes.

    • n hours.

    • n days at a selected time. Note that you can choose not to send an update on weekends.

    • week at a selected time and day.

    • n months at a selected time and date.

Any sync over 50,000 rows may result in an execution timeout. For optimal performance, keep your sync to below 50,000 rows. If you’re syncing a large number of rows and the sync fails, try applying filters like date filters to make your dataset smaller and then sync.

Roles

To enable the Contact and Case objects requires the Customer Service plugin (com.sn_customerservice), and users require the csm_ws_integration role for full API access. External users with sn_customerservice.customer or sn_customerservice.consumer roles can access the case API endpoints.

Non-admin users require the personalize_dictionary role to access custom fields.

Update and delete records in ServiceNow

To update and delete records in ServiceNow, the Sys Id field must be used as the mapping field. The following table shows the mapping needed for each object in ServiceNow to update or delete records in ServiceNow.

ServiceNow object Source column Destination column

Cases

Sys_id

Sys_id

Contacts

Update and delete function not supported.

Update and delete function not supported.

Incidents

Sys_id

Sys_id

Tasks

Sys_id

Sys_id

This Sys_id is a 32-digit value that can be found by right-clicking the individual value of an object. For example, by right-clicking a specific incident number like in the following image.

Right-click an incident number to see Sys_id

Failure to sync

A sync to ServiceNow can fail due to multiple reasons. If you experience a sync failure, consider the following causes:

  • The underlying ThoughtSpot object was deleted.

  • The underlying ServiceNow object was deleted.

  • The column name was changed in either ThoughtSpot or ServiceNow, making it different to the column name setup in the mapping.

  • There are data validation rules in ServiceNow which only allow data with a certain data type to be populated in the ServiceNow fields, but the columns being mapped onto ServiceNow from ThoughtSpot do not have the same or allowable data types.

  • There is a mandatory field in ServiceNow which has not been mapped onto as a destination column when setting up the mapping in ThoughtSpot.

Manage pipelines

While you can also manage a pipeline from the Pipelines tab in the Data Workspace, accessing the Manage pipelines option from an Answer or view displays all pipelines local to that specific data object. To manage a pipeline from an Answer or view, follow these steps:

  1. Click the more options menu icon more options menu icon and select Manage pipelines.

  2. Scroll to the name of your pipeline from the list that appears. Next to the pipeline name, select the more options icon more options menu icon. From the list that appears, select:

    • Edit to edit the pipeline’s properties. For example, for a pipeline to Google Sheets, you can edit the pipeline name, file name, sheet name, or cell number. Note that you cannot edit the source or destination of a pipeline.

    • Delete to permanently delete the pipeline.

    • Sync now to sync your Answer or view to the designated destination.

    • View run history to see the pipeline’s Activity log in the Data Workspace.

      More options menu for a pipeline

Related information