Zoho Desk

App · Help Desk · 20 actions

Customer service help desk. Create, update, search and reply to tickets, add comments, and manage contacts and accounts.

Actions

ActionWhat it does
Add ticket commentAdd a comment to a ticket: a private note for agents by default, or a public one the customer can see.
Create accountCreate an account (a customer company) to group contacts.
Create contactCreate a contact (a customer).
Create ticketCreate a ticket.
Delete ticketsMove tickets to the Recycle Bin.
Get contactGet one contact with their account.
Get conversation messageGet one message on a ticket in full, as HTML and plain text.
Get ticketGet one ticket with its contact, assignee and department.
List accountsList accounts (customer companies).
List agentsList the help desk's agents, the people tickets are assigned to.
List contactsList contacts (customers).
List departmentsList the help desk's departments.
List ticket commentsList the comments on a ticket.
List ticket conversationList the emails and other messages on a ticket, each with a summary.
List ticketsList tickets, newest first by default, optionally filtered.
Search contactsFind contacts by email, name, phone or account.
Search ticketsFind tickets by text, subject, number, email, status, people or creation date.
Send email replyEmail a reply to the customer on a ticket.
Update contactChange a contact's details.
Update ticketChange a ticket's fields.

Add ticket comment

Add a comment to a ticket: a private note for agents by default, or a public one the customer can see.

Inputs

Ticket IDticket_idtextRequired
The ticket's id: the long number from 'List tickets' or 'Search tickets', or the ticket's address in Zoho Desk. Not the ticket number.
CommentcontenttextRequired
The comment, up to 32,000 characters.
Publicis_publictrue/false
Optional. Let the customer see it. Private by default.Default: false.
Formatcontent_typetext
Optional. Plain text (the default) or HTML.One of: plainText (Plain text), html.

Outputs

A comment on a ticket.

commentedTimetext
An ISO 8601 UTC timestamp.
commenterobject
Who wrote it.
commenterIdtext
The commenter's id.
contenttext
The comment.
contentTypetext
html or plainText.
idtext
The comment's id.
isPublictrue/false
Whether the customer can see it.
modifiedTimetext
An ISO 8601 UTC timestamp.
Example output
{
  "commentedTime": "2026-03-02T11:05:00.000Z",
  "commenterId": "1892000000056007",
  "content": "Customer called; replacement approved.",
  "contentType": "plainText",
  "id": "1892000000367001",
  "isPublic": false
}

Create account

Create an account (a customer company) to group contacts.

Inputs

Account nameaccount_nametextRequired
The company's name, up to 200 characters.
Emailemailtext
Optional. Email.
Websitewebsitetext
Optional. Website.
Phonephonetext
Optional. Phone.
Industryindustrytext
Optional. Industry.
Descriptiondescriptiontext
Optional. Notes about the account.
Streetstreettext
Optional. Street.
Citycitytext
Optional. City.
Statestatetext
Optional. State.
Countrycountrytext
Optional. Country.
Zip codezip_codetext
Optional. Zip or postal code.
Custom fieldscustom_fieldsobject
Optional. Custom field values by API name, such as {"cf_order_number": "A-100"}. Find API names in Zoho Desk under Setup > Customization > Layouts and Fields.

Outputs

An account (a customer company).

accountNametext
The account's name.
cfobject
Custom field values, by API name (cf_...).
citytext
City.
codetext
Zip code.
countrytext
Country.
createdTimetext
An ISO 8601 UTC timestamp.
descriptiontext
Notes.
emailtext
Email address.
idtext
The account's id; use it on a contact.
industrytext
Industry.
modifiedTimetext
An ISO 8601 UTC timestamp.
ownerIdtext
The owning agent's id.
phonetext
Phone.
statetext
State.
streettext
Street.
webUrltext
The account's address in Zoho Desk.
websitetext
Website.
Example output
{
  "accountName": "Acme Corp",
  "createdTime": "2026-01-20T08:00:00.000Z",
  "id": "1892000000975382",
  "industry": "Retail",
  "website": "https://acme.example.com"
}

Create contact

Create a contact (a customer). Only the last name is required.

Inputs

