ServiceNow Connector for Talend Studio

Allows the reading and writing of incidents, attachments, and more in ServiceNow without coding! The ZappySys ServiceNow API Connector provides easy-to-use, high-performance API access.

In this article you will learn how to quickly and efficiently integrate ServiceNow data in Talend Studio without coding. We will use high-performance ServiceNow Connector to easily connect to ServiceNow and then access the data inside Talend Studio.

Let's follow the steps below to see how we can accomplish that!

Download Documentation

Create Data Source in ZappySys Data Gateway based on API Driver

  1. Download and install ODBC PowerPack.

  2. Search for gateway in start menu and Open ZappySys Data Gateway:
    Open ZappySys Data Gateway

  3. Go to Users Tab to add our first Gateway user. Click Add; we will give it a name tdsuser and enter password you like to give. Check Admin option and click OK to save. We will use these details later when we create linked server:
    ZappySys Data Gateway - Add User

  4. Now we are ready to add a data source. Click Add, give data source a name (Copy this name somewhere, we will need it later) and then select Native - ZappySys API Driver. Finally, click OK. And it will create the Data Set for it and open the ZS driver UI.

    ServicenowDSN

    ZappySys Data Gateway - Add Data Source

  5. When the Configuration window appears give your data source a name if you haven't done that already, then select "ServiceNow" from the list of Popular Connectors. If "ServiceNow" is not present in the list, then click "Search Online" and download it. Then set the path to the location where you downloaded it. Finally, click Continue >> to proceed with configuring the DSN:

    ServicenowDSN
    ServiceNow
    ODBC DSN Template Selection
  6. Now it's time to configure the Connection Manager. Select Authentication Type, e.g. Token Authentication. Then select API Base URL (in most cases, the default one is the right one). More info is available in the Authentication section.

    Authenticate using ServiceNow instance username and password.

    Steps how to get and use ServiceNow credentials

    Locate your ServiceNow instance credentials and use them for HTTP authentication:

    1. Go to https://developer.servicenow.com/dev.do and log in.
    2. Click on your profile picture.
    3. When a menu appears, click on Manage instance password or a similar option:

      Manage instance password in ServiceNow
    4. In a new window you will see your HTTP Basic Authentication credentials:

      Use instance credentials to authenticate to ServiceNow
    5. Done! Use this username and password when configuring OAuth Authentication parameters.

    Fill in all required parameters and set optional parameters if needed:

    ServicenowDSN
    ServiceNow
    Basic Auth [Http]
    https://[$InstanceName$].service-now.com/api/now
    Required Parameters
    InstanceName 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
    ODBC DSN HTTP Connection Configuration

    Authenticate using ServiceNow instance username, password, OAuth Client ID, and Client Secret. [API reference]

    Steps how to get and use ServiceNow credentials

    Create OAuth application and use it for authentication:

    1. Login to your instance at https://your-instance-id.service-now.com.
    2. Start by clicking on menu item All, then search for oauth, and click Application Registry option:

      Locate OAuth configuration in ServiceNow
    3. Then click button New:

      Create new OAuth application in ServiceNow
    4. Continue by clicking Create an OAuth API endpoint for external clients option:

      Use ServiceNow OAuth application for external clients
    5. Move on by naming your OAuth application and entering a Client Secret (or let it be generated automatically).

    6. Finally give it a final touch by increasing the Refresh Token Lifespan value to 315,360,000 (it should last for 10 years):

      Configure OAuth application in ServiceNow
    7. Done! Now you can use Client ID and Client Secret when configuring OAuth Authentication parameters.

    Fill in all required parameters and set optional parameters if needed:

    ServicenowDSN
    ServiceNow
    OAuth [OAuth]
    https://[$InstanceName$].service-now.com/api/now
    Required Parameters
    InstanceName Fill-in the parameter...
    User name Fill-in the parameter...
    Password Fill-in the parameter...
    Client ID Fill-in the parameter...
    Client Secret Fill-in the parameter...
    ApiVersion Fill-in the parameter...
    Optional Parameters
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429|503
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ODBC DSN Oauth Connection Configuration

  7. Once the data source connection has been configured, it's time to configure the SQL query. Select the Preview tab and then click Query Builder button to configure the SQL query:

    ZappySys API Driver - ServiceNow
    Allows the reading and writing of incidents, attachments, and more in ServiceNow without coding! The ZappySys ServiceNow API Connector provides easy-to-use, high-performance API access.
    ServicenowDSN
    Open Query Builder in API ODBC Driver to read and write data to REST API
  8. Start by selecting the Table or Endpoint you are interested in and then configure the parameters. This will generate a query that we will use in Talend Studio to retrieve data from ServiceNow. Hit OK button to use this query in the next step.

    SELECT * FROM incident 
    
    --Using Primary Key				
    --SELECT * FROM any_table_here WHERE sys_id='109562a3c611227500a7b7ff98cc0dc7' --Primary Key in WHERE clause
    
    --Using Filter Expression
    --SELECT * FROM incident WITH(Query='number=INC0000001') --Equal condition
    --SELECT * FROM incident WITH(Query='number!=INC0000001') --Not equal condition
    --SELECT * FROM incident WITH(Query='numberININC0000001,INC0000002,INC0000003') --IN condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^state=7') --AND condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^ORnumber=INC0000002') --OR condition
    --SELECT * FROM incident WITH(Query='numberLIKE0001') --LIKE condition
    --SELECT * FROM incident WITH(Query='numberSTARTSWITHINC00') --StartWith condition
    --SELECT * FROM incident WITH(Query='numberENDSWITH0001') --StartWith condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^state=7^NQORnumber=INC0000002') --AND / OR MIXED using NQ (NewQuery Operator)  -- (number=INC0000001 and state=7) OR (number=INC0000002)
    
    --more information about filter here https://docs.servicenow.com/bundle/utah-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html
    
    
    -- To read all available tables execute this query:
    -- SELECT * FROM Tables
    
    -- Other common tables:
    -----------------------
    -- SELECT * FROM sys_db_object
    -- SELECT * FROM sys_dictionary
    -- SELECT * FROM sys_user
    -- SELECT * FROM sys_user_has_role
    -- SELECT * FROM sys_user_grmember
    -- SELECT * FROM task
    -- SELECT * FROM task_sla
    -- SELECT * FROM incident
    -- SELECT * FROM incident_sla
    -- SELECT * FROM change_request
    -- SELECT * FROM cmdb_ci_computer
    -- SELECT * FROM cmdb_ci_outage
    -- SELECT * FROM cmdb_ci
    -- SELECT * FROM sn_customerservice_case
    -- SELECT * FROM kb_knowledge
    -- SELECT * FROM kb_use
    -- SELECT * FROM sc_req_item
    -- SELECT * FROM sc_request
    -- SELECT * FROM sc_task
    Configure table/endpoint parameters in ODBC data source based on API Driver
    Some parameters configured in this window will be passed to the ServiceNow API, e.g. filtering parameters. It means that filtering will be done on the server side (instead of the client side), enabling you to get only the meaningful data much faster.
  9. Now hit Preview Data button to preview the data using the generated SQL query. If you are satisfied with the result, use this query in Talend Studio:

    ZappySys API Driver - ServiceNow
    Allows the reading and writing of incidents, attachments, and more in ServiceNow without coding! The ZappySys ServiceNow API Connector provides easy-to-use, high-performance API access.
    ServicenowDSN
    SELECT * FROM incident 
    
    --Using Primary Key				
    --SELECT * FROM any_table_here WHERE sys_id='109562a3c611227500a7b7ff98cc0dc7' --Primary Key in WHERE clause
    
    --Using Filter Expression
    --SELECT * FROM incident WITH(Query='number=INC0000001') --Equal condition
    --SELECT * FROM incident WITH(Query='number!=INC0000001') --Not equal condition
    --SELECT * FROM incident WITH(Query='numberININC0000001,INC0000002,INC0000003') --IN condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^state=7') --AND condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^ORnumber=INC0000002') --OR condition
    --SELECT * FROM incident WITH(Query='numberLIKE0001') --LIKE condition
    --SELECT * FROM incident WITH(Query='numberSTARTSWITHINC00') --StartWith condition
    --SELECT * FROM incident WITH(Query='numberENDSWITH0001') --StartWith condition
    --SELECT * FROM incident WITH(Query='number=INC0000001^state=7^NQORnumber=INC0000002') --AND / OR MIXED using NQ (NewQuery Operator)  -- (number=INC0000001 and state=7) OR (number=INC0000002)
    
    --more information about filter here https://docs.servicenow.com/bundle/utah-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html
    
    
    -- To read all available tables execute this query:
    -- SELECT * FROM Tables
    
    -- Other common tables:
    -----------------------
    -- SELECT * FROM sys_db_object
    -- SELECT * FROM sys_dictionary
    -- SELECT * FROM sys_user
    -- SELECT * FROM sys_user_has_role
    -- SELECT * FROM sys_user_grmember
    -- SELECT * FROM task
    -- SELECT * FROM task_sla
    -- SELECT * FROM incident
    -- SELECT * FROM incident_sla
    -- SELECT * FROM change_request
    -- SELECT * FROM cmdb_ci_computer
    -- SELECT * FROM cmdb_ci_outage
    -- SELECT * FROM cmdb_ci
    -- SELECT * FROM sn_customerservice_case
    -- SELECT * FROM kb_knowledge
    -- SELECT * FROM kb_use
    -- SELECT * FROM sc_req_item
    -- SELECT * FROM sc_request
    -- SELECT * FROM sc_task
    API ODBC Driver-based data source data preview
    You can also access data quickly from the tables dropdown by selecting <Select table>.
    A WHERE clause, LIMIT keyword will be performed on the client side, meaning that the whole result set will be retrieved from the ServiceNow API first, and only then the filtering will be applied to the data. If possible, it is recommended to use parameters in Query Builder to filter the data on the server side (in ServiceNow servers).
  10. Click OK to finish creating the data source.

