MENU
    Zoho Desk
    • 05 Sep 2024
    • 3 Minutes to read

    Zoho Desk


    Article summary

    Zoho Desk API

    API Documentation Link


    Configuration Parameters

    Any instance where an entry in the below configuration has a leading $ represents a parameter that needs to be replaced with a static value.

    Parameters in this document:

    • $client_id and $client_secret - The Client ID and Client Secret will be used to authenticate calls to the Zoho Desk API. To obtain these parameters, you will need to register an application with Zoho's Developer Console. When registering, be sure to include https://platform.panoply.io/sources/callback.html as an Authorized Redirect URI. After completing the registration of your client, you will receive a Client ID and Client Secret. For a complete walkthrough of the Zoho Desk OAuth2.0 process, see Zoho documentation here.
    • $organization_id - The Organization ID is a unique identifier for your Zoho Desk organization. This value can be found by logging into your Zoho Desk account and selecting the dropdown on your Account Name in the upper-righthand corner.
    • $resource_name - The Resource Name represents the name of the resource to be appended and used as part of the Destination Table name. The value that should be used here can be found in the API Resources table below.
    • $endpoint - The Endpoint represents the data that you would like to ingest into Panoply from the Zoho Desk API. The value of this parameter can be found in the API Resources section below.
    • $limit - The Limit value represents the number of records returned by the API per page. The value of this parameter can be found in the API Resources section below.
    • $scope - The Scope represents the permission-level that is granted to a set of credentials, thus granting them access to different API endpoints. The value that should be used here can be found in the API Resources table below. If applying multiple scopes to a single Authentication process, each value will need to be comma-separated.
    • $data_key - The Data Key represents the location of the data in the API response from Zoho Desk. The value that should be used here can be found in the API Resources table below.

    API Resources

    For a list of API Resources available for Zoho Desk, please refer to the list of endpoints found below:

    Resource$resource_name$endpoint$limit$scope$data_key
    Accountsaccountsaccounts100Desk.contacts.READdata
    Agentsagentsagents200Desk.settings.READ , Desk.basic.READdata
    Articlesarticlesarticles50Desk.articles.READdata
    Articles FeedbackarticleFeedbacksarticle_feedbacks50Desk.articles.READdata
    Callscallscalls100Desk.activities.calls.READ , Desk.activities.READdata
    ChannelschannelschannelsDesk.basic.READdata
    Contactscontactscontacts100Desk.contacts.READdata
    Contractscontractscontracts100Desk.settings.READdata
    Customer Feedbackcustomer_feedbackcustomerHappiness50Desk.search.READ , Desk.tickets.READdata
    Departmentsdepartmentsdepartments200Desk.settings.READ , Desk.basic.READdata
    Eventseventsevents100Desk.activities.events.READ , Desk.activities.READdata
    Groupsgroupsgroups50Desk.contacts.READdata
    Help CentershelpCentershelp_centersDesk.settings.READ , Desk.basic.READdata
    Labelslabelslabels50Desk.contacts.READdata
    Layoutslayoutslayouts100Desk.basic.READdata
    Productsproductsproducts100Desk.products.READdata
    ProfilesprofilesprofilesDesk.settings.READ , Desk.basic.READdata
    Rolesrolesroles500Desk.settings.READ , Desk.basic.READdata
    Skillsskillsskills100Desk.settings.READdata
    Taskstaskstasks100Desk.activities.READ , Desk.activities.tasks.READdata
    TeamsteamsteamsDesk.settings.READ , Desk.basic.READteams
    Ticketsticketstickets100Desk.tickets.READdata
    ViewsviewsviewsDesk.settings.READ , Desk.basic.READdata
    Usersusersusers50Desk.search.READ , Desk.contacts.READdata

    Connector configuration

    • Base url: https://desk.zoho.com/api/v1/$endpoint
    • Method: GET
    URL Parameters

    URL Parameters can be found on each page linked in the API Resources table under the Query Params section of a given page. For API Resources above that have a populated $limit value, the following URL Parameter should be included in the configuration:

    • limit=$limit

    When using multiple URL Parameters, each additional URL Parameter should be appended using a & separator, such as an example from the Users Resource of limit=50&include=count.

    • Headers: {"orgId":"{organization_id}"}

    Destination Table naming convention is ultimately up to you as the data owner. One common structure used for this API is zoho_desk_$resource_name.

    Authorization

    • Authorization: OAuth2
    • Authorization URL: https://accounts.zoho.com/oauth/v2/auth?access_type=offline
    • Access Token URL: https://accounts.zoho.com/oauth/v2/token
    • Client Id: {client_id}
    • Client Secret: {client_secret}
    • Scope: $scope
    • Access Token header key: Zoho-oauthtoken
    • Token prefix: Bearer
    • Add to: Headers
      • Refresh access token
        • Enable: Checkbox.png
        • Refresh Token URL: https://accounts.zoho.com/oauth/v2/token
        • Access token response key: access_token
        • Error status codes: 401; 403

    Variables

    • Variables:
    Variable nameVariable value
    organization_id$organization_id
    • Secured Variables:
    Variable nameVariable value
    client_id$client_id
    client_secret$client_secret

    Pagination

    Pagination is only available for API Resources for with the $limit parameter is populated. For API Resources that have an empty value for $limit, leave Pagination disabled.

    • Enable: Checkbox.png
    • Get next page value: Static (integer to be incremented)
    • Start page: 1
    • Page step: $limit
    • Use next page value: As a URL parameter value
    • URL/body key: from
    • Stop iterating when: Empty response

    Advanced Settings

    • Disable configuration validation: Checkbox.png
    • Data key: $data_key

    Was this article helpful?