Last namelast_nametextRequired
The contact's last name, up to 200 characters.
First namefirst_nametext
Optional. First name, up to 40 characters.
Emailemailtext
Optional. Email address.
Secondary emailsecondary_emailtext
Optional. A second email address.
Phonephonetext
Optional. Phone.
Mobilemobiletext
Optional. Mobile.
Titletitletext
Optional. Job title.
Descriptiondescriptiontext
Optional. Notes about the contact.
Account IDaccount_idtext
Optional. The account's id, from 'List accounts' or 'Create account'.
Streetstreettext
Optional. Street.
Citycitytext
Optional. City.
Statestatetext
Optional. State.
Countrycountrytext
Optional. Country.
Zip codezip_codetext
Optional. Zip or postal code.
Custom fieldscustom_fieldsobject
Optional. Custom field values by API name, such as {"cf_order_number": "A-100"}. Find API names in Zoho Desk under Setup > Customization > Layouts and Fields.

Outputs

A contact (a customer).

accountIdtext
The account's id.
cfobject
Custom field values, by API name (cf_...).
citytext
City.
countrytext
Country.
createdTimetext
An ISO 8601 UTC timestamp.
descriptiontext
Notes.
emailtext
Email address.
firstNametext
First name.
idtext
The contact's id; use it on a ticket.
isSpamtrue/false
Whether it is marked as spam.
lastNametext
Last name.
mobiletext
Mobile.
modifiedTimetext
An ISO 8601 UTC timestamp.
ownerIdtext
The owning agent's id.
phonetext
Phone.
secondaryEmailtext
Second email address.
statetext
State.
streettext
Street.
titletext
Job title.
typetext
The contact type.
webUrltext
The contact's address in Zoho Desk.
ziptext
Zip code.
Example output
{
  "accountId": "1892000000975382",
  "createdTime": "2026-02-01T08:00:00.000Z",
  "email": "carol@example.com",
  "firstName": "Carol",
  "id": "1892000000042001",
  "lastName": "Smith",
  "phone": "+1 555 0100"
}

Create ticket

Create a ticket. Choose an existing contact by id, or give an email address: Zoho Desk reuses the contact with that email or creates one.

Inputs

SubjectsubjecttextRequired
The ticket's subject, up to 255 characters.
Departmentdepartment_idtextRequired
The department.
Contact IDcontact_idtext
Optional. An existing contact's id. Leave blank and fill in the contact's email or last name instead.
Contact emailcontact_emailtext
Optional. The customer's email, when no contact id is given.
Contact last namecontact_last_nametext
Optional. Used when Zoho Desk creates the contact.
Contact first namecontact_first_nametext
Optional. Used when Zoho Desk creates the contact.
Descriptiondescriptiontext
Optional. The ticket's description. HTML is allowed.
Priorityprioritytext
Optional. The priority; a priority your portal defines also works.One of: High, Medium, Low.
Statusstatustext
Optional. The status; a status your portal defines also works.One of: Open, On Hold, Escalated, Closed.
Classificationclassificationtext
Optional. The classification; one your portal defines also works.One of: Problem, Request, Question.
Channelchanneltext
Optional. Where the ticket came from.One of: Email, Phone, Web, Chat, Forums.
Categorycategorytext
Optional. The ticket's category.
Assigneeassignee_idtext
Optional. The agent to assign the ticket to.
Due datedue_datedate and time
Optional. When the ticket is due.
Phonephonetext
Optional. A phone number for the ticket.
Custom fieldscustom_fieldsobject
Optional. Custom field values by API name, such as {"cf_order_number": "A-100"}. Find API names in Zoho Desk under Setup > Customization > Layouts and Fields.

Outputs

A ticket.