Read ServiceNow data in Talend Studio

To read ServiceNow data in Talend Studio, we'll need to complete several steps. Let's get through them all right away!

This article is compatible with Talend Open Studio (a free version, currently retired by Qlik). If you don't have it, you can still purchase a shareware version of Talend Studio from Qlik.

Create connection for input

  1. First of all, open Talend Studio
  2. Create a new connection: Creating a new connection in Talend Studio
  3. Select Microsoft SQL Server connection: Creating SQL Server connection in Talend Studio
  4. Name your connection: Naming a connection in Talend Studio
  5. Fill-in connection parameters and then click Test connection:
    ServicenowDSN
    Configuring the ZappySys Data Gateway connection in Talend Studio
  6. If the List of modules not installed for this operation window shows up, then download and install all of them: Configure the connection
    Review and accept all additional module license agreements during the process
  7. Finally, you should see a successful connection test result at the end: Connection test successful

Add input

  1. Once we have a connection to ZappySys Data Gateway created, we can proceed by creating a job: Create a job in Talend Studio
  2. Simply drag and drop ZappySys Data Gateway connection onto the job: Creating an input based on ZappySys Data Gateway connection
  3. Then create an input based on ZappySys Data Gateway connection: Creating an input based on ZappySys Data Gateway connection
  4. Continue by configuring a SQL query and click Guess schema button: Configuring a SQL query in Talend Studio
  5. Finish by configuring the schema, for example: Configuring a schema in Talend Studio

