Retrieving ticket followers in Zoho Desk is straightforward via a single GET request to the Desk REST API — you need only the target ticket's ID and valid OAuth credentials.
Why this matters
When building automations, audit tools, or notification workflows on top of Zoho Desk, you often need to know exactly who is subscribed to updates on a given ticket. Fetching the follower list programmatically lets you sync that data to external systems, enforce follower policies, or display subscriber counts in custom dashboards. This is also a useful complement to the add- and remove-follower operations, which let you manage the list once you know its current state.
Step-by-step
Step 1. Ensure your OAuth token carries the correct Desk scopes before making any API call. At minimum you need Desk.tickets.READ in your authorised scope set — broader ticket scopes such as Desk.tickets.ALL also satisfy this requirement. [6]
Step 2. Obtain the ticketId for the ticket whose followers you want to inspect. This is the internal numeric identifier Zoho Desk assigns to each ticket record, not the human-readable ticket number shown in the UI. You can retrieve it from any prior ticket-list or ticket-detail API response.
Step 3. Send a GET request to the followers endpoint, substituting your real ticket identifier into the path:
GET /api/v1/tickets/{ticketId}/followers
The optional query parameter p can be passed to control pagination if the follower list is long. [1]
Step 4. In Python, if you are using a ZohoDeskApi wrapper, call the method as shown below:
followers = api.get_ticket_followers(ticketId="your_ticket_id_here")
print(followers)
The wrapper issues the underlying GET request and returns the parsed response. [1]
Step 5. Inspect the response payload. The returned object will contain the follower records for that ticket. Present the key fields — such as agent name and email — to your end users in a readable format, skipping any empty values or raw internal IDs. [5]
Step 6. If your integration also needs to modify the follower list, note that two companion endpoints exist:
- Add followers:
POST /api/v1/tickets/{ticketId}/addFollowers— accepts adatabody containing the agents or contacts to subscribe. [3] - Remove followers:
POST /api/v1/tickets/{ticketId}/removeFollowers— accepts adatabody identifying the followers to unsubscribe. [4]
These are separate operations from the read call, so your OAuth token will need write-level ticket scopes (Desk.tickets.WRITE or Desk.tickets.ALL) if you intend to use them. [6]
Step 7. If your access token has expired, the API client should automatically refresh it using the stored refreshtoken. Confirm that your token-refresh logic updates the persisted accesstoken and tokenexpiresat values in your data store after each refresh cycle so subsequent calls do not fail. [7]
Common pitfalls
- Missing or wrong
orgId: Zoho Desk requires an organisation ID header on every API call. If your client was initialised without a validdeskorgid, the request will be rejected. The recommended approach is to call the organisations endpoint on first use to auto-discover and persist the correct ID. [7] - Insufficient OAuth scopes: Requesting the follower list with a token that only has
Desk.contacts.READorDesk.basic.READwill not work — you specifically need a tickets-level read scope. Double-check your configured scope string before troubleshooting elsewhere. [6] - Confusing ticket number with
ticketId: The{ticketId}path parameter is the internal system ID, not the#1234-style number visible in the Desk UI. Using the display number will return a 404 or an empty result.
What to check
- Confirm the OAuth token in use includes
Desk.tickets.READorDesk.tickets.ALLin its granted scopes. [6] - Verify that the
ticketIdyou are passing is the internal Desk record ID, and that the ticket actually exists in your organisation. - After a successful call, validate that the response structure matches what your downstream code expects — particularly if you plan to chain this with the add- or remove-followers endpoints. [3][4]
---
*Beam Help provides independent expert support for Zoho products and is not official Zoho support. Always refer to Zoho's own documentation for the most current API specifications.*