accountIdtext
The account's id.
assigneeobject
A person.
assigneeIdtext
The assigned agent's id.
categorytext
The category.
cfobject
Custom field values, by API name (cf_...).
channeltext
Where the ticket came from, such as Email or Web.
classificationtext
The classification.
closedTimetext
An ISO 8601 UTC timestamp.
commentCounttext
How many comments it has.
contactobject
A person.
contactIdtext
The contact's id.
createdTimetext
An ISO 8601 UTC timestamp.
departmentobject
The department.
departmentIdtext
The department's id.
descriptiontext
The description (HTML).
dueDatetext
An ISO 8601 UTC timestamp.
emailtext
The ticket's email address.
idtext
The ticket's id; use it in other ticket actions.
isOverDuetrue/false
Whether it is past its due date.
isSpamtrue/false
Whether it is marked as spam.
modifiedTimetext
An ISO 8601 UTC timestamp.
phonetext
The ticket's phone number.
prioritytext
The priority.
statustext
The status, such as Open or Closed.
statusTypetext
Open, On Hold or Closed.
subjecttext
The subject.
threadCounttext
How many conversation messages it has.
ticketNumbertext
The ticket number people see, such as 101.
webUrltext
The ticket's address in Zoho Desk.
Example output
{
  "assigneeId": "1892000000056007",
  "channel": "Email",
  "commentCount": "0",
  "contactId": "1892000000042001",
  "createdTime": "2026-03-02T10:15:00.000Z",
  "departmentId": "1892000000006907",
  "email": "carol@example.com",
  "id": "1892000000042034",
  "priority": "High",
  "status": "Open",
  "statusType": "Open",
  "subject": "Order arrived damaged",
  "threadCount": "1",
  "ticketNumber": "101",
  "webUrl": "https://desk.zoho.com/support/acme/ShowHomePage.do#Cases/dv/1892000000042034"
}

Delete tickets

Move tickets to the Recycle Bin. Zoho Desk keeps them there for 60 days, where they can be restored.

Inputs

Ticket IDsticket_idslistRequired
The ids of the tickets to delete.

Outputs

countnumber
How many tickets were moved.
deletedtrue/false
True once Zoho Desk moved them to the Recycle Bin.
ticket_idslist
The tickets moved.
Example output
{
  "count": 1,
  "deleted": true,
  "ticket_ids": [
    "1892000000042034"
  ]
}

Get contact

Get one contact with their account.

Inputs

Contact IDcontact_idtextRequired
The contact's id, from 'Search contacts' or 'List contacts', or the contact's address in Zoho Desk.

Outputs

A contact (a customer).

accountIdtext
The account's id.
cfobject
Custom field values, by API name (cf_...).
citytext
City.
countrytext
Country.
createdTimetext
An ISO 8601 UTC timestamp.
descriptiontext
Notes.
emailtext
Email address.
firstNametext
First name.
idtext
The contact's id; use it on a ticket.
isSpamtrue/false
Whether it is marked as spam.
lastNametext
Last name.
mobiletext
Mobile.
modifiedTimetext
An ISO 8601 UTC timestamp.
ownerIdtext
The owning agent's id.
phonetext
Phone.
secondaryEmailtext
Second email address.
statetext
State.
streettext
Street.
titletext
Job title.
typetext
The contact type.
webUrltext
The contact's address in Zoho Desk.
ziptext
Zip code.
Example output
{
  "accountId": "1892000000975382",
  "createdTime": "2026-02-01T08:00:00.000Z",
  "email": "carol@example.com",
  "firstName": "Carol",
  "id": "1892000000042001",
  "lastName": "Smith",
  "phone": "+1 555 0100"
}

Get conversation message

Get one message on a ticket in full, as HTML and plain text.

Inputs

Ticket IDticket_idtextRequired
The ticket's id: the long number from 'List tickets' or 'Search tickets', or the ticket's address in Zoho Desk. Not the ticket number.
Message IDthread_idtextRequired
The message's id, from 'List ticket conversation'.

Outputs

A conversation message on a ticket.

authorobject
Who wrote it.
cctext
The cc recipients.
channeltext
The channel, such as EMAIL.
contenttext
The full message (only when getting one message).
contentTypetext
text/html or text/plain.
createdTimetext
An ISO 8601 UTC timestamp.
directiontext
in (from the customer) or out (from an agent).
fromEmailAddresstext
The sender's address.
fullContentURLtext
Where the full content is, when shortened.
hasAttachtrue/false
Whether it has attachments.
idtext
The message's id.
isContentTruncatedtrue/false
Whether Zoho shortened the content.
notetext
Set when the content was shortened.
plainTexttext
The message as plain text (only when getting one message).
statustext
The delivery status, such as SUCCESS.
summarytext
The first part of the message.
totext
The recipients.
visibilitytext
public or private.
Example output
{
  "channel": "EMAIL",
  "content": "Thanks for letting us know. A replacement is on its way.",
  "contentType": "text/plain",
  "createdTime": "2026-03-02T11:00:00.000Z",
  "direction": "out",
  "fromEmailAddress": "support@acme.zohodesk.com",
  "id": "1892000000094004",
  "status": "SUCCESS",
  "summary": "Thanks for letting us know. A replacement is on its way.",
  "to": "carol@example.com",
  "visibility": "public"
}

