Zoho Desk Integration
Ali Murtaza avatar
Written by Ali Murtaza
Updated over a week ago

About Zoho

Zoho presents an integrative approach to business solutions and tasks with its products, suites, and platforms. More than anything, Zoho utilizes its integrations and designs to provide targeted solutions to help businesses flourish and prevail. Zoho Desk is one such software. Zoho Desk is The industry's first context-aware help-desk software.

SIRP employs Zoho Desk’s power of customer context to promote self-service, improve agent productivity, and manage cross-functional service processes. SIRP’s integration with Zoho enables you to manage customer conversations across multiple channels, respond and perform follow-up activities, track accountability, and automate repetitive manual actions.

Supported Actions

SIRP’s Zoho integration app allows you to execute the following actions:

S.no

Action

Description

1

Push Tickets to Zoho

Send Incident Information to Zoho to create a ticket

2

Get Comments

Fetch comments from Zoho

3

Get Tickets

Fetch newly created tickets from Zoho

4

Post Comments

Post comments to Zoho

5

Close Tickets on Zoho

Change ticket status on Zoho to Closed

Enable and Configure Zoho API

Application Registration

To integrate Zoho with SIRP:

  1. Log in to your Zoho account and visit Zoho’s Developer Console: https://api-console.zoho.com/add.

  2. Register your app in Zoho's Developer Console with the client type called Self Client.

On successful registration, you will be provided with a Client ID and a Client Secret. These are your OAuth credentials. Copy these credentials for later use

Code Generation

  1. Click the Generate Code tab and enter the required scope separated by commas. In order to integrate all the actions from SIRP with Zoho Desk, the following scopes will be required:

Scope Name

Description

Desk.tickets.ALL

Grants read and write access to tickets and related data.

Desk.basic.READ

Grants read access to basic data, such as organizations, agents, and departments.

Desk.contacts.READ

Grants read access to contacts, accounts, and related data.

Desk.contacts.CREATE

Grants access to create contacts and accounts.

Desk.basic.CREATE

Grants access to create basic data, such as organizations, agents, uploads, and departments.

  • Click on Create to generate the code.

  • Next, go to the Select Portal tab and Select the portal Desk and Organization.

The generated code for the specified scope is displayed. Copy the code (grant token).

Note: Generating the grant token is a one-time process, provided you generate the access and refresh tokens within the time the grant token is valid for, as we selected time duration of 10 minutes, our token will be valid for the next 10 minutes.

  • Use CURL to generate the access_token and refresh_token by providing the query params code, client_id, client_secret, and grant_type with the POST request on the URL: https://accounts.zoho.com/oauth/v2/token.

Parameter

Description

code

Authorization code obtained after generating the grant token.

client_id

Client ID obtained after registering the client.

client_secret

Client secret obtained after registering the client.

grant_type

"authorization_code"

Note: We are using the refresh_token to generate the access_token in SIRP, as the access_token can be valid for only 1 hour.

Request:

curl -X POST   'https://accounts.zoho.com/oauth/v2/token?code=1000.503f3e11dfea8b332cd29d713191ba38.f3aa5858b6fdbfaef05377da3a0e595d&client_id=1000.ZA8NTN8MOZEXPLQV8XRBJCFW9LBZ2W&client_secret=00c247b6592bc684cb0664a8ffc8ba4482ebbcd8a7&grant_type=authorization_code'   -H 'Accept: */*'

Response:

{"access_token":"1000.bedb539745700a99368e904643e68620.8182be50f5387dfa2ffe2d18d887e7b6","refresh_token":"1000.ae9170df31ee1f69830fdb59a439957f.b3df0b8bcbb2554713e8c6b16ae7181b","api_domain":"https://www.zohoapis.com","token_type":"Bearer","expires_in":3600}

  • After getting the response 200 OK, copy the refresh token from the response’s result (will later be used on SIRP for Zoho Desk App Configuration).

For Zoho Desk Configuration with SIRP

We will require two more configuration parameters:

1. Portal-Name

2. Department-Name

The Portal-Name is in the URL address of your help desk account in Zoho Desk. Typically, it is the company name and is created when you sign up for your help desk. Here is how it will look: desk.zoho.com/support/<mycompany>/.

In order to view the Department-Name, click on the Settings Icon, and go to the Departments under the General menu.

Add your desired Name and Email for the configuration so that any tickets created in Zoho from SIRP are created on behalf of this user.

Configure The SIRP App

1. Next, log in to SIRP, then go to Apps from the left navigation bar

  • Locate the Zoho Desk App.

  • Click on the Toggle button to enable the app.

When you enable the App, you will get an option to add the configuration details. Add the following details and click Save:

  • Refresh_token <Created in step 5>

  • Client_ID <Obtained after registering the client>

  • Client_secret <Obtained after registering the client>

  • Portal_name <Obtained from the URL address of your help desk account>

  • Department_name <Obtained from the departments tab in the general menu>

  • Name <Configured by user>

  • Email <Configured by user>

After the last step, you should be able to execute the Zoho actions on-demand or through Playbooks.

Optional Steps

If you want to show the additional ticket fields (unused fields) like Category and Subcategory, then click on the Settings Icon, go to the Layouts and Fields under the Customization menu, click Fields List under the Layouts and Fields sub-menu and then click on Create or Edit Fields.

Now drag and drop the unused or custom fields into the Layout and click on Save & Close button

Zoho Desk In Action

Once the integration between SIRP and Zoho Desk is complete, you can execute all the supported actions. For example, click on an incident in SIRP > click on the gear icon > Click on Zoho Desk. Here you can see the action to push tickets to Zoho.

Did this answer your question?