How to Make Generic API Request — Zendesk Connector for SSIS

Prerequisites

Before we begin, make sure the following prerequisites are met:

  1. SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
  2. Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
  3. SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).

Make Generic API Request in SSIS

  1. Begin with opening Visual Studio and Create a New Project.

  2. 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
    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.
  3. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.

    SSIS Data Flow Task - Drag and Drop
  4. From the SSIS toolbox drag and API Source (Predefined Templates) on the data flow designer surface, and double click on it to edit it:

    SSIS API Source (Predefined Templates) - Drag and Drop
  5. Select New Connection to create a new connection:

    API Source - New Connection
  6. Use a preinstalled Zendesk Connector from Popular Connector List or press Search Online radio button to download Zendesk Connector. Once downloaded simply use it in the configuration:

    Zendesk
    Zendesk Connector Selection
  7. Now it's time to configure authentication. Firstly, configure authentication settings in Zendesk service and then proceed by configuring API Connection Manager. Start by expanding an authentication type:

    Zendesk authentication

    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 external API reference

    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to Token Authentication [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    Zendesk
    Token Authentication [Http]
    https://[$Domain$].zendesk.com/api/v2
    Required 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
    ZappySys Http Connection
    Zendesk authentication

    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 external API reference

    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to OAuth Authentication [OAuth]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Press Generate Token button to generate the tokens.
    5. Finally, hit OK button:
    Zendesk
    OAuth Authentication [OAuth]
    https://[$Domain$].zendesk.com/api/v2
    Required 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
    ZappySys OAuth Connection
    Zendesk authentication

    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 external API reference

    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to UserID/Password Authentication (2FA must be OFF) [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    Zendesk
    UserID/Password Authentication (2FA must be OFF) [Http]
    https://[$Domain$].zendesk.com/api/v2
    Required 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
    ZappySys Http Connection
  8. Select Generic Table (Bulk Read / Write) table from the dropdown and hit Preview Data:

    API Source - Zendesk
    Zendesk 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.
    Zendesk
    Generic Table (Bulk Read / Write)
    Required Parameters
    Url Fill-in the parameter...
    Request Method Fill-in the parameter...
    Optional Parameters
    Body
    IsMultiPart
    Filter
    ExcludedProperties
    Encoding
    CharacterSet
    EnableCustomReplace
    SearchFor
    ReplaceWith
    JSON - Flatten Small Array (Not preferred for more than 10 items)
    JSON - Max Array Items To Flatten 10
    JSON - Array Transform Type
    JSON - Array Transform Column Name Filter
    JSON - Array Transform Row Value Filter
    JSON - Array Transform Enable Custom Columns
    EnablePivot
    FileCompressionType
    DateFormatString
    Request Format (Content-Type) ApplicationJson
    Response Format Default
    Headers Accept: */* || Cache-Control: no-cache
    Pagination - Mode
    Pagination - Attribute Name
    Pagination - Increment By 1
    Pagination - Expression for Next URL
    Pagination - Wait time after each request 0
    Csv - Column Delimiter ,
    Csv - Has Header Row True
    Xml - ElementsToTreatAsArray
    SSIS API Source - Read from table or endpoint
  9. That's it! We are done! Just in a few clicks we configured the call to Zendesk using Zendesk 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)

    Execute Package - Reading data from Zendesk and load into target

More actions supported by Zendesk Connector

Learn how to perform other actions directly in SSIS with these how-to guides:

More integrations

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