Get ticket

Get one ticket with its contact, assignee and department.

Inputs

Ticket IDticket_idtextRequired
The ticket's id: the long number from 'List tickets' or 'Search tickets', or the ticket's address in Zoho Desk. Not the ticket number.

Outputs

A ticket.

accountIdtext
The account's id.
assigneeobject
A person.
assigneeIdtext
The assigned agent's id.
categorytext
The category.
cfobject
Custom field values, by API name (cf_...).
channeltext
Where the ticket came from, such as Email or Web.
classificationtext
The classification.
closedTimetext
An ISO 8601 UTC timestamp.
commentCounttext
How many comments it has.
contactobject
A person.
contactIdtext
The contact's id.
createdTimetext
An ISO 8601 UTC timestamp.
departmentobject
The department.
departmentIdtext
The department's id.
descriptiontext
The description (HTML).
dueDatetext
An ISO 8601 UTC timestamp.
emailtext
The ticket's email address.
idtext
The ticket's id; use it in other ticket actions.
isOverDuetrue/false
Whether it is past its due date.
isSpamtrue/false
Whether it is marked as spam.
modifiedTimetext
An ISO 8601 UTC timestamp.
phonetext
The ticket's phone number.
prioritytext
The priority.
statustext
The status, such as Open or Closed.
statusTypetext
Open, On Hold or Closed.
subjecttext
The subject.
threadCounttext
How many conversation messages it has.
ticketNumbertext
The ticket number people see, such as 101.
webUrltext
The ticket's address in Zoho Desk.
Example output
{
  "assigneeId": "1892000000056007",
  "channel": "Email",
  "commentCount": "0",
  "contactId": "1892000000042001",
  "createdTime": "2026-03-02T10:15:00.000Z",
  "departmentId": "1892000000006907",
  "email": "carol@example.com",
  "id": "1892000000042034",
  "priority": "High",
  "status": "Open",
  "statusType": "Open",
  "subject": "Order arrived damaged",
  "threadCount": "1",
  "ticketNumber": "101",
  "webUrl": "https://desk.zoho.com/support/acme/ShowHomePage.do#Cases/dv/1892000000042034"
}

List accounts

List accounts (customer companies).

Inputs

Sort bysort_bytext
Optional. The order of the accounts.One of: accountName (Name), -createdTime (Newest first), createdTime (Oldest first).
Page sizelimitnumber
Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
Offsetoffsetnumber
Optional. How many to skip: the next_offset of the previous page.At least 0.

Outputs

countnumber
How many accounts are on this page.
has_moretrue/false
Whether another page is probably available.
itemslist
The accounts.
next_offsetnumber
Pass as 'Offset' to fetch the next page; empty on the last.
Example output
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "accountName": "Acme Corp",
      "createdTime": "2026-01-20T08:00:00.000Z",
      "id": "1892000000975382",
      "industry": "Retail",
      "website": "https://acme.example.com"
    }
  ],
  "next_offset": null
}

List agents

List the help desk's agents, the people tickets are assigned to.

Inputs

Statusstatustext
Optional. Which agents to list; active ones by default.One of: ACTIVE, DISABLED, DELETED, IMPORTED.
Departmentdepartment_idtext
Optional. Only this department.
Page sizelimitnumber
Optional. How many to return, 1 to 200. Default 50.From 1 to 200.
Offsetoffsetnumber
Optional. How many to skip: the next_offset of the previous page.At least 0.

Outputs

countnumber
How many agents are on this page.
has_moretrue/false
Whether another page is probably available.
itemslist
The agents.
next_offsetnumber
Pass as 'Offset' to fetch the next page; empty on the last.
Example output
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "associatedDepartmentIds": [
        "1892000000006907"
      ],
      "emailId": "jade@example.com",
      "firstName": "Jade",
      "id": "1892000000056007",
      "isConfirmed": true,
      "lastName": "Tywin",
      "name": "Jade Tywin",
      "status": "ACTIVE"
    }
  ],
  "next_offset": null
}

List contacts

List contacts (customers).

Inputs

