> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoho Desk

> Access the Zoho Desk API in 2 minutes 💨

<Tabs>
  <Tab title="🚀 Quickstart">
    <Steps>
      <Step title="Create an integration">
        In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> *Configure New Integration* -> *Zoho*.
      </Step>

      <Step title="Authorize Zoho Desk">
        Go to [Connections](https://app.nango.dev/dev/connections) -> *Add Test Connection* -> *Authorize*, then log in to Zoho Desk. Later, you'll let your users do the same directly from your app.
      </Step>

      <Step title="Call the Zoho Desk API">
        Let's make your first request to the Zoho Desk API (fetch a list of tickets). Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):

        <Tabs>
          <Tab title="cURL">
            ```bash theme={null}
            curl "https://api.nango.dev/proxy/v1/tickets?limit=10" \
              -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
              -H "Provider-Config-Key: <INTEGRATION-ID>" \
              -H "Connection-Id: <CONNECTION-ID>"
            ```
          </Tab>

          <Tab title="Node">
            Install Nango's backend SDK with `npm i @nangohq/node`. Then run:

            ```typescript theme={null}
            import { Nango } from '@nangohq/node';

            const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });

            const res = await nango.get({
                endpoint: '/v1/tickets',
                params: {
                    limit: 10
                },
                providerConfigKey: '<INTEGRATION-ID>',
                connectionId: '<CONNECTION-ID>'
            });
            console.log(JSON.stringify(res.data.data, null, 2));
            ```
          </Tab>
        </Tabs>

        Or fetch credentials dynamically via the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).
      </Step>
    </Steps>

    ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.

    <Tip>
      Next step: [Embed the auth flow](/guides/primitives/auth) in your app to let your users connect their Zoho Desk accounts.
    </Tip>
  </Tab>

  <Tab title="🧑‍💻 OAuth app setup">
    <Steps>
      <Step title="Create a Zoho account">
        If you don't already have one, go to [Zoho's signup page](https://www.zoho.com/signup.html) and create one.
      </Step>

      <Step title="Access the Zoho API Console">
        1. Go to the [Zoho API Console](https://api-console.zoho.com/).
        2. Sign in with your Zoho account if prompted.
      </Step>

      <Step title="Create a new client">
        1. In the API Console, click on the **+ ADD CLIENT** button and select **Server-based Applications** as your client type.
        2. Fill in all the required information. For **Authorized Redirect URIs** enter `https://api.nango.dev/oauth/callback`
        3. Click **Create** to register your client. You will then receive a **Client ID** and **Client Secret**, which are required to configure your integration in Nango.
      </Step>

      <Step title="Configure Multi-DC">
        1. On the **Settings** tab, check the option to use the same OAuth credentials for all data centers, this enables you to handle users from different regions
      </Step>

      <Step title="Next">
        Follow the [*Quickstart*](/getting-started/quickstart).
      </Step>
    </Steps>

    ## Common Scopes

    | Scope                 | Description                                                               |
    | --------------------- | ------------------------------------------------------------------------- |
    | `Desk.tickets.ALL`    | Full access to tickets and related data (read, create, update, delete).   |
    | `Desk.contacts.READ`  | Read-only access to contacts, accounts, and related data.                 |
    | `Desk.contacts.WRITE` | Write access to contacts, accounts, and related data.                     |
    | `Desk.tasks.ALL`      | Full access to tasks and related data.                                    |
    | `Desk.basic.READ`     | Read access to basic data such as organizations, agents, and departments. |
    | `Desk.settings.ALL`   | Full access to settings data.                                             |
    | `Desk.search.READ`    | Read access to search for data.                                           |
  </Tab>

  <Tab title="🔗 Useful links">
    | Topic             | Links                                                                                                  |
    | ----------------- | ------------------------------------------------------------------------------------------------------ |
    | Authorization     | [Guide to connect to Zoho Desk using Connect UI](/integrations/all/zoho-desk/connect)                  |
    | General           | [Zoho API Console](https://api-console.zoho.com/)                                                      |
    |                   | [Zoho Desk Website](https://www.zoho.com/desk/)                                                        |
    | Developer / OAuth | [OAuth 2.0 Overview](https://www.zoho.com/accounts/protocol/oauth.html)                                |
    |                   | [Get Authorization Code](https://www.zoho.com/accounts/protocol/oauth/web-apps/authorization.html)     |
    |                   | [Get Access Token](https://www.zoho.com/accounts/protocol/oauth/web-apps/access-token.html)            |
    |                   | [Refresh Access Token](https://www.zoho.com/accounts/protocol/oauth/web-apps/access-token-expiry.html) |
    |                   | [Multi DC Support](https://www.zoho.com/accounts/protocol/oauth/multi-dc.html)                         |
    |                   | [OAuth Scopes](https://desk.zoho.com/DeskAPIDocument#OauthTokens#OAuthScopes)                          |
    |                   | [API Limits](https://www.zoho.com/calendar/help/api/api-limits.html)                                   |
    | API               | [Zoho Desk API docs](https://desk.zoho.com/DeskAPIDocument)                                            |

    <Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/zoho-desk.mdx)</Note>
  </Tab>

  <Tab title="🚨 API gotchas">
    * Zoho uses datacenter-specific URLs for authentication. Make sure to use the correct datacenter domain extension (`com`, `eu`, `in`, `com.cn`, `com.au`) based on where your user's account is registered.
    * For production applications, consider implementing [multi-datacenter support](https://www.zoho.com/accounts/protocol/oauth/multi-dc.html) to handle users from different regions.
    * For specific scopes, refer to the API documentation pages to find the exact scopes needed per API and per method.

    <Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/zoho-desk.mdx)</Note>
  </Tab>
</Tabs>

<Info>
  Questions? Join us in the [Slack community](https://nango.dev/slack).
</Info>
