Beam Help
Get help now

How-to · Zoho DESK

How to list task comments in Zoho Desk

Retrieve all comments added to a specific task.

Listing all comments on a Zoho Desk task is straightforward once you know the correct API endpoint and the required OAuth scopes. This article walks you through the process step by step — brought to you by Beam Help, independent expert support for Zoho (not official Zoho support).


Why this matters


Task comments in Zoho Desk capture important context, decisions, and updates tied to a specific task. If you're building an integration, running an audit, or simply need to surface comment history programmatically, you'll need to call the list task comments endpoint. Understanding the required parameters and scopes upfront saves you from frustrating authentication errors down the line.


Step-by-step


Step 1. Confirm your OAuth scopes are in place.


Before making any API call, verify that your connected app or OAuth client has the Desk.tasks.READ scope (at minimum) granted. A broader Desk.tasks.ALL scope also covers this operation. Without one of these, the request will be rejected at the authentication layer. [4]


Step 2. Identify the taskId you want to query.


Every task in Zoho Desk has a unique numeric identifier. You can retrieve this from a prior API call that lists or creates tasks, or by inspecting the task URL in the Zoho Desk web interface. Keep this value handy — it is a required path parameter for the next step. [2]


Step 3. Send a GET request to the list task comments endpoint.


Issue an HTTP GET request to the following path, substituting your actual task identifier:


GET /api/v1/tasks/{taskId}/comments

The taskId is a required path parameter. An optional query parameter p can be passed to control pagination or filtering of results. [2]


A minimal Python example using the Zoho Desk client wrapper looks like this:


# taskId is a string, e.g. "123456789"
comments = desk_client.list_task_comments(taskId="123456789")

You may also pass a dictionary as the second argument (p) to supply any additional query parameters supported by the endpoint. [2]


Step 4. Parse the response.


A successful response will return the list of comments associated with the specified task. Each comment object in the response can subsequently be fetched individually in full detail using the GET /api/v1/tasks/{taskId}/comments/{commentId} endpoint if you need the complete comment record. [8]


Step 5. (Optional) Create or update comments as needed.


If your workflow requires adding new comments after reviewing the list, use a POST request to /api/v1/tasks/{taskId}/comments with a data payload. [5] To modify an existing comment, issue a PATCH request to /api/v1/tasks/{taskId}/comments/{commentId} with the updated content in the request body. [7]


Common pitfalls


  • Missing or incorrect scope. The most common failure is an OAuth token that lacks Desk.tasks.READ or Desk.tasks.ALL. Double-check your scope configuration and regenerate your token if you recently added scopes — existing tokens do not automatically inherit new permissions. [4]

  • Wrong taskId format. The taskId must be passed as a string in the path. Passing an integer type directly in some HTTP libraries can cause unexpected routing errors; always coerce it to a string before constructing the URL. [2]

  • Confusing list vs. get. The list endpoint (GET /api/v1/tasks/{taskId}/comments) returns all comments for a task, while the get endpoint (GET /api/v1/tasks/{taskId}/comments/{commentId}) returns a single comment by its own ID. Make sure you're calling the right one for your use case. [2][8]

What to check


  • Scope verification: Confirm that Desk.tasks.READ or Desk.tasks.ALL appears in your active OAuth token's granted scopes before making the call. [4]
  • Valid task ID: Ensure the taskId you're using actually exists in your Zoho Desk portal and belongs to the correct organisation context. [2]
  • Pagination handling: If the task has many comments, check whether the p parameter needs to be incremented to retrieve subsequent pages of results. [2]

Sources cited

  1. [1] server.py: chat
  2. [2] GET /api/v1/tasks/{taskId}/comments
  3. [3] server.py: chat_plan
  4. [4] config.py
  5. [5] POST /api/v1/tasks/{taskId}/comments
  6. [6] PATCH /api/v1/tasks/{taskId}/comments/{commentId}
  7. [7] GET /api/v1/tasks/{taskId}/comments/{commentId}
List Task Comments | Beam Help — Beam Help