InTouch Hub · Blue Isle Software

Zoho Desk

Create and update support tickets, contacts, and departments in Zoho Desk using the official REST API v1.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

emailstatussupport-helpdeskticketzoho

zoho-desk

Create and update support tickets, contacts, and departments in Zoho Desk.

API: Zoho Desk REST API v1 — https://desk.zoho.com/api/v1 Auth: Zoho OAuth 2.0 access token (short-lived, 1 hour)

Operations

operation Description
create-ticket Create a new support ticket
update-ticket Update an existing ticket (status, priority, etc.)
list-tickets List tickets in your organization
create-contact Create a new contact
list-departments List departments in your organization

Authentication Setup

Zoho Desk uses OAuth 2.0. To get an access token:

  1. Go to Zoho API Console and create a Self Client.
  2. Add scopes: Desk.tickets.ALL,Desk.contacts.ALL,Desk.basic.READ
  3. Generate a grant code (valid for a few minutes) and exchange it for tokens via the Zoho OAuth endpoint.
  4. The access token (format: 1000.xxx.yyy) is what you pass as apiKey.
  5. Access tokens expire after 1 hour. Use the refresh token to regenerate.

Your Organization ID is found in Zoho Desk under Admin Panel > Developer Space > API.

Input Parameters

Parameter Required Description
apiKey Yes Zoho OAuth access token
orgId Yes Zoho Desk organization ID
operation Yes One of the operations above
ticketId For update-ticket ID of the ticket to update
subject For create-ticket Ticket subject line
description Optional Ticket or contact description
contactId For create-ticket* ID of the contact raising the ticket
contactEmail For create-ticket* Inline contact email (if no contactId)
contactLastName For create-ticket* Inline contact last name (if no contactId)
departmentId Optional Department ID for the ticket
priority Optional Low, Medium, High, or Urgent
status Optional Open, On Hold, Escalated, Closed
firstName For create-contact Contact first name
lastName For create-contact Contact last name (required)
email For create-contact Contact email
phone For create-contact Contact phone
limit Optional Records to return for list ops (max 50, default 10)

*For create-ticket: supply either contactId OR both contactEmail + contactLastName.

Published Outputs

Output Description
result JSON string with the API response payload
status success or error-<httpCode>

Examples

Create a ticket:

operation: create-ticket
subject: Login page returns 500 error
contactEmail: [email protected]
contactLastName: Smith
priority: High
status: Open
description: Users cannot log in since the last deployment.

Update a ticket:

operation: update-ticket
ticketId: 12345678901234
status: Closed

List tickets:

operation: list-tickets
limit: 20

Create a contact:

operation: create-contact
firstName: Alice
lastName: Smith
email: [email protected]
phone: +1-555-0100

List departments:

operation: list-departments
limit: 50

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change.
orgId string yes Zoho Desk organization ID (visible in Admin Panel > Developer Space).
operation string yes One of: create-ticket, update-ticket, list-tickets, create-contact, list-departments
ticketId string no Required for update-ticket. The ID of the ticket to update.
subject string no Ticket subject (required for create-ticket).
description string no Ticket or contact description.
contactId string no ID of the contact who raised the ticket. Required for create-ticket unless contact email and lastName are supplied.
contactEmail string no Email of the contact for inline contact creation on create-ticket (used together with contactLastName when contactId is blank).
contactLastName string no Last name for inline contact creation on create-ticket.
departmentId string no ID of the department the ticket belongs to.
priority string no Ticket priority. Typical values: Low, Medium, High, Urgent.
status string no Ticket status. Typical values: Open, On Hold, Escalated, Closed.
firstName string no Contact first name (for create-contact).
lastName string no Contact last name (for create-contact).
email string no Contact email address (for create-contact).
phone string no Contact phone number (for create-contact).
limit string no 10 Maximum number of records to return for list operations (max 50, default 10).