Sort bysort_bytext
Optional. The order of the contacts.One of: firstName (First name), lastName (Last name), -createdTime (Newest first), createdTime (Oldest first).
Page sizelimitnumber
Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
Offsetoffsetnumber
Optional. How many to skip: the next_offset of the previous page.At least 0.

Outputs

countnumber
How many contacts are on this page.
has_moretrue/false
Whether another page is probably available.
itemslist
The contacts.
next_offsetnumber
Pass as 'Offset' to fetch the next page; empty on the last.
Example output
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "accountId": "1892000000975382",
      "createdTime": "2026-02-01T08:00:00.000Z",
      "email": "carol@example.com",
      "firstName": "Carol",
      "id": "1892000000042001",
      "lastName": "Smith",
      "phone": "+1 555 0100"
    }
  ],
  "next_offset": null
}

List departments

List the help desk's departments. A ticket belongs to one.

Inputs

Searchsearchtext
Optional. Only departments whose name matches; * is a wildcard.
Include disabledinclude_disabledtrue/false
Optional. Also list disabled departments.Default: false.
Page sizelimitnumber
Optional. How many to return, 1 to 200. Default 50.From 1 to 200.
Offsetoffsetnumber
Optional. How many to skip: the next_offset of the previous page.At least 0.

Outputs

countnumber
How many departments are on this page.
has_moretrue/false
Whether another page is probably available.
itemslist
The departments.
next_offsetnumber
Pass as 'Offset' to fetch the next page; empty on the last.
Example output
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "createdTime": "2026-01-10T09:00:00.000Z",
      "description": "Customer support",
      "id": "1892000000006907",
      "isDefault": true,
      "isEnabled": true,
      "name": "Support"
    }
  ],
  "next_offset": null
}

List ticket comments

List the comments on a ticket.

Inputs

Ticket IDticket_idtextRequired
The ticket's id: the long number from 'List tickets' or 'Search tickets', or the ticket's address in Zoho Desk. Not the ticket number.
Ordersort_bytext
Optional. Newest or oldest first.One of: -commentedTime (Newest first), commentedTime (Oldest first).
Page sizelimitnumber
Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
Offsetoffsetnumber
Optional. How many to skip: the next_offset of the previous page.At least 0.

Outputs

countnumber
How many comments are on this page.
has_moretrue/false
Whether another page is probably available.
itemslist
The comments.
next_offsetnumber
Pass as 'Offset' to fetch the next page; empty on the last.
Example output
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "commentedTime": "2026-03-02T11:05:00.000Z",
      "commenterId": "1892000000056007",
      "content": "Customer called; replacement approved.",
      "contentType": "plainText",
      "id": "1892000000367001",
      "isPublic": false
    }
  ],
  "next_offset": null
}

List ticket conversation

List the emails and other messages on a ticket, each with a summary. Use 'Get conversation message' for a full message.

Inputs

Ticket IDticket_idtextRequired
The ticket's id: the long number from 'List tickets' or 'Search tickets', or the ticket's address in Zoho Desk. Not the ticket number.
Ordersort_bytext
Optional. Newest first (the default) or oldest first.One of: -sendDateTime (Newest first), sendDateTime (Oldest first).
Page sizelimitnumber
Optional. How many to return, 1 to 200. Default 100.From 1 to 200.
Offsetoffsetnumber
Optional. How many to skip: the next_offset of the previous page.At least 0.

Outputs

countnumber
How many conversation messages are on this page.
has_moretrue/false
Whether another page is probably available.
itemslist
The conversation messages.
next_offsetnumber
Pass as 'Offset' to fetch the next page; empty on the last.
Example output
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "channel": "EMAIL",
      "contentType": "text/plain",
      "createdTime": "2026-03-02T11:00:00.000Z",
      "direction": "out",
      "fromEmailAddress": "support@acme.zohodesk.com",
      "id": "1892000000094004",
      "status": "SUCCESS",
      "summary": "Thanks for letting us know. A replacement is on its way.",
      "to": "carol@example.com",
      "visibility": "public"
    }
  ],
  "next_offset": null
}

List tickets

List tickets, newest first by default, optionally filtered.

Inputs

