VX Agents

API directory · Customer Support

Zendesk Triggers & Automations

v1.0.0 · 15 endpoints · 0 connections · shared by vx.ai

Why did that ticket get auto-assigned, and which rule closes pending tickets after 4 days? Audit Zendesk triggers, automations and trigger categories, read a trigger's revision history, validate condition and action definitions, and draft new rules or edits for an admin to approve.

Connect this API to an AI agent Browse all specs

What you can do with Zendesk Triggers & Automations via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
GET /api/v2/triggers listTriggers List ticket triggers, filtered by active state or category
POST /api/v2/triggers createTrigger Create a ticket trigger
GET /api/v2/triggers/search searchTriggers Search ticket triggers by title or filter
GET /api/v2/triggers/{trigger_id} getTrigger Get a trigger's conditions and actions
PUT /api/v2/triggers/{trigger_id} updateTrigger Update a trigger's title, conditions, actions or active state
GET /api/v2/triggers/{trigger_id}/revisions listTriggerRevisions List who changed a trigger and when
GET /api/v2/triggers/{trigger_id}/revisions/{trigger_revision_id} getTriggerRevision Get one past version of a trigger
GET /api/v2/triggers/definitions listTriggerDefinitions List the conditions and actions a trigger can use
POST /api/v2/triggers/validate validateTrigger Check a trigger definition for errors without saving it
GET /api/v2/trigger_categories listTriggerCategories List trigger categories (with trigger counts)
GET /api/v2/automations listAutomations List time-based automations
POST /api/v2/automations createAutomation Create a time-based automation
GET /api/v2/automations/search searchAutomations Search automations by title
GET /api/v2/automations/{automation_id} getAutomation Get an automation's conditions and actions
PUT /api/v2/automations/{automation_id} updateAutomation Update an automation or turn it on or off

Authentication

zendesk_api_token

HTTP Basic

Zendesk API token over HTTP Basic: username [email protected]/token, password = the API token. (An OAuth access token with the read write scopes also works as a Bearer token.)

How to get a credential

  1. Sign in as a Zendesk admin and open Admin Center > Apps and integrations > APIs > Zendesk API.
  2. Turn on Token access and click Add API token; name it (e.g. VX Agents business rules).
  3. Copy the token (it is shown once).
  4. Use the email of the admin the token should act as, followed by /token, as the username and the token as the password.

Permissions used

Role needed Operations
Agent (read) listTriggers, searchTriggers, getTrigger, listTriggerRevisions, getTriggerRevision, listTriggerDefinitions, listTriggerCategories, listAutomations, searchAutomations, getAutomation
Admin, or agent with permission to manage triggers / automations validateTrigger, createTrigger, updateTrigger, createAutomation, updateAutomation

API tokens act as the user in the username, so that user's role decides access.

Common errors

Status Meaning Fix
401 Wrong email/token pair, or token access is off Check the username ends in /token and token access is enabled in Admin Center.
403 The user's role cannot manage business rules Use an admin's email or give the agent role the business rules permission.
422 / 400 Invalid rule: unknown condition field, wrong operator, or an automation without a once-only condition Check fields with listTriggerDefinitions and run validateTrigger first.
429 Rate limit (per minute, by plan) Wait for the Retry-After seconds and retry.

Store it as a VX Agents credential (Basic auth: username email/token, password = API token).

Usage guide

Setup

  • Credential: HTTP Basic with username [email protected]/token and a Zendesk API token as the password (an admin's, for edits).
  • Set the server variable subdomain to your account (for https://acme.zendesk.com use acme).

Explain what a rule does

  1. Find it: searchTriggers with query (title words) or filter (e.g. {"json":{"description":"Close a ticket"}}), or listTriggers with active=true, category_id, and sort_by=usage_7d to see the busiest rules. For time-based rules use searchAutomations (query is required) or listAutomations.
  2. getTrigger / getAutomation return conditions.all (every one must match) and conditions.any (at least one), each {field, operator, value}, plus actions [{field, value}]. Triggers run in position order on every ticket update; automations run hourly on matching tickets.
  3. "Who changed this?" listTriggerRevisions (include=users adds the author), then getTriggerRevision to compare an old version with the current one.
  4. listTriggerCategories shows how triggers are grouped.

Draft a new rule or a fix

  1. listTriggerDefinitions lists the condition fields, operators and action fields you can use.
  2. Build the body: {"trigger": {"title": "...", "category_id": "...", "conditions": {"all": [{"field": "status", "operator": "is", "value": "new"}], "any": []}, "actions": [{"field": "group_id", "value": "123"}]}}.
  3. validateTrigger with that body reports errors without saving.
  4. Show the user the rule in plain words and get a yes; then createTrigger, or updateTrigger with the full conditions and actions (an update replaces both arrays). Set "active": false to switch a rule off rather than deleting it.
  5. Automations work the same way with createAutomation / updateAutomation ({"automation": {...}}); they need a time-based condition (hours since an event, e.g. since the ticket went pending; copy the field names from an existing automation via getAutomation) and a condition that is true only once or an action that cancels one of the conditions, so they fire once per ticket.

Good to know

  • Rule changes affect every future ticket: always confirm before create or update, and prefer creating rules inactive first.
  • Automations are checked every hour, so a new one takes up to an hour to act.
  • Lists page with page/per_page (offset) or page[size]/page[after] (cursor).
  • No delete or reorder operations by design.

Source: Zendesk Support API reference (https://developer.zendesk.com/api-reference/ticketing/business-rules/triggers/), checked 2026-10-25.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “Zendesk Triggers & Automations” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs