Skip to main content
Glama
JurreBrandsenInfoSupport

Zendesk API MCP Server

update_automation

Modify existing automations in Zendesk by updating their title, description, conditions, and actions to streamline ticket management workflows.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesAutomation ID to update
titleNoUpdated automation title
descriptionNoUpdated automation description
conditionsNoUpdated conditions
actionsNoUpdated actions

Implementation Reference

  • The handler function implementing the core logic for the 'update_automation' tool. It conditionally builds the update data object from provided parameters and invokes the Zendesk client to perform the update, returning formatted success or error responses.
    handler: async ({ id, title, description, conditions, actions }) => { try { const automationData = {}; if (title !== undefined) automationData.title = title; if (description !== undefined) automationData.description = description; if (conditions !== undefined) automationData.conditions = conditions; if (actions !== undefined) automationData.actions = actions; const result = await zendeskClient.updateAutomation(id, automationData); return { content: [{ type: "text", text: `Automation updated successfully!\n\n${JSON.stringify(result, null, 2)}` }] }; } catch (error) { return { content: [{ type: "text", text: `Error updating automation: ${error.message}` }], isError: true }; } }
  • Zod schema defining the input parameters and structure for the 'update_automation' tool, including optional fields for title, description, conditions, and actions.
    schema: { id: z.number().describe("Automation ID to update"), title: z.string().optional().describe("Updated automation title"), description: z.string().optional().describe("Updated automation 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)
    Tool registration block where the automationsTools array (containing 'update_automation') is spread into allTools and each tool is dynamically registered with the MCP server using server.tool().
    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, }); });
  • ZendeskClient helper method that executes the underlying PUT request to the Zendesk API endpoint for updating an automation.
    async updateAutomation(id, data) { return this.request("PUT", `/automations/${id}.json`, { automation: 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