Departmentdepartment_idtext
Optional. Only this department.
Statusstatuslist
Optional. Only tickets with these statuses.One or more of: Open, On Hold, Escalated, Closed.
Priorityprioritylist
Optional. Only tickets with these priorities.One or more of: High, Medium, Low.
Assigneeassignee_idtext
Optional. Only tickets assigned to this agent.
Unassigned onlyunassigned_onlytrue/false
Optional. Only tickets nobody is assigned to.Default: false.
Received in the lastreceived_in_daystext
Optional. Only tickets received in this many days.One of: 15 (15 days), 30 (30 days), 90 (90 days).
Sort bysort_bytext
Optional. Newest or oldest first.One of: -createdTime (Newest first), createdTime (Oldest first).
Page sizelimitnumber
Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
Offsetoffsetnumber
Optional. How many to skip: the next_offset of the previous page.At least 0.

Outputs

countnumber
How many tickets are on this page.
has_moretrue/false
Whether another page is probably available.
itemslist
The tickets.
next_offsetnumber
Pass as 'Offset' to fetch the next page; empty on the last.
Example output
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "assigneeId": "1892000000056007",
      "channel": "Email",
      "commentCount": "0",
      "contactId": "1892000000042001",
      "createdTime": "2026-03-02T10:15:00.000Z",
      "departmentId": "1892000000006907",
      "email": "carol@example.com",
      "id": "1892000000042034",
      "priority": "High",
      "status": "Open",
      "statusType": "Open",
      "subject": "Order arrived damaged",
      "threadCount": "1",
      "ticketNumber": "101",
      "webUrl": "https://desk.zoho.com/support/acme/ShowHomePage.do#Cases/dv/1892000000042034"
    }
  ],
  "next_offset": null
}

Search contacts

Find contacts by email, name, phone or account. Text accepts * as a wildcard. Useful to find a contact before creating a ticket.

Inputs

Emailemailtext
Optional. The email address, such as *@acme.com.
Namefull_nametext
Optional. The contact's full name.
Phonephonetext
Optional. The phone number.
Account nameaccount_nametext
Optional. The contact's account.
Any field containstexttext
Optional. Search every field.
Sort bysort_bytext
Optional. The order of the results.One of: relevance (Best match), -createdTime (Newest first), createdTime (Oldest first), -modifiedTime (Recently changed first), modifiedTime (Least recently changed first).
Page sizelimitnumber
Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
Offsetoffsetnumber
Optional. How many to skip: the next_offset of the previous page (up to 999).From 0 to 999.

Outputs

countnumber
How many contacts are on this page.
has_moretrue/false
Whether another page is probably available.
itemslist
The contacts.
next_offsetnumber
Pass as 'Offset' to fetch the next page; empty on the last.
totalnumber
How many contacts match in all.
Example output
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "accountId": "1892000000975382",
      "createdTime": "2026-02-01T08:00:00.000Z",
      "email": "carol@example.com",
      "firstName": "Carol",
      "id": "1892000000042001",
      "lastName": "Smith",
      "phone": "+1 555 0100"
    }
  ],
  "next_offset": null,
  "total": 1
}

Search tickets

Find tickets by text, subject, number, email, status, people or creation date. Text fields accept * as a wildcard.

Inputs

Any field containstexttext
Optional. Search every field, such as refund*.
Subjectsubjecttext
Optional. Match the subject, such as *damaged*.
Ticket numberticket_numbertext
Optional. The exact ticket number, such as 101.
Emailemailtext
Optional. Match the ticket's email address.
Statusstatuslist
Optional. Only tickets with these statuses.One or more of: Open, On Hold, Escalated, Closed.
Priorityprioritylist
Optional. Only tickets with these priorities.One or more of: High, Medium, Low.
Departmentdepartment_idtext
Optional. Only this department.
Contact IDcontact_idtext
Optional. Only this contact's tickets.
Assigneeassignee_idtext
Optional. Only tickets assigned to this agent.
Created aftercreated_fromdate and time
Optional. Only tickets created at or after this time.
Created beforecreated_todate and time
Optional. Only tickets created at or before this time.
Sort bysort_bytext
Optional. The order of the results.One of: relevance (Best match), -createdTime (Newest first), createdTime (Oldest first), -modifiedTime (Recently changed first), modifiedTime (Least recently changed first).
Page sizelimitnumber
Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
Offsetoffsetnumber
Optional. How many to skip: the next_offset of the previous page (up to 999).From 0 to 999.

Outputs

