The tap-zendesk extractor pulls data from the Zendesk API.

Alternative variants

Multiple variants of tap-zendesk are available. This document describes the default twilio-labs variant.

Alternative option is singer-io.

Getting Started

Prerequisites

If you haven’t already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration

Using the Command Line Interface

  1. Add the tap-zendesk extractor to your project using meltano add:

     meltano add extractor tap-zendesk
    
  2. Configure the settings below using meltano config.

Using Meltano UI

  1. Start Meltano UI using meltano ui:

     meltano ui
    
  2. Open the Extractors interface at http://localhost:5000/extractors.
  3. Click the “Add to project” button for “Zendesk”.
  4. Configure the settings below in the “Configuration” interface that opens automatically.

Next steps

Follow the remaining steps of the Getting Started guide:

  1. Select entities and attributes to extract
  2. Add a loader to send data to a destination
  3. Run a data integration (EL) pipeline

If you run into any issues, learn how to get help.

Settings

tap-zendesk requires the configuration of the following settings:

In case of API token authentication:

In case of OAuth authentication:

Always:

These and other supported settings are documented below. To quickly find the setting you’re looking for, use the Table of Contents in the sidebar.

Minimal configuration

A minimal configuration of tap-zendesk in your meltano.yml project file will look like this:

plugins:
  extractors:
  - name: tap-zendesk
    variant: singer-io
    config:
      email: user@example.com
      subdomain: my_subdomain
      start_date: '2020-10-01T00:00:00Z'

Sensitive values are most appropriately stored in the environment or your project’s .env file:

export TAP_ZENDESK_API_TOKEN=my_api_token

Email

This is the email you use to login to your Zendesk dashboard. For API Authentication, /token is automatically appended to the email address and is not required in the configuration.

Not necessary when using OAuth authentication and setting Access Token.

How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-zendesk set email <email>

export TAP_ZENDESK_EMAIL=<email>

API Token

You can use the API Token authentication which can be generated from the Zendesk Admin page.

See https://support.zendesk.com/hc/en-us/articles/226022787-Generating-a-new-API-token-.

How to get

  1. Login to your Zendesk dashboard.

Screenshot of sample Zendesk dashboard

  1. On the left navigation, scroll down to the Channels section to click on the API link. If you don’t see this, your account does not have adequate permissions.

Screenshot of left nav with API link

  1. Ensure that Token Access is enabled

  2. Click on the + button to create a new API token

Screenshot of new API token creation

  1. Add Meltano as the API Token Description

  2. Copy the API token since it will not be shown again

  3. Click Save button to complete API key creation

How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-zendesk set api_token <token>

export TAP_ZENDESK_API_TOKEN=<token>

Access Token

To use OAuth, you will need to fetch an access_token from a configured Zendesk integration.

See https://support.zendesk.com/hc/en-us/articles/203663836.

How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-zendesk set access_token <token>

export TAP_ZENDESK_ACCESS_TOKEN=<token>

Subdomain

When visiting your Zendesk instance, the URL is structured as follows: SUBDOMAIN.zendesk.com.

You’ll need this subdomain when configuring the extractor.

For example, if the URL is meltano.zendesk.com, then the subdomain is meltano.

How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-zendesk set subdomain <subdomain>

export TAP_ZENDESK_SUBDOMAIN=<subdomain>

Start Date

This property determines how much historical data will be extracted.

Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-zendesk set start_date YYYY-MM-DDTHH:MM:SSZ

export TAP_ZENDESK_START_DATE=YYYY-MM-DDTHH:MM:SSZ

# For example:
meltano config tap-zendesk set start_date 2020-10-01T00:00:00Z

export TAP_ZENDESK_START_DATE=2020-10-01T00:00:00Z