How to integrate ServiceNow using SSIS
Learn how to quickly and efficiently connect ServiceNow with SSIS for smooth data access.
Read and write ServiceNow data effortlessly. Integrate, manage, and automate incidents, tasks, attachments, and records — almost no coding required. You can do it all using the high-performance ServiceNow Connector for SSIS. We'll walk you through the entire setup.
Ready to dive in? Download the product to jump right in, or follow the step-by-step guide below to see how it works.
Video Tutorial
This video covers the following topics and more, so please watch carefully. After watching the video, follow the steps outlined in this article:
- How to download and install the required PowerPack for ServiceNow integration in SSIS
- How to configure the connection for ServiceNow
- Features of the ZappySys API Source (Authentication / Query Language / Examples / Driver UI)
- How to use the ServiceNow in SSIS
Prerequisites
Before we begin, make sure the following prerequisites are met:
- SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
- Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
- SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).
Read data from ServiceNow in SSIS (Export data)
In this section we will learn how to configure and use ServiceNow Connector in API Source to extract data from ServiceNow.
-
Begin with opening Visual Studio and Create a New Project.
-
Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.
In the new SSIS project screen you will find the following:
- SSIS ToolBox on left side bar
- Solution Explorer and Property Window on right bar
- Control flow, data flow, event Handlers, Package Explorer in tab windows
- Connection Manager Window in the bottom
Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link. -
Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
-
From the SSIS toolbox drag and API Source (Predefined Templates) on the data flow designer surface, and double click on it to edit it:
-
Select New Connection to create a new connection:
-
Use a preinstalled ServiceNow Connector from Popular Connector List or press Search Online radio button to download ServiceNow Connector. Once downloaded simply use it in the configuration:
ServiceNow
-
Now it's time to configure authentication. Firstly, configure authentication settings in ServiceNow service and then proceed by configuring API Connection Manager. Start by expanding an authentication type:
ServiceNow authentication
Authenticate using ServiceNow instance username and password.
Locate your ServiceNow instance credentials and use them for HTTP authentication:
- Go to https://developer.servicenow.com/dev.do and log in.
- Click on your profile picture.
-
When a menu appears, click on Manage instance password or a similar option:
-
In a new window you will see your HTTP Basic Authentication credentials:
-
Done! Use this username and password when configuring HTTP Authentication parameters.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
Basic Auth (UserName and Password) [Http] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ServiceNowBasic Auth (UserName and Password) [Http]https://[$InstanceName$].service-now.com/api/nowRequired Parameters InstanceName (e.g. mycompany) Fill-in the parameter... User name Fill-in the parameter... Password Fill-in the parameter... Optional Parameters ApiVersion v2 RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True Date Time Value Handling
ServiceNow authentication
Authenticate using OAuth 2.0 Authorization Code Flow (3-legged)
Create OAuth application and use it for authentication:
- Login to your instance at https://your-instance-id.service-now.com.
-
Start by clicking on menu item All, then search for oauth, and click Application Registry option:
-
Then click button New:
-
Continue by clicking Create an OAuth API endpoint for external clients option:
-
Move on by naming your OAuth application and entering a Client Secret (or let it be generated automatically).
- Click on the lock icon next to the Redirect URL. Enter
https://zappysys.com/oauth. This is not needed if you use Client Credentials Grant or Password Grant -
Finally give it a final touch by increasing the Refresh Token Lifespan value to
315,360,000(it should last for 10 years):
- Change Default Grant Type as per your need. NOTE: If you prefer to use Client Credentials grant (Service account style access without using real userid-password) then your admin must enable it. Client Credentials is only supported on instances where it is explicitly enabled by the ServiceNow administrator. Its not supported in Dev / Free instance.
-
Done! Now you can use Client ID and Client Secret when configuring OAuth Authentication parameters.
Enable Client Credentials Grant Type
-
Enable the Client Credentials Grant Type:
Go to System Properties > All Properties, create a new property named
glide.oauth.inbound.client.credential.grant_type.enabled, and set it to true. - Configure the OAuth Application: Navigate to System OAuth > Application Registry, click New, and select Create an OAuth API endpoint for external clients. Set the name and save the record. In the Default Grant Type field, select Client Credentials and associate it with the integration user.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
OAuth Authorization Code Grant (User Creds) [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Press Generate Token button to generate the tokens.
- Finally, hit OK button:
ServiceNowOAuth Authorization Code Grant (User Creds) [OAuth]https://[$InstanceName$].service-now.com/api/nowRequired Parameters Redirect URI (***Must match as App Registry Page***) Fill-in the parameter...
ServiceNow authentication
Authenticate using OAuth Client Credentials Grant (Client ID and Client Secret). [API reference]
Create OAuth application and use it for authentication:
- Login to your instance at https://your-instance-id.service-now.com.
-
Start by clicking on menu item All, then search for oauth, and click Application Registry option:
-
Then click button New:
-
Continue by clicking Create an OAuth API endpoint for external clients option:
-
Move on by naming your OAuth application and entering a Client Secret (or let it be generated automatically).
- Click on the lock icon next to the Redirect URL. Enter
https://zappysys.com/oauth. This is not needed if you use Client Credentials Grant or Password Grant -
Finally give it a final touch by increasing the Refresh Token Lifespan value to
315,360,000(it should last for 10 years):
- Change Default Grant Type as per your need. NOTE: If you prefer to use Client Credentials grant (Service account style access without using real userid-password) then your admin must enable it. Client Credentials is only supported on instances where it is explicitly enabled by the ServiceNow administrator. Its not supported in Dev / Free instance.
-
Done! Now you can use Client ID and Client Secret when configuring OAuth Authentication parameters.
Enable Client Credentials Grant Type
-
Enable the Client Credentials Grant Type:
Go to System Properties > All Properties, create a new property named
glide.oauth.inbound.client.credential.grant_type.enabled, and set it to true. - Configure the OAuth Application: Navigate to System OAuth > Application Registry, click New, and select Create an OAuth API endpoint for external clients. Set the name and save the record. In the Default Grant Type field, select Client Credentials and associate it with the integration user.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
OAuth Client Credentials Grant (Must be enabled by Admin) [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ServiceNowOAuth Client Credentials Grant (Must be enabled by Admin) [OAuth]https://[$InstanceName$].service-now.com/api/nowThere are no parameters to configure.
ServiceNow authentication
Authenticate using OAuth Password Grant (ServiceNow instance username, password, OAuth Client ID, and Client Secret). [API reference]
Create OAuth application and use it for authentication:
- Login to your instance at https://your-instance-id.service-now.com.
-
Start by clicking on menu item All, then search for oauth, and click Application Registry option:
-
Then click button New:
-
Continue by clicking Create an OAuth API endpoint for external clients option:
-
Move on by naming your OAuth application and entering a Client Secret (or let it be generated automatically).
- Click on the lock icon next to the Redirect URL. Enter
https://zappysys.com/oauth. This is not needed if you use Client Credentials Grant or Password Grant -
Finally give it a final touch by increasing the Refresh Token Lifespan value to
315,360,000(it should last for 10 years):
- Change Default Grant Type as per your need. NOTE: If you prefer to use Client Credentials grant (Service account style access without using real userid-password) then your admin must enable it. Client Credentials is only supported on instances where it is explicitly enabled by the ServiceNow administrator. Its not supported in Dev / Free instance.
-
Done! Now you can use Client ID and Client Secret when configuring OAuth Authentication parameters.
Enable Client Credentials Grant Type
-
Enable the Client Credentials Grant Type:
Go to System Properties > All Properties, create a new property named
glide.oauth.inbound.client.credential.grant_type.enabled, and set it to true. - Configure the OAuth Application: Navigate to System OAuth > Application Registry, click New, and select Create an OAuth API endpoint for external clients. Set the name and save the record. In the Default Grant Type field, select Client Credentials and associate it with the integration user.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
OAuth Password Grant [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ServiceNowOAuth Password Grant [OAuth]https://[$InstanceName$].service-now.com/api/nowRequired Parameters User name Fill-in the parameter... Password Fill-in the parameter...
-
Select the desired endpoint, change/pass the properties values, and click on Preview Data button to make the API call.
API Source - ServiceNowRead and write ServiceNow data effortlessly. Integrate, manage, and automate incidents, tasks, attachments, and records — almost no coding required.
-
That's it! We are done! Just in a few clicks we configured the call to ServiceNow using ServiceNow Connector.
You can load the source data into your desired destination using the Upsert Destination , which supports SQL Server, PostgreSQL, and Amazon Redshift. We also offer other destinations such as CSV , Excel , Azure Table , Salesforce , and more . You can check out our SSIS PowerPack Tasks and components for more options. (*loaded in Trash Destination)
Write data to ServiceNow using SSIS (Import data)
In this section we will learn how to configure and use ServiceNow Connector in the API Destination to write data to ServiceNow.
Video tutorial
This video covers following and more so watch carefully. After watching this video follow the steps described in this article.
- How to download SSIS PowerPack for ServiceNow integration in SSIS
- How to configure connection for ServiceNow
- How to write or lookup data to ServiceNow
- Features about SSIS API Destination
- Using ServiceNow Connector in SSIS
Step-by-step instructions
In upper section we learned how to read data, now in this section we will learn how to configure ServiceNow in the API Source to POST data to the ServiceNow.
-
Begin with opening Visual Studio and Create a New Project.
-
Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.
In the new SSIS project screen you will find the following:
- SSIS ToolBox on left side bar
- Solution Explorer and Property Window on right bar
- Control flow, data flow, event Handlers, Package Explorer in tab windows
- Connection Manager Window in the bottom
Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link. -
Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
-
Read the data from the source, using any desired source component. You can even make an API call using the ZappySys JSON/XML/API Source and read data from there. In this example, we will use an OLE DB Source component to read real-time data from a SQL Server database.
-
From the SSIS Toolbox drag and drop API Destination (Predefined Templates) on the Data Flow Designer surface and connect source component with it, and double click to edit it.
-
Select New Connection to create a new connection:
API Destination - ServiceNowRead and write ServiceNow data effortlessly. Integrate, manage, and automate incidents, tasks, attachments, and records — almost no coding required.
-
To configure the ServiceNow connector, choose one of the following methods:
- Choose from Popular Connector List: Select a pre-installed service directly from the dropdown menu.
- Search Online: Use this to find and download a new connector file to your computer.
- Use Saved/Downloaded File: Once the file is downloaded, browse your local drive to load it into the configuration.
After that, just click Continue >>:
ServiceNow
-
Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.
ServiceNow authentication
Authenticate using ServiceNow instance username and password.
Locate your ServiceNow instance credentials and use them for HTTP authentication:
- Go to https://developer.servicenow.com/dev.do and log in.
- Click on your profile picture.
-
When a menu appears, click on Manage instance password or a similar option:
-
In a new window you will see your HTTP Basic Authentication credentials:
-
Done! Use this username and password when configuring HTTP Authentication parameters.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
Basic Auth (UserName and Password) [Http] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ServiceNowBasic Auth (UserName and Password) [Http]https://[$InstanceName$].service-now.com/api/nowRequired Parameters InstanceName (e.g. mycompany) Fill-in the parameter... User name Fill-in the parameter... Password Fill-in the parameter... Optional Parameters ApiVersion v2 RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True Date Time Value Handling
ServiceNow authentication
Authenticate using OAuth 2.0 Authorization Code Flow (3-legged)
Create OAuth application and use it for authentication:
- Login to your instance at https://your-instance-id.service-now.com.
-
Start by clicking on menu item All, then search for oauth, and click Application Registry option:
-
Then click button New:
-
Continue by clicking Create an OAuth API endpoint for external clients option:
-
Move on by naming your OAuth application and entering a Client Secret (or let it be generated automatically).
- Click on the lock icon next to the Redirect URL. Enter
https://zappysys.com/oauth. This is not needed if you use Client Credentials Grant or Password Grant -
Finally give it a final touch by increasing the Refresh Token Lifespan value to
315,360,000(it should last for 10 years):
- Change Default Grant Type as per your need. NOTE: If you prefer to use Client Credentials grant (Service account style access without using real userid-password) then your admin must enable it. Client Credentials is only supported on instances where it is explicitly enabled by the ServiceNow administrator. Its not supported in Dev / Free instance.
-
Done! Now you can use Client ID and Client Secret when configuring OAuth Authentication parameters.
Enable Client Credentials Grant Type
-
Enable the Client Credentials Grant Type:
Go to System Properties > All Properties, create a new property named
glide.oauth.inbound.client.credential.grant_type.enabled, and set it to true. - Configure the OAuth Application: Navigate to System OAuth > Application Registry, click New, and select Create an OAuth API endpoint for external clients. Set the name and save the record. In the Default Grant Type field, select Client Credentials and associate it with the integration user.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
OAuth Authorization Code Grant (User Creds) [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Press Generate Token button to generate the tokens.
- Finally, hit OK button:
ServiceNowOAuth Authorization Code Grant (User Creds) [OAuth]https://[$InstanceName$].service-now.com/api/nowRequired Parameters Redirect URI (***Must match as App Registry Page***) Fill-in the parameter...
ServiceNow authentication
Authenticate using OAuth Client Credentials Grant (Client ID and Client Secret). [API reference]
Create OAuth application and use it for authentication:
- Login to your instance at https://your-instance-id.service-now.com.
-
Start by clicking on menu item All, then search for oauth, and click Application Registry option:
-
Then click button New:
-
Continue by clicking Create an OAuth API endpoint for external clients option:
-
Move on by naming your OAuth application and entering a Client Secret (or let it be generated automatically).
- Click on the lock icon next to the Redirect URL. Enter
https://zappysys.com/oauth. This is not needed if you use Client Credentials Grant or Password Grant -
Finally give it a final touch by increasing the Refresh Token Lifespan value to
315,360,000(it should last for 10 years):
- Change Default Grant Type as per your need. NOTE: If you prefer to use Client Credentials grant (Service account style access without using real userid-password) then your admin must enable it. Client Credentials is only supported on instances where it is explicitly enabled by the ServiceNow administrator. Its not supported in Dev / Free instance.
-
Done! Now you can use Client ID and Client Secret when configuring OAuth Authentication parameters.
Enable Client Credentials Grant Type
-
Enable the Client Credentials Grant Type:
Go to System Properties > All Properties, create a new property named
glide.oauth.inbound.client.credential.grant_type.enabled, and set it to true. - Configure the OAuth Application: Navigate to System OAuth > Application Registry, click New, and select Create an OAuth API endpoint for external clients. Set the name and save the record. In the Default Grant Type field, select Client Credentials and associate it with the integration user.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
OAuth Client Credentials Grant (Must be enabled by Admin) [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ServiceNowOAuth Client Credentials Grant (Must be enabled by Admin) [OAuth]https://[$InstanceName$].service-now.com/api/nowThere are no parameters to configure.
ServiceNow authentication
Authenticate using OAuth Password Grant (ServiceNow instance username, password, OAuth Client ID, and Client Secret). [API reference]
Create OAuth application and use it for authentication:
- Login to your instance at https://your-instance-id.service-now.com.
-
Start by clicking on menu item All, then search for oauth, and click Application Registry option:
-
Then click button New:
-
Continue by clicking Create an OAuth API endpoint for external clients option:
-
Move on by naming your OAuth application and entering a Client Secret (or let it be generated automatically).
- Click on the lock icon next to the Redirect URL. Enter
https://zappysys.com/oauth. This is not needed if you use Client Credentials Grant or Password Grant -
Finally give it a final touch by increasing the Refresh Token Lifespan value to
315,360,000(it should last for 10 years):
- Change Default Grant Type as per your need. NOTE: If you prefer to use Client Credentials grant (Service account style access without using real userid-password) then your admin must enable it. Client Credentials is only supported on instances where it is explicitly enabled by the ServiceNow administrator. Its not supported in Dev / Free instance.
-
Done! Now you can use Client ID and Client Secret when configuring OAuth Authentication parameters.
Enable Client Credentials Grant Type
-
Enable the Client Credentials Grant Type:
Go to System Properties > All Properties, create a new property named
glide.oauth.inbound.client.credential.grant_type.enabled, and set it to true. - Configure the OAuth Application: Navigate to System OAuth > Application Registry, click New, and select Create an OAuth API endpoint for external clients. Set the name and save the record. In the Default Grant Type field, select Client Credentials and associate it with the integration user.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
OAuth Password Grant [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
ServiceNowOAuth Password Grant [OAuth]https://[$InstanceName$].service-now.com/api/nowRequired Parameters User name Fill-in the parameter... Password Fill-in the parameter...
-
Select the desired endpoint, change/pass the properties values, and go to the Mappings tab to map the columns.
API Destination - ServiceNowRead and write ServiceNow data effortlessly. Integrate, manage, and automate incidents, tasks, attachments, and records — almost no coding required.
-
Finally, map the desired columns:
API Destination - ServiceNowRead and write ServiceNow data effortlessly. Integrate, manage, and automate incidents, tasks, attachments, and records — almost no coding required.
-
That's it; we successfully configured the POST API Call. In a few clicks we configured the ServiceNow API call using ZappySys ServiceNow Connector
Load ServiceNow data into SQL Server using Upsert Destination (Insert or Update)
Once you configured the data source, you can load ServiceNow data into SQL Server using Upsert Destination.
Upsert Destination can merge or synchronize source data with the target table.
It supports Microsoft SQL Server, PostgreSQL, and Redshift databases as targets.
Upsert Destination also supports very fast bulk upsert operation along with bulk delete.
Upsert operation
- a database operation which performs INSERT or UPDATE SQL commands
based on record's existence condition in the target table.
It
Upsert Destination supports INSERT, UPDATE, and DELETE operations,
so it is similar to SQL Server's MERGE command, except it can be used directly in SSIS package.
-
From the SSIS Toolbox drag-and-drop Upsert Destination component onto the Data Flow designer background.
-
Connect your SSIS source component to Upsert Destination.
-
Double-click on Upsert Destination component to open configuration window.
-
Start by selecting the Action from the list.
-
Next, select the desired target connection or create one by clicking <New [provider] Connection> menu item from the Target Connection dropdown.
-
Then select a table from the Target Table list or click New button to create a new table based on the source columns.
-
Continue by checking Insert and Update options according to your scenario (e.g. if Update option is unchecked, no updates will be made).
-
Finally, click Map All button to map all columns and then select the Key columns to match the columns on:
-
Click OK to save the configuration.
-
Run the package and ServiceNow data will be merged with the target table in SQL Server, PostgreSQL, or Redshift:
-
Done!
Deploy and schedule SSIS package
After you are done creating SSIS package, most likely, you want to deploy it to SQL Server Catalog and run it periodically. Just follow the instructions in this article:
Running SSIS package in Azure Data Factory (ADF)
To use SSIS PowerPack in ADF, you must first prepare Azure-SSIS Integration Runtime. Follow this link for detailed instructions:
Supported ServiceNow Connector actions
Got a specific use case in mind? We've mapped out exactly how to perform a variety of essential ServiceNow operations directly in SSIS, so you don't have to figure out the setup from scratch. Check out the step-by-step guides below:
- Delete a Table Row
- Delete Attachment
- Delete table row
- Download Table Attachment (Single - Using Id)
- Download Table Attachments (Multiple - Using Query)
- Download Table Attachments By Parent Row Search
- Get Attachments
- Get Attachments By Parent Row Search
- Get List Of System Tables Admin Use Sys Db Object
- Get List of Tables
- Get List Of Tables Admin Use Sys Db Object
- Get List Of User Tables Admin Use Sys Db Object
- Get Record Labels (Tags)
- Get Table Columns
- Get Table Columns Admin Use Sys Dictionary
- Get Table Row Count
- Get Table Rows
- Test Connection
- Update a Table Row
- Upload Attachment
- Make Generic REST API Request
- Make Generic REST API Request (Bulk Write)
Conclusion
In this article we showed you how to connect to ServiceNow in SSIS and integrate data without writing complex code — all of this was powered by ServiceNow Connector.
Download SSIS PowerPack now or ping us via chat if you have any questions or are looking for a specific feature (you can also reach out to us by submitting a ticket):