countnumber
How many tickets are on this page.
has_moretrue/false
Whether another page is probably available.
itemslist
The tickets.
next_offsetnumber
Pass as 'Offset' to fetch the next page; empty on the last.
totalnumber
How many tickets match in all.
Example output
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "assigneeId": "1892000000056007",
      "channel": "Email",
      "commentCount": "0",
      "contactId": "1892000000042001",
      "createdTime": "2026-03-02T10:15:00.000Z",
      "departmentId": "1892000000006907",
      "email": "carol@example.com",
      "id": "1892000000042034",
      "priority": "High",
      "status": "Open",
      "statusType": "Open",
      "subject": "Order arrived damaged",
      "threadCount": "1",
      "ticketNumber": "101",
      "webUrl": "https://desk.zoho.com/support/acme/ShowHomePage.do#Cases/dv/1892000000042034"
    }
  ],
  "next_offset": null,
  "total": 1
}

Send email reply

Email a reply to the customer on a ticket. It goes to the ticket's email address unless you give others, from the department's default From address unless you choose one.

Inputs

Ticket IDticket_idtextRequired
The ticket's id: the long number from 'List tickets' or 'Search tickets', or the ticket's address in Zoho Desk. Not the ticket number.
MessagecontenttextRequired
The reply.
Formatcontent_typetext
Optional. Plain text (the default) or HTML.One of: plainText (Plain text), html.
From addressfrom_addresstext
Optional. A From address set up in Zoho Desk. Blank uses the ticket department's default.
Tototext
Optional. Recipients, comma-separated. Blank uses the ticket's email.
CCcctext
Optional. Cc recipients.
BCCbcctext
Optional. Bcc recipients.
Then set status toticket_statustext
Optional. Change the ticket's status with the reply, such as Closed.One of: Open, On Hold, Escalated, Closed.

Outputs

A conversation message on a ticket.

authorobject
Who wrote it.
cctext
The cc recipients.
channeltext
The channel, such as EMAIL.
contenttext
The full message (only when getting one message).
contentTypetext
text/html or text/plain.
createdTimetext
An ISO 8601 UTC timestamp.
directiontext
in (from the customer) or out (from an agent).
fromEmailAddresstext
The sender's address.
fullContentURLtext
Where the full content is, when shortened.
hasAttachtrue/false
Whether it has attachments.
idtext
The message's id.
isContentTruncatedtrue/false
Whether Zoho shortened the content.
notetext
Set when the content was shortened.
plainTexttext
The message as plain text (only when getting one message).
statustext
The delivery status, such as SUCCESS.
summarytext
The first part of the message.
totext
The recipients.
visibilitytext
public or private.
Example output
{
  "channel": "EMAIL",
  "contentType": "text/plain",
  "createdTime": "2026-03-02T11:00:00.000Z",
  "direction": "out",
  "fromEmailAddress": "support@acme.zohodesk.com",
  "id": "1892000000094004",
  "status": "SUCCESS",
  "summary": "Thanks for letting us know. A replacement is on its way.",
  "to": "carol@example.com",
  "visibility": "public"
}

Update contact

Change a contact's details. Only the fields you fill in change.

Inputs

Contact IDcontact_idtextRequired
The contact's id, from 'Search contacts' or 'List contacts', or the contact's address in Zoho Desk.
Last namelast_nametext
Optional. The new last name.
First namefirst_nametext
Optional. First name, up to 40 characters.
Emailemailtext
Optional. Email address.
Secondary emailsecondary_emailtext
Optional. A second email address.
Phonephonetext
Optional. Phone.
Mobilemobiletext
Optional. Mobile.
Titletitletext
Optional. Job title.
Descriptiondescriptiontext
Optional. Notes about the contact.
Account IDaccount_idtext
Optional. The account's id, from 'List accounts' or 'Create account'.
Streetstreettext
Optional. Street.
Citycitytext
Optional. City.
Statestatetext
Optional. State.
Countrycountrytext
Optional. Country.
Zip codezip_codetext
Optional. Zip or postal code.
Custom fieldscustom_fieldsobject
Optional. Custom field values by API name, such as {"cf_order_number": "A-100"}. Find API names in Zoho Desk under Setup > Customization > Layouts and Fields.

Outputs

A contact (a customer).