Add output

We are ready to add an output. From Palette drag and drop a tFileOutputDelimited output and connect it to the input: Connecting tFileOutputDelimited output in Talend Studio

Run the job

Finally, run the job and integrate your ServiceNow data: Integrating ServiceNow data in Talend Studio

Actions supported by ServiceNow Connector

Learn how to perform common ServiceNow actions directly in Talend Studio with these how-to guides:

Conclusion

In this article we showed you how to connect to ServiceNow in Talend Studio and integrate data without any coding, saving you time and effort. It's worth noting that ZappySys API Driver allows you to connect not only to ServiceNow, but to any Java application that supports JDBC (just use a different JDBC driver and configure it appropriately).

We encourage you to download ServiceNow Connector for Talend Studio and see how easy it is to use it for yourself or your team.

If you have any questions, feel free to contact ZappySys support team. You can also open a live chat immediately by clicking on the chat icon below.

Download ServiceNow Connector for Talend Studio Documentation

More integrations

Other connectors for Talend Studio

All
Big Data & NoSQL
Database
CRM & ERP
Marketing
Collaboration
Cloud Storage
Reporting
Commerce
API & Files

Other application integration scenarios for ServiceNow

All
Data Integration
Database
BI & Reporting
Productivity
Programming Languages
Automation & Scripting
ODBC applications

  • How to connect ServiceNow in Talend Studio?

  • How to get ServiceNow data in Talend Studio?

  • How to read ServiceNow data in Talend Studio?

  • How to load ServiceNow data in Talend Studio?

  • How to import ServiceNow data in Talend Studio?

  • How to pull ServiceNow data in Talend Studio?

  • How to push data to ServiceNow in Talend Studio?

  • How to write data to ServiceNow in Talend Studio?

  • How to POST data to ServiceNow in Talend Studio?

  • Call ServiceNow API in Talend Studio

  • Consume ServiceNow API in Talend Studio

  • ServiceNow Talend Studio Automate

  • ServiceNow Talend Studio Integration

  • Integration ServiceNow in Talend Studio

  • Consume real-time ServiceNow data in Talend Studio

  • Consume real-time ServiceNow API data in Talend Studio

  • ServiceNow ODBC Driver | ODBC Driver for ServiceNow | ODBC ServiceNow Driver | SSIS ServiceNow Source | SSIS ServiceNow Destination

  • Connect ServiceNow in Talend Studio

  • Load ServiceNow in Talend Studio

  • Load ServiceNow data in Talend Studio

  • Read ServiceNow data in Talend Studio

  • ServiceNow API Call in Talend Studio