Skip to main content
Glama
JurreBrandsenInfoSupport

Zendesk API MCP Server

update_trigger

Modify Zendesk triggers by updating their title, description, conditions, or actions to automate ticket workflows and maintain consistent support processes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesTrigger ID to update
titleNoUpdated trigger title
descriptionNoUpdated trigger description
conditionsNoUpdated conditions
actionsNoUpdated actions

Implementation Reference

  • The main handler function for the "update_trigger" MCP tool. It optionally builds triggerData from provided inputs and delegates to zendeskClient.updateTrigger, handling success/error responses.
    handler: async ({ id, title, description, conditions, actions }) => { try { const triggerData = {}; if (title !== undefined) triggerData.title = title; if (description !== undefined) triggerData.description = description; if (conditions !== undefined) triggerData.conditions = conditions; if (actions !== undefined) triggerData.actions = actions; const result = await zendeskClient.updateTrigger(id, triggerData); return { content: [{ type: "text", text: `Trigger updated successfully!\n\n${JSON.stringify(result, null, 2)}` }] }; } catch (error) { return { content: [{ type: "text", text: `Error updating trigger: ${error.message}` }], isError: true }; } }
  • Zod input schema for the "update_trigger" tool defining parameters: required id, optional title, description, conditions (all/any), and actions.
    schema: { id: z.number().describe("Trigger ID to update"), title: z.string().optional().describe("Updated trigger title"), description: z.string().optional().describe("Updated trigger description"), conditions: z.object({ all: z.array(z.object({ field: z.string().describe("Field to check"), operator: z.string().describe("Operator for comparison"), value: z.any().describe("Value to compare against") })).optional(), any: z.array(z.object({ field: z.string().describe("Field to check"), operator: z.string().describe("Operator for comparison"), value: z.any().describe("Value to compare against") })).optional() }).optional().describe("Updated conditions"), actions: z.array(z.object({ field: z.string().describe("Field to modify"), value: z.any().describe("Value to set") })).optional().describe("Updated actions") },
  • src/server.js:31-52 (registration)
    Registration of triggersTools (containing "update_trigger") by spreading into allTools array and registering each via server.tool(name, schema, handler).
    const allTools = [ ...ticketsTools, ...usersTools, ...organizationsTools, ...groupsTools, ...macrosTools, ...viewsTools, ...triggersTools, ...automationsTools, ...searchTools, ...helpCenterTools, ...supportTools, ...talkTools, ...chatTools, ]; // Register each tool with the server allTools.forEach((tool) => { server.tool(tool.name, tool.schema, tool.handler, { description: tool.description, }); });
  • Low-level helper method in ZendeskClient that performs the actual API PUT request to update a trigger.
    async updateTrigger(id, data) { return this.request("PUT", `/triggers/${id}.json`, { trigger: data }); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JurreBrandsenInfoSupport/zendesk-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server