ServiceNow Connector
Documentation
Version: 1
Documentation

ServiceNow Connector Examples


The ZappySys API Driver is a user-friendly interface designed to facilitate the seamless integration of various applications with the ServiceNow API. With its intuitive design and robust functionality, the ZappySys API Driver simplifies the process of configuring specific API endpoints to efficiently read or write data from ServiceNow.

On this page you will find some SQL examples which can be used for API ODBC Driver or Data Gateway API Connector.

Get a list of incidents    [Read more...]

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

Get an incident by sys_id    [Read more...]

SELECT * FROM incident
WHERE sys_id = 'SYS_ID_GOES_HERE'

Get only selected columns and speed up the query    [Read more...]

By default all column values are returned in the result set. However, you can instruct the ServiceNow API to send only specific columns you care about by setting 'Fields' parameter in the WITH clause. This will speed up the response significantly.

SELECT number,name FROM incident WITH (Fields='number,name') --Setting Fields parameter will speed up the query

Get the display value of a reference field    [Read more...]

This example shows how to get related record(s) from the reference field. Basically, you need to know referenced table name for that referenced field. Then you can query by sys_id (Primary Key)

--STEP#1 returns incident number and related company (sys_id)
SELECT number,company FROM incident

--STEP#2 find related table for company field
select name,reference from get_table_columns order by 1 WITH(TableName='incident')

--STEP#3 query related table with sys_id returned in step#1
select sys_id, name  from core_company where sys_id='31bea3d53790200044e0bfc8bcbe5dec'

Query table using serverside filter expression    [Read more...]

This example shows how to filter data from a table using server side filter expression. Its always faster to do this way rather than using in WHERE clause (Client Side Filter)

SELECT * FROM incident WITH(Query='number=INC0000001') --Equal condition

--syntax (single condition)
--sysparm_query=<col_name><operator><value>

--syntax (multiple conditions)
--sysparm_query=<col_name><operator><value>[<operator><col_name><operator><value>]

--more info check below links
--  https://docs.servicenow.com/bundle/rome-application-development/page/integrate/inbound-rest/concept/c_TableAPI.html#title_table-GET
--  https://docs.servicenow.com/bundle/utah-platform-user-interface/page/use/common-ui-elements/reference/r_OpAvailableFiltersQueries.html
  
--More examples				
--SELECT * FROM any_table_here WHERE sys_id='109562a3c611227500a7b7ff98cc0dc7' --Primary Key in WHERE clause
--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)

Create an incident    [Read more...]

INSERT INTO incident(incident_state, severity, category, cause)
VALUES (3, 1, 'software', 'Missing a software feature.')

Update an incident    [Read more...]

UPDATE incident
SET cause = 'A bug in the software'
   ,severity = 3
   ,incident_state = 2
WHERE sys_id = 'SYS_ID_GOES_HERE'

Delete an incident    [Read more...]

DELETE incident
WHERE sys_id = 'SYS_ID_GOES_HERE'

Get a list of tables    [Read more...]

SELECT * FROM Tables

Get a list of system tables    [Read more...]

SELECT * FROM SystemTables

Get a list of user tables    [Read more...]

SELECT * FROM UserTables

Get columns of a specific table    [Read more...]

SELECT * FROM get_table_columns
where name = 'TableNameGoesHere'

Get all columns of all tables (can be slow)    [Read more...]

SELECT * FROM get_table_columns_admin --requires readonly permissions on sys_dictionary and sys_db_object tables

Use 'generic_request' endpoint to get Accounts    [Read more...]

Use 'generic_request' endpoint to get Accounts (or access another ServiceNow API). Use ServiceNow API Reference and Query Builder to build custom requests.

SELECT *
FROM generic_request
WITH(
	Url='/v2/table/incident?sysparm_limit=10000&sysparm_query=numberLIKE0001^ORDERBYsys_created_on',
	Filter='$.result',
	Meta='sys_id:string;number:string;business_stc:int', --//comment this to see all columns (SLOW)
	PagingMode='ByResponseHeaderRfc5988',
  --Method='GET',
  --Body='{your POST body}'  
)

-- Request URL should be partial like this one:
-- /v2/some_table?some-parameter=somevalue1&some-parameter=somevalue2

Getting Started with Examples

ZappySys API Driver is a powerful software solution designed to facilitate the extraction and integration of data from a wide range of sources through APIs. Its intuitive design and extensive feature set make it an essential asset for any organization dealing with complex data integration tasks.

To get started with examples using ZappySys API Driver, please click on the following applications:

SQL Server Connect ServiceNow in SQL Server
Power BI Connect ServiceNow in Power BI
SSRS Connect ServiceNow in SSRS
Informatica Connect ServiceNow in Informatica
MS Access Connect ServiceNow in MS Access
MS Excel Connect ServiceNow in MS Excel
SSAS Connect ServiceNow in SSAS
C# Connect ServiceNow in C#
Python Connect ServiceNow in Python
JAVA Connect ServiceNow in JAVA
Tableau Connect ServiceNow in Tableau
SAP Crystal Reports Connect ServiceNow in SAP Crystal Reports
Azure Data Factory (ADF) Connect ServiceNow in Azure Data Factory (ADF)
ODBC Connect ServiceNow in ODBC

Key features of the ZappySys API Driver include:

The API ODBC driver facilitates the reading and writing of data from numerous popular online services (refer to the complete list here) using familiar SQL language without learning complexity of REST API calls. The driver allows querying nested structure and output as a flat table. You can also create your own ODBC / Data Gateway API connector file and use it with this driver.

  1. Intuitive Configuration: The interface is designed to be user-friendly, enabling users to easily set up the specific API endpoints within ServiceNow without requiring extensive technical expertise or programming knowledge.

  2. Customizable Endpoint Setup: Users can conveniently configure the API endpoint settings, including the HTTP request method, endpoint URL, and any necessary parameters, to precisely target the desired data within ServiceNow.

  3. Data Manipulation Capabilities: The ZappySys API Driver allows for seamless data retrieval and writing, enabling users to fetch data from ServiceNow and perform various data manipulation operations as needed, all through an intuitive and straightforward interface.

  4. Secure Authentication Integration: The driver provides secure authentication integration, allowing users to securely connect to the ServiceNow API by inputting the necessary authentication credentials, such as API tokens or other authentication keys.

  5. Error Handling Support: The interface is equipped with comprehensive error handling support, ensuring that any errors or exceptions encountered during the data retrieval or writing process are efficiently managed and appropriately communicated to users for prompt resolution.

  6. Data Visualization and Reporting: The ZappySys API Driver facilitates the seamless processing and presentation of the retrieved data from ServiceNow, enabling users to generate comprehensive reports and visualizations for further analysis and decision-making purposes.

Overall, the ZappySys API Driver serves as a powerful tool for streamlining the integration of applications with ServiceNow, providing users with a convenient and efficient way to access and manage data, all through a user-friendly and intuitive interface.