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
| Action | What it does |
|---|---|
| Add ticket comment | Add a comment to a ticket: a private note for agents by default, or a public one the customer can see. |
| Create account | Create an account (a customer company) to group contacts. |
| Create contact | Create a contact (a customer). |
| Create ticket | Create a ticket. |
| Delete tickets | Move tickets to the Recycle Bin. |
| Get contact | Get one contact with their account. |
| Get conversation message | Get one message on a ticket in full, as HTML and plain text. |
| Get ticket | Get one ticket with its contact, assignee and department. |
| List accounts | List accounts (customer companies). |
| List agents | List the help desk's agents, the people tickets are assigned to. |
| List contacts | List contacts (customers). |
| List departments | List the help desk's departments. |
| List ticket comments | List the comments on a ticket. |
| List ticket conversation | List the emails and other messages on a ticket, each with a summary. |
| List tickets | List tickets, newest first by default, optionally filtered. |
| Search contacts | Find contacts by email, name, phone or account. |
| Search tickets | Find tickets by text, subject, number, email, status, people or creation date. |
| Send email reply | Email a reply to the customer on a ticket. |
| Update contact | Change a contact's details. |
| Update ticket | Change 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 ID
ticket_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.
- Comment
contenttextRequired - The comment, up to 32,000 characters.
- Public
is_publictrue/false - Optional. Let the customer see it. Private by default.Default:
false. - Format
content_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 name
account_nametextRequired - The company's name, up to 200 characters.
- Email
emailtext - Optional. Email.
- Website
websitetext - Optional. Website.
- Phone
phonetext - Optional. Phone.
- Industry
industrytext - Optional. Industry.
- Description
descriptiontext - Optional. Notes about the account.
- Street
streettext - Optional. Street.
- City
citytext - Optional. City.
- State
statetext - Optional. State.
- Country
countrytext - Optional. Country.
- Zip code
zip_codetext - Optional. Zip or postal code.
- Custom fields
custom_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 name
last_nametextRequired - The contact's last name, up to 200 characters.
- First name
first_nametext - Optional. First name, up to 40 characters.
- Email
emailtext - Optional. Email address.
- Secondary email
secondary_emailtext - Optional. A second email address.
- Phone
phonetext - Optional. Phone.
- Mobile
mobiletext - Optional. Mobile.
- Title
titletext - Optional. Job title.
- Description
descriptiontext - Optional. Notes about the contact.
- Account ID
account_idtext - Optional. The account's id, from 'List accounts' or 'Create account'.
- Street
streettext - Optional. Street.
- City
citytext - Optional. City.
- State
statetext - Optional. State.
- Country
countrytext - Optional. Country.
- Zip code
zip_codetext - Optional. Zip or postal code.
- Custom fields
custom_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
- Subject
subjecttextRequired - The ticket's subject, up to 255 characters.
- Department
department_idtextRequired - The department.
- Contact ID
contact_idtext - Optional. An existing contact's id. Leave blank and fill in the contact's email or last name instead.
- Contact email
contact_emailtext - Optional. The customer's email, when no contact id is given.
- Contact last name
contact_last_nametext - Optional. Used when Zoho Desk creates the contact.
- Contact first name
contact_first_nametext - Optional. Used when Zoho Desk creates the contact.
- Description
descriptiontext - Optional. The ticket's description. HTML is allowed.
- Priority
prioritytext - Optional. The priority; a priority your portal defines also works.One of:
High,Medium,Low. - Status
statustext - Optional. The status; a status your portal defines also works.One of:
Open,On Hold,Escalated,Closed. - Classification
classificationtext - Optional. The classification; one your portal defines also works.One of:
Problem,Request,Question. - Channel
channeltext - Optional. Where the ticket came from.One of:
Email,Phone,Web,Chat,Forums. - Category
categorytext - Optional. The ticket's category.
- Assignee
assignee_idtext - Optional. The agent to assign the ticket to.
- Due date
due_datedate and time - Optional. When the ticket is due.
- Phone
phonetext - Optional. A phone number for the ticket.
- Custom fields
custom_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 IDs
ticket_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 ID
contact_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 ID
ticket_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 ID
thread_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 ID
ticket_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 by
sort_bytext - Optional. The order of the accounts.One of:
accountName(Name),-createdTime(Newest first),createdTime(Oldest first). - Page size
limitnumber - Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
- Offset
offsetnumber - 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
- Status
statustext - Optional. Which agents to list; active ones by default.One of:
ACTIVE,DISABLED,DELETED,IMPORTED. - Department
department_idtext - Optional. Only this department.
- Page size
limitnumber - Optional. How many to return, 1 to 200. Default 50.From 1 to 200.
- Offset
offsetnumber - 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 by
sort_bytext - Optional. The order of the contacts.One of:
firstName(First name),lastName(Last name),-createdTime(Newest first),createdTime(Oldest first). - Page size
limitnumber - Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
- Offset
offsetnumber - 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
- Search
searchtext - Optional. Only departments whose name matches; * is a wildcard.
- Include disabled
include_disabledtrue/false - Optional. Also list disabled departments.Default:
false. - Page size
limitnumber - Optional. How many to return, 1 to 200. Default 50.From 1 to 200.
- Offset
offsetnumber - 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 ID
ticket_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.
- Order
sort_bytext - Optional. Newest or oldest first.One of:
-commentedTime(Newest first),commentedTime(Oldest first). - Page size
limitnumber - Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
- Offset
offsetnumber - 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 ID
ticket_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.
- Order
sort_bytext - Optional. Newest first (the default) or oldest first.One of:
-sendDateTime(Newest first),sendDateTime(Oldest first). - Page size
limitnumber - Optional. How many to return, 1 to 200. Default 100.From 1 to 200.
- Offset
offsetnumber - 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
- Department
department_idtext - Optional. Only this department.
- Status
statuslist - Optional. Only tickets with these statuses.One or more of:
Open,On Hold,Escalated,Closed. - Priority
prioritylist - Optional. Only tickets with these priorities.One or more of:
High,Medium,Low. - Assignee
assignee_idtext - Optional. Only tickets assigned to this agent.
- Unassigned only
unassigned_onlytrue/false - Optional. Only tickets nobody is assigned to.Default:
false. - Received in the last
received_in_daystext - Optional. Only tickets received in this many days.One of:
15(15 days),30(30 days),90(90 days). - Sort by
sort_bytext - Optional. Newest or oldest first.One of:
-createdTime(Newest first),createdTime(Oldest first). - Page size
limitnumber - Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
- Offset
offsetnumber - 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
- Email
emailtext - Optional. The email address, such as *@acme.com.
- Name
full_nametext - Optional. The contact's full name.
- Phone
phonetext - Optional. The phone number.
- Account name
account_nametext - Optional. The contact's account.
- Any field contains
texttext - Optional. Search every field.
- Sort by
sort_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 size
limitnumber - Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
- Offset
offsetnumber - 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 contains
texttext - Optional. Search every field, such as refund*.
- Subject
subjecttext - Optional. Match the subject, such as *damaged*.
- Ticket number
ticket_numbertext - Optional. The exact ticket number, such as 101.
- Email
emailtext - Optional. Match the ticket's email address.
- Status
statuslist - Optional. Only tickets with these statuses.One or more of:
Open,On Hold,Escalated,Closed. - Priority
prioritylist - Optional. Only tickets with these priorities.One or more of:
High,Medium,Low. - Department
department_idtext - Optional. Only this department.
- Contact ID
contact_idtext - Optional. Only this contact's tickets.
- Assignee
assignee_idtext - Optional. Only tickets assigned to this agent.
- Created after
created_fromdate and time - Optional. Only tickets created at or after this time.
- Created before
created_todate and time - Optional. Only tickets created at or before this time.
- Sort by
sort_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 size
limitnumber - Optional. How many to return, 1 to 100. Default 50.From 1 to 100.
- Offset
offsetnumber - 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 ID
ticket_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
contenttextRequired - The reply.
- Format
content_typetext - Optional. Plain text (the default) or HTML.One of:
plainText(Plain text),html. - From address
from_addresstext - Optional. A From address set up in Zoho Desk. Blank uses the ticket department's default.
- To
totext - Optional. Recipients, comma-separated. Blank uses the ticket's email.
- CC
cctext - Optional. Cc recipients.
- BCC
bcctext - Optional. Bcc recipients.
- Then set status to
ticket_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 ID
contact_idtextRequired - The contact's id, from 'Search contacts' or 'List contacts', or the contact's address in Zoho Desk.
- Last name
last_nametext - Optional. The new last name.
- First name
first_nametext - Optional. First name, up to 40 characters.
- Email
emailtext - Optional. Email address.
- Secondary email
secondary_emailtext - Optional. A second email address.
- Phone
phonetext - Optional. Phone.
- Mobile
mobiletext - Optional. Mobile.
- Title
titletext - Optional. Job title.
- Description
descriptiontext - Optional. Notes about the contact.
- Account ID
account_idtext - Optional. The account's id, from 'List accounts' or 'Create account'.
- Street
streettext - Optional. Street.
- City
citytext - Optional. City.
- State
statetext - Optional. State.
- Country
countrytext - Optional. Country.
- Zip code
zip_codetext - Optional. Zip or postal code.
- Custom fields
custom_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 ID
ticket_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.
- Subject
subjecttext - Optional. The new subject.
- Department
department_idtext - Optional. Only this department.
- Contact ID
contact_idtext - Optional. Move the ticket to this contact.
- Description
descriptiontext - Optional. The ticket's description. HTML is allowed.
- Priority
prioritytext - Optional. The priority; a priority your portal defines also works.One of:
High,Medium,Low. - Status
statustext - Optional. The status; a status your portal defines also works.One of:
Open,On Hold,Escalated,Closed. - Classification
classificationtext - Optional. The classification; one your portal defines also works.One of:
Problem,Request,Question. - Channel
channeltext - Optional. Where the ticket came from.One of:
Email,Phone,Web,Chat,Forums. - Category
categorytext - Optional. The ticket's category.
- Assignee
assignee_idtext - Optional. The agent to assign the ticket to.
- Due date
due_datedate and time - Optional. When the ticket is due.
- Resolution
resolutiontext - Optional. How the ticket was resolved.
- Custom fields
custom_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 close
disable_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"
}