Zoho Desk integration | Zervanor
← All connectors

Zoho Desk

Also an agent tool
sales-crm

Zoho Desk API v1 (customer-support help desk) integration. OAuth 2.0 (authorization-code + offline refresh) with TWO ADR-033 auth features: (1) the custom Authorization: Zoho-oauthtoken <token> scheme via oauth_config.token_value_prefix (NOT Bearer; zoho-desk-09), and (2) the mandatory per-call orgId header injected via oauth_config.extra_headers (zoho-desk-03) — orgId is a per-instance connector-config selector required on every endpoint except /organizations. The API host is datacenter-specific via {config.api_base_url} base-URL templating (ADR-030; e.g. https://desk.zoho.com/api/v1 for US, .eu/.in/.com.au/.jp/.ca per region — zoho-desk-01); the OAuth accounts host (authorization_url/token_url) defaults to the .com data center and must match the same DC as the API host, so non-US tenants need a per-instance OAuth-flow override (zoho-desk-02). The connectivity read target get_organizations (GET /organizations) is orgId-exempt. Covers the v1 high-value object graph: Organizations, Tickets + sub-actions (comments, threads/sendReply, time entries, history, tags, followers, approvals, resolution, merge/split/move, markRead/Unread/spam, close, count), Contacts, Accounts, Agents, Teams, Departments, Products, Tasks, Calls, Events, Contracts, Articles/KB, Tags, and cross-module Search. Triggers are polling-only on modifiedTime (Zoho Desk webhooks are open/unsigned and match no registered signature handler — zoho-desk-04); list_tickets carries the polling{} block. Ticket/contact/account/product attachments are binary multipart upload + binary stream download and are deferred to Theme 9 (zoho-desk-10); the large admin/config surface (Layouts, Blueprints, Profiles, Roles, Skills, custom Modules/Records, IM channels, Dashboards, Bulk, GDPR SAR, Business Hours, Email Templates, etc.) is deferred for v1.

115 actions · 1 triggers

The Zoho Desk integration lets you connect Zoho Desk to your automations with 115 actions and 1 triggers — and every action is also a tool an AI agent can call. Examples: List Organizations, Get Organization, Update Organization, List Tickets, Create Ticket. No blank-canvas wiring — connect it and use it in your workflows.

Every action below is also a tool an AI agent can call — the same pack powers your workflows and your agents.

Triggers 1

Events in Zoho Desk that can start a workflow.

polling

New or updated ticket

Fires when a Zoho Desk ticket is created or modified since the last run.

Actions 115

What Zervanor can do in Zoho Desk.

Tickets42

GET

List Tickets

List support tickets (Zoho: GET /tickets). Carries the polling{} block: the connector's change-detection trigger polls on modifiedTime (Zoho Desk webhooks are open/unsigned — zoho-desk-04). Use sortBy=modifiedTime for reliable cursor advancement.

POST

Create Ticket

Create a support ticket (Zoho: POST /tickets). The create response returns the new ticket id at the top level (dot-path id). Connector WRITE test target (paired with delete_ticket cleanup); requires a valid departmentId and contactId supplied via the instance ConnectorTestConfig.

GET

Get Ticket

Get a ticket's details (Zoho: GET /tickets/{ticket_id}).

PUT

Update Ticket

Update a ticket (Zoho: PUT /tickets/{ticket_id}).

DELETE

Delete Ticket

Move a ticket to the Recycle Bin / Trash (Zoho: DELETE /tickets/{ticket_id}). NOT a hard purge — recoverable (zoho-desk-07), so the create_ticket -> delete_ticket pair is safe and reversible. Connector CLEANUP test target.

PATCH

Bulk Update Tickets

Bulk update multiple tickets (Zoho: PATCH /tickets).

POST

Close Tickets

Close multiple tickets (Zoho: POST /tickets/close).

GET

List Archived Tickets

List archived tickets (Zoho: GET /tickets/archived).

POST

Merge Tickets

Merge other tickets into this ticket (Zoho: POST /tickets/{ticket_id}/merge).

POST

Split Ticket

Split a thread into a new ticket (Zoho: POST /tickets/{ticket_id}/split).

POST

Move Ticket

Move a ticket to another department (Zoho: POST /tickets/{ticket_id}/move).

POST

Mark Ticket as Read

Mark a ticket as read (Zoho: POST /tickets/{ticket_id}/markAsRead).

POST

Mark Ticket as Unread

Mark a ticket as unread (Zoho: POST /tickets/{ticket_id}/markAsUnread).

POST

Mark Ticket as Spam

Mark a ticket (and optionally its contact) as spam (Zoho: POST /tickets/{ticket_id}/spam).

DELETE

Delete Spam Tickets

Delete spam tickets (Zoho: DELETE /tickets/spam).

POST

Assign Ticket Skill

Skill-based assignment of a ticket (Zoho: POST /tickets/{ticket_id}/assignSkill).

POST

Suggest Ticket Articles

Suggest knowledge-base articles for a ticket (Zoho: POST /tickets/{ticket_id}/suggestArticles).

GET

List Ticket Comments

List comments on a ticket (Zoho: GET /tickets/{ticket_id}/comments).

POST

Create Ticket Comment

Add a comment to a ticket (Zoho: POST /tickets/{ticket_id}/comments).

GET

Get Ticket Comment

Get a single ticket comment (Zoho: GET /tickets/{ticket_id}/comments/{comment_id}).

PUT

Update Ticket Comment

Update a ticket comment (Zoho: PUT /tickets/{ticket_id}/comments/{comment_id}).

DELETE

Delete Ticket Comment

Delete a ticket comment (Zoho: DELETE /tickets/{ticket_id}/comments/{comment_id}).

GET

List Ticket Threads

List conversation threads on a ticket (Zoho: GET /tickets/{ticket_id}/threads).

GET

Get Ticket Thread

Get a thread with full content (Zoho: GET /tickets/{ticket_id}/threads/{thread_id}).

POST

Send Ticket Reply

Send a reply thread on a ticket (Zoho: POST /tickets/{ticket_id}/sendReply).

GET

List Ticket Time Entries

List time entries on a ticket (Zoho: GET /tickets/{ticket_id}/timeEntry).

POST

Create Ticket Time Entry

Add a time entry to a ticket (Zoho: POST /tickets/{ticket_id}/timeEntry).

PUT

Update Ticket Time Entry

Update a ticket time entry (Zoho: PUT /tickets/{ticket_id}/timeEntry/{time_entry_id}).

DELETE

Delete Ticket Time Entry

Delete a ticket time entry (Zoho: DELETE /tickets/{ticket_id}/timeEntry/{time_entry_id}).

GET

Get Ticket History

Get a ticket's history / audit trail (Zoho: GET /tickets/{ticket_id}/History).

GET

List Ticket Tags

List tags on a ticket (Zoho: GET /tickets/{ticket_id}/tags).

POST

Associate Ticket Tag

Associate tag(s) with a ticket (Zoho: POST /tickets/{ticket_id}/associateTag).

POST

Dissociate Ticket Tag

Dissociate tag(s) from a ticket (Zoho: POST /tickets/{ticket_id}/dissociateTag).

GET

List Ticket Followers

List followers of a ticket (Zoho: GET /tickets/{ticket_id}/followers).

POST

Follow Ticket

Add follower(s) to a ticket (Zoho: POST /tickets/{ticket_id}/follow).

POST

Unfollow Ticket

Remove follower(s) from a ticket (Zoho: POST /tickets/{ticket_id}/unfollow).

GET

List Ticket Approvals

List approvals on a ticket (Zoho: GET /tickets/{ticket_id}/approvals).

POST

Create Ticket Approval

Create an approval on a ticket (Zoho: POST /tickets/{ticket_id}/approvals).

PUT

Update Ticket Approval

Update an approval on a ticket (Zoho: PUT /tickets/{ticket_id}/approvals/{approval_id}).

GET

Get Ticket Resolution

Get a ticket's resolution (Zoho: GET /tickets/{ticket_id}/resolution).

POST

Add Ticket Resolution

Add or update a ticket's resolution (Zoho: POST /tickets/{ticket_id}/resolution).

DELETE

Delete Ticket Resolution

Delete a ticket's resolution (Zoho: DELETE /tickets/{ticket_id}/resolution).

Contacts9

GET

List Contacts

List contacts (Zoho: GET /contacts).

GET

Get Contact

Get a contact (Zoho: GET /contacts/{contact_id}).

POST

Create Contact

Create a contact (Zoho: POST /contacts).

PUT

Update Contact

Update a contact (Zoho: PUT /contacts/{contact_id}).

DELETE

Delete Contact

Delete a contact (Zoho: DELETE /contacts/{contact_id}).

POST

Merge Contacts

Merge other contacts into this contact (Zoho: POST /contacts/{contact_id}/merge).

GET

List Contact Tickets

List a contact's tickets (Zoho: GET /contacts/{contact_id}/tickets).

GET

List Contact Comments

List comments on a contact (Zoho: GET /contacts/{contact_id}/comments).

POST

Create Contact Comment

Add a comment to a contact (Zoho: POST /contacts/{contact_id}/comments).

Accounts8

GET

List Accounts

List accounts (Zoho: GET /accounts).

GET

Get Account

Get an account (Zoho: GET /accounts/{account_id}).

POST

Create Account

Create an account (Zoho: POST /accounts).

PUT

Update Account

Update an account (Zoho: PUT /accounts/{account_id}).

DELETE

Delete Account

Delete an account (Zoho: DELETE /accounts/{account_id}).

POST

Merge Accounts

Merge other accounts into this account (Zoho: POST /accounts/{account_id}/merge).

GET

List Account Contacts

List an account's contacts (Zoho: GET /accounts/{account_id}/contacts).

GET

List Account Tickets

List an account's tickets (Zoho: GET /accounts/{account_id}/tickets).

Agents6

GET

List Agents

List agents (Zoho: GET /agents).

GET

Get Agent

Get an agent (Zoho: GET /agents/{agent_id}).

GET

Get Current Agent

Get the current agent — the token owner (Zoho: GET /agents/me).

POST

Create Agent

Create an agent (Zoho: POST /agents).

PUT

Update Agent

Update an agent (Zoho: PUT /agents/{agent_id}).

DELETE

Delete Agent

Delete an agent (Zoho: DELETE /agents/{agent_id}).

Products6

GET

List Products

List products (Zoho: GET /products).

GET

Get Product

Get a product (Zoho: GET /products/{product_id}).

POST

Create Product

Create a product (Zoho: POST /products).

PUT

Update Product

Update a product (Zoho: PUT /products/{product_id}).

DELETE

Delete Product

Delete a product (Zoho: DELETE /products/{product_id}).

GET

List Product Tickets

List a product's tickets (Zoho: GET /products/{product_id}/tickets).

Teams6

GET

List Teams

List teams (Zoho: GET /teams).

GET

Get Team

Get a team (Zoho: GET /teams/{team_id}).

POST

Create Team

Create a team (Zoho: POST /teams).

PUT

Update Team

Update a team (Zoho: PUT /teams/{team_id}).

DELETE

Delete Team

Delete a team (Zoho: DELETE /teams/{team_id}).

GET

List Team Members

List a team's members (Zoho: GET /teams/{team_id}/members).

Articles5

GET

List Articles

List knowledge-base articles (Zoho: GET /articles).

GET

Get Article

Get a knowledge-base article (Zoho: GET /articles/{article_id}).

POST

Create Article

Create a knowledge-base article (Zoho: POST /articles).

PUT

Update Article

Update a knowledge-base article (Zoho: PUT /articles/{article_id}).

DELETE

Delete Article

Delete a knowledge-base article (Zoho: DELETE /articles/{article_id}).

Calls5

GET

List Calls

List calls (Zoho: GET /calls).

GET

Get Call

Get a call (Zoho: GET /calls/{call_id}).

POST

Create Call

Create a call (Zoho: POST /calls).

PUT

Update Call

Update a call (Zoho: PUT /calls/{call_id}).

DELETE

Delete Call

Delete a call (Zoho: DELETE /calls/{call_id}).

Contracts5

GET

List Contracts

List contracts (Zoho: GET /contracts).

GET

Get Contract

Get a contract (Zoho: GET /contracts/{contract_id}).

POST

Create Contract

Create a contract (Zoho: POST /contracts).

PUT

Update Contract

Update a contract (Zoho: PUT /contracts/{contract_id}).

DELETE

Delete Contract

Delete a contract (Zoho: DELETE /contracts/{contract_id}).

Departments5

GET

List Departments

List departments (Zoho: GET /departments).

GET

Get Department

Get a department (Zoho: GET /departments/{dept_id}).

POST

Create Department

Create a department (Zoho: POST /departments).

PUT

Update Department

Update a department (Zoho: PUT /departments/{dept_id}).

GET

List Department Agents

List a department's agents (Zoho: GET /departments/{dept_id}/agents).

Tasks5

GET

List Tasks

List tasks (Zoho: GET /tasks).

GET

Get Task

Get a task (Zoho: GET /tasks/{task_id}).

POST

Create Task

Create a task (Zoho: POST /tasks).

PUT

Update Task

Update a task (Zoho: PUT /tasks/{task_id}).

DELETE

Delete Task

Delete a task (Zoho: DELETE /tasks/{task_id}).

Events4

GET

List Events

List events (Zoho: GET /events).

GET

Get Event

Get an event (Zoho: GET /events/{event_id}).

POST

Create Event

Create an event (Zoho: POST /events).

PUT

Update Event

Update an event (Zoho: PUT /events/{event_id}).

Organizations3

GET

List Organizations

List the Zoho Desk organizations (portals) the authenticated token can access (Zoho: GET /organizations). The single endpoint that requires NO orgId header — safe identity/connectivity probe that validates the OAuth token and the Zoho-oauthtoken scheme and surfaces the org ids used for the orgId header. Connector READ test target (zoho-desk-03).

GET

Get Organization

Get an organization's details (Zoho: GET /organizations/{org_id}).

PUT

Update Organization

Update an organization's profile (Zoho: PUT /organizations/{org_id}).

Tags3

GET

List Tags

List tags, module-scoped via query (Zoho: GET /tags).

POST

Create Tag

Create a tag (Zoho: POST /tags).

DELETE

Delete Tag

Delete a tag (Zoho: DELETE /tags/{tag_id}).

KbCategories1

GET

List KB Categories

List knowledge-base categories (Zoho: GET /kbCategories).

Search1

GET

Search Module

Search within a module (Zoho: GET /{module}/search, e.g. /tickets/search?searchStr=...). Cross-module record search.

TicketsCount1

GET

Get Tickets Count

Get the count of tickets by filter (Zoho: GET /ticketsCount).

Automations using Zoho Desk

Build your own automation with Zoho Desk in the visual builder.

Frequently asked questions

What can I automate with Zoho Desk?

115 actions are available — for example: List Organizations, Get Organization, Update Organization, List Tickets, Create Ticket, and more.

Which Zoho Desk events can start a workflow?

1 triggers — for example: New or updated ticket.

Can Zoho Desk be used as an AI agent tool?

Yes. Every Zoho Desk action automatically becomes a tool an AI agent can call — the same pack powers both your workflows and your agents.

How is the Zoho Desk integration modelled?

Zoho Desk is modelled as a versioned connector pack, and the steps that need reasoning fall to first-party agents hosted in the same runtime as the workflows.