accountIdtext
The account's id.
cfobject
Custom field values, by API name (cf_...).
citytext
City.
countrytext
Country.
createdTimetext
An ISO 8601 UTC timestamp.
descriptiontext
Notes.
emailtext
Email address.
firstNametext
First name.
idtext
The contact's id; use it on a ticket.
isSpamtrue/false
Whether it is marked as spam.
lastNametext
Last name.
mobiletext
Mobile.
modifiedTimetext
An ISO 8601 UTC timestamp.
ownerIdtext
The owning agent's id.
phonetext
Phone.
secondaryEmailtext
Second email address.
statetext
State.
streettext
Street.
titletext
Job title.
typetext
The contact type.
webUrltext
The contact's address in Zoho Desk.
ziptext
Zip code.
Example output
{
  "accountId": "1892000000975382",
  "createdTime": "2026-02-01T08:00:00.000Z",
  "email": "carol@example.com",
  "firstName": "Carol",
  "id": "1892000000042001",
  "lastName": "Smith",
  "phone": "+1 555 0100"
}

Update ticket

Change a ticket's fields. Only the fields you fill in change. Set the status to Closed to close it, or choose an assignee to assign it.

Inputs

Ticket IDticket_idtextRequired
The ticket's id: the long number from 'List tickets' or 'Search tickets', or the ticket's address in Zoho Desk. Not the ticket number.
Subjectsubjecttext
Optional. The new subject.
Departmentdepartment_idtext
Optional. Only this department.
Contact IDcontact_idtext
Optional. Move the ticket to this contact.
Descriptiondescriptiontext
Optional. The ticket's description. HTML is allowed.
Priorityprioritytext
Optional. The priority; a priority your portal defines also works.One of: High, Medium, Low.
Statusstatustext
Optional. The status; a status your portal defines also works.One of: Open, On Hold, Escalated, Closed.
Classificationclassificationtext
Optional. The classification; one your portal defines also works.One of: Problem, Request, Question.
Channelchanneltext
Optional. Where the ticket came from.One of: Email, Phone, Web, Chat, Forums.
Categorycategorytext
Optional. The ticket's category.
Assigneeassignee_idtext
Optional. The agent to assign the ticket to.
Due datedue_datedate and time
Optional. When the ticket is due.
Resolutionresolutiontext
Optional. How the ticket was resolved.
Custom fieldscustom_fieldsobject
Optional. Custom field values by API name, such as {"cf_order_number": "A-100"}. Find API names in Zoho Desk under Setup > Customization > Layouts and Fields.
Don't notify on closedisable_closure_notificationtrue/false
Optional. When closing, don't email the customer.Default: false.

Outputs

A ticket.

accountIdtext
The account's id.
assigneeobject
A person.
assigneeIdtext
The assigned agent's id.
categorytext
The category.
cfobject
Custom field values, by API name (cf_...).
channeltext
Where the ticket came from, such as Email or Web.
classificationtext
The classification.
closedTimetext
An ISO 8601 UTC timestamp.
commentCounttext
How many comments it has.
contactobject
A person.
contactIdtext
The contact's id.
createdTimetext
An ISO 8601 UTC timestamp.
departmentobject
The department.
departmentIdtext
The department's id.
descriptiontext
The description (HTML).
dueDatetext
An ISO 8601 UTC timestamp.
emailtext
The ticket's email address.
idtext
The ticket's id; use it in other ticket actions.
isOverDuetrue/false
Whether it is past its due date.
isSpamtrue/false
Whether it is marked as spam.
modifiedTimetext
An ISO 8601 UTC timestamp.
phonetext
The ticket's phone number.
prioritytext
The priority.
statustext
The status, such as Open or Closed.
statusTypetext
Open, On Hold or Closed.
subjecttext
The subject.
threadCounttext
How many conversation messages it has.
ticketNumbertext
The ticket number people see, such as 101.
webUrltext
The ticket's address in Zoho Desk.
Example output
{
  "assigneeId": "1892000000056007",
  "channel": "Email",
  "commentCount": "0",
  "contactId": "1892000000042001",
  "createdTime": "2026-03-02T10:15:00.000Z",
  "departmentId": "1892000000006907",
  "email": "carol@example.com",
  "id": "1892000000042034",
  "priority": "High",
  "status": "Open",
  "statusType": "Open",
  "subject": "Order arrived damaged",
  "threadCount": "1",
  "ticketNumber": "101",
  "webUrl": "https://desk.zoho.com/support/acme/ShowHomePage.do#Cases/dv/1892000000042034"
}

On this page