Zendesk Connector for JAVAZendesk Connector can be used to integrate Zendesk REST API in your App / BI Tools. You can read/write data about Tickets, Activity, Users, Organizations and more. In this article you will learn how to quickly and efficiently integrate Zendesk data in JAVA. We will use high-performance Zendesk Connector to easily connect to Zendesk and then access the data inside JAVA. Let's follow the steps below to see how we can accomplish that! Zendesk Connector for JAVA is based on ZappySys API Driver which is part of ODBC PowerPack. It is a collection of high-performance ODBC drivers that enable you to integrate data in SQL Server, SSIS, a programming language, or any other ODBC-compatible application. ODBC PowerPack supports various file formats, sources and destinations, including REST/SOAP API, SFTP/FTP, storage services, and plain files, to mention a few. |
Connect to Zendesk in other apps
|
Create Data Source in ZappySys Data Gateway based on API Driver
-
Download and install ODBC PowerPack.
-
Search for gateway in start menu and Open ZappySys Data Gateway:
-
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:
-
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.
ZendeskDSN
-
When the Configuration window appears give your data source a name if you haven't done that already, then select "Zendesk" from the list of Popular Connectors. If "Zendesk" 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:
ZendeskDSNZendesk -
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 Static Token instead of userid / password ([Token Access] option must be enabled under Admin Console > Channel > API > Settings and then Click [ADD API Token] to generate new token. These settings typically found here https://YOUR-SUB-DOMAIN.zendesk.com/agent/admin/api/settings [API reference]
Please refer to below API reference (external site) link for Token Authentication [Http]https://developer.zendesk.com/rest_api/docs/support/introduction#api-token
Fill in all required parameters and set optional parameters if needed:
ZendeskDSNZendeskToken Authentication [Http]https://[$Domain$].zendesk.com/api/v2Required Parameters Sub Domain (e.g. mycompany) Fill-in the parameter... UserId Fill-in the parameter... Token Fill-in the parameter... Optional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True OAuth App must be created under Admin Console > Channel > API > Settings. These settings typically found here https://YOUR-SUB-DOMAIN.zendesk.com/agent/admin/api/oauth_clients [API reference]
Please refer to below API reference (external site) link for OAuth Authentication [OAuth]https://developer.zendesk.com/rest_api/docs/support/introduction#oauth-access-token
Fill in all required parameters and set optional parameters if needed:
ZendeskDSNZendeskOAuth Authentication [OAuth]https://[$Domain$].zendesk.com/api/v2Required Parameters Sub Domain (e.g. mycompany) Fill-in the parameter... ClientId Fill-in the parameter... ClientSecret Fill-in the parameter... Permissions Fill-in the parameter... RedirectUrl Fill-in the parameter... Optional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True Authenticate using your userid / password (2FA must be OFF and [Password Access] option must be enabled under Admin Console > Channel > API > Settings. These settings typically found here https://YOUR-SUB-DOMAIN.zendesk.com/agent/admin/api/settings [API reference]
Please refer to below API reference (external site) link for UserID/Password Authentication (2FA must be OFF) [Http]https://developer.zendesk.com/rest_api/docs/support/introduction#basic-authentication.
Fill in all required parameters and set optional parameters if needed:
ZendeskDSNZendeskUserID/Password Authentication (2FA must be OFF) [Http]https://[$Domain$].zendesk.com/api/v2Required Parameters Sub Domain (e.g. mycompany) Fill-in the parameter... UserName (2FA Must be OFF) Fill-in the parameter... Password Fill-in the parameter... Optional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 429 RetryCountMax 5 RetryMultiplyWaitTime True -
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 - ZendeskZendesk Connector can be used to integrate Zendesk REST API in your App / BI Tools. You can read/write data about Tickets, Activity, Users, Organizations and more.ZendeskDSN -
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 JAVA to retrieve data from Zendesk. Hit OK button to use this query in the next step.
SELECT * FROM Tickets
Some parameters configured in this window will be passed to the Zendesk 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 datamuch faster . -
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 JAVA:
ZappySys API Driver - ZendeskZendesk Connector can be used to integrate Zendesk REST API in your App / BI Tools. You can read/write data about Tickets, Activity, Users, Organizations and more.ZendeskDSNSELECT * FROM Tickets
You can also access data quickly from the tables dropdown by selecting <Select table>.AWHERE
clause,LIMIT
keyword will be performed on the client side, meaning that thewhole result set will be retrieved from the Zendesk 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 Zendesk servers). -
Click OK to finish creating the data source.
Read data in Java from the DSN
-
Java code to get the data:
"jdbc:sqlserver://localhost:5000;databasename=ZendeskDSN;user=tdsuser;password=test" -
When you run the code it will make the API call and read the data:
-
Here is Java program's code in text format:
//Step-1: Install ZappySys ODBC PowerPack and Configure Data Gateway //Step-2:Assuming the Microsoft SQL Server JDBC Driver is in below folder //C:\Program Files\Microsoft Jdbc Driver 6.0 for SQL Server\sqljdbc_6.0\enu\auth\x64 package padaone; import java.sql.*; public class zappy { public static void main(String[] args) { // Create a variable for the connection string. String connectionUrl = "jdbc:sqlserver://localhost:5000;databasename=ZendeskDSN;user=test;password=test"; // Declare the JDBC objects. Connection con = null; Statement stmt = null; ResultSet rs = null; try { // Establish the connection. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection(connectionUrl); // Create and execute an SQL statement that returns some data. String SQL = "SELECT Country , SUM(UnitPrice * Quantity) Total " + "FROM value " + "GROUP BY Country " + "WITH (SRC='https://services.odata.org/V3/Northwind/Northwind.svc/Invoices?$format=json')"; stmt = con.createStatement(); rs = stmt.executeQuery(SQL); // Iterate through the data in the result set and display it. while (rs.next()) { System.out.println(rs.getString(1) + " " + rs.getString(2)); } } // Handle any errors that may have occurred. catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) try { rs.close(); } catch (Exception e) {} if (stmt != null) try { stmt.close(); } catch (Exception e) {} if (con != null) try { con.close(); } catch (Exception e) {} } } }
Actions supported by Zendesk Connector
Learn how to perform common Zendesk actions directly in JAVA with these how-to guides:
- Create Organization
- Create Ticket (Single)
- Create Tickets (Bulk)
- Create User
- Delete Attachment
- Delete Organization
- Delete Ticket
- Delete Tickets (Bulk)
- Delete Upload Session
- Delete User
- Read Attachment
- Read Brands
- Read Current User Info
- Read Groups
- Read Macros
- Read Organization Count
- Read Organization Fields
- Read Organization(s) by ID
- Read Organizations (All)
- Read Organizations (Incremental) changed after a specified date
- Read Requests
- Read Requests Search
- Read Sessions
- Read Tags
- Read Ticket ActivityStream
- Read Ticket ActivityStream Details
- Read Ticket Attachments
- Read Ticket Comments
- Read Ticket Events (Incremental) changed after a specified date
- Read Ticket Fields
- Read Ticket Forms
- Read Ticket Metric Events (Incremental) changed after a specified date
- Read Ticket Metrics
- Read Ticket(s) by ID
- Read Tickets (All)
- Read Tickets (Incremental) changed after a specified date
- Read Tickets (Recent)
- Read Tickets Count (All)
- Read Tickets Count (for Organization)
- Read Tickets for Organization
- Read Tickets for User (Assigned)
- Read Tickets for User (CCed)
- Read Tickets for User (Requested)
- Read User Fields
- Read User Sessions
- Read User(s) by ID
- Read Users (All)
- Read Users (Incremental) changed after a specified date
- Read Views
- Search Records - NO Sorting (Allows more than 1000 rows)
- Search Records - WITH Sorting and Extra Columns (Max 1000 rows)
- Update Organization
- Update Ticket (Single)
- Update Tickets (Bulk)
- Update User
- Upload Attachment (Single file)
- Upsert Organization - Create or Update
- Upsert User - Create or Update
- Upsert Users (Bulk) - Create or Update
- Generic Request
- Generic Request (Bulk Write)
Conclusion
In this article we showed you how to connect to Zendesk in JAVA 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 Zendesk, but to any Java application that supports JDBC (just use a different JDBC driver and configure it appropriately).
We encourage you to download Zendesk Connector for JAVA 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 Zendesk Connector for JAVA Documentation
More integrations
Other connectors for JAVA
Other application integration scenarios for Zendesk
How to connect Zendesk in JAVA?
How to get Zendesk data in JAVA?
How to read Zendesk data in JAVA?
How to load Zendesk data in JAVA?
How to import Zendesk data in JAVA?
How to pull Zendesk data in JAVA?
How to push data to Zendesk in JAVA?
How to write data to Zendesk in JAVA?
How to POST data to Zendesk in JAVA?
Call Zendesk API in JAVA
Consume Zendesk API in JAVA
Zendesk JAVA Automate
Zendesk JAVA Integration
Integration Zendesk in JAVA
Consume real-time Zendesk data in JAVA
Consume real-time Zendesk API data in JAVA
Zendesk ODBC Driver | ODBC Driver for Zendesk | ODBC Zendesk Driver | SSIS Zendesk Source | SSIS Zendesk Destination
Connect Zendesk in JAVA
Load Zendesk in JAVA
Load Zendesk data in JAVA
Read Zendesk data in JAVA
Zendesk API Call in JAVA