Beam Help
Get help now

How-to · Zoho DESK

How to list ticket templates in Zoho Desk

Retrieve all ticket templates available for creating standardized tickets.

Listing ticket templates in Zoho Desk is straightforward via the REST API — a single GET request to the /api/v1/ticketTemplates endpoint returns all templates available in your portal.


Why this matters


Ticket templates let support teams pre-populate fields, subjects, and descriptions so agents can open consistent, well-structured tickets faster. If you're building an integration, automating ticket creation, or auditing your Desk configuration, you'll need to programmatically retrieve the full list of templates before referencing or updating any of them. This is also a useful first step before calling the update endpoint for a specific template. [6]


Step-by-step


Step 1. Confirm your OAuth token includes the correct Zoho Desk scopes. At minimum you'll need Desk.tickets.READ or Desk.settings.READ in your authorised scope set — both are part of the standard Desk scope bundle. [5]


Step 2. Send a GET request to the ticket templates endpoint:


GET /api/v1/ticketTemplates

This is the canonical operation (listtickettemplates) that returns all ticket templates for your Desk organisation. [4]


Step 3. Optionally, pass query parameters via the p dictionary (e.g., pagination or filter arguments) as part of the request. The endpoint accepts a p parameter object, so you can scope results if your portal has a large number of templates. [4]


Step 4. In Python, using the Desk client wrapper, the call looks like this:


def list_ticket_templates(self, p: dict = None):
    """List Ticket Templates"""
    return self.c.request("GET", f"/api/v1/ticketTemplates", p, None)

Pass p=None for an unfiltered list, or supply a dictionary of query parameters to narrow results. [4]


Step 5. Parse the response payload. Each item in the returned collection represents one ticket template. Key fields to capture include the template ID (needed for any subsequent update via PATCH /api/v1/ticketTemplates/{templateId}) and the template name. [6]


Common pitfalls


  • Missing scopes. If your OAuth token was generated without Desk.tickets.READ or Desk.settings.READ, the API will reject the request. Double-check the scopes listed in your environment configuration before troubleshooting anything else. [5]
  • Wrong base URL. The Desk API base URL varies by data centre. For the .com region it is https://desk.zoho.com; for other regions substitute the appropriate domain suffix (e.g., .eu, .in). Mixing CRM and Desk base URLs is a common mistake — they are separate services. [3]
  • Portal vs. org ID. Desk URLs and API contexts can be scoped to either a portal name or an organisation ID. Make sure the credentials and portal context you're using match the environment where your templates live. [3]

What to check


  • Scope confirmation: Verify that Desk.tickets.READ or Desk.settings.READ appears in the active OAuth token before making the call. [5]
  • Non-empty response: Confirm the response array contains at least one template; an empty list may indicate you're authenticated against the wrong portal or department. [4]
  • Template IDs captured: Ensure you've stored the templateId values from the response — you'll need them for any follow-up PATCH or reference operations. [6]

---


*Beam Help provides independent expert support for Zoho products and is not official Zoho support. Always refer to Zoho's own documentation for the latest API changes.*

Sources cited

  1. [1] server.py: build_zoho_links
  2. [2] server.py: chat_stream
  3. [3] GET /api/v1/ticketTemplates
  4. [4] config.py
  5. [5] PATCH /api/v1/ticketTemplates/{templateId}
  6. [6] planner.py
  7. [7] POST /api/v1/ticketTemplates
List Ticket Templates in Zoho Desk | Beam Help