Skip to main content
Glama
JurreBrandsenInfoSupport

Zendesk API MCP Server

update_automation

Update Zendesk automations by modifying title, description, conditions, and actions. Streamline workflows by customizing rules and responses directly through the API.

Input Schema

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

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "actions": { "description": "Updated actions", "items": { "additionalProperties": false, "properties": { "field": { "description": "Field to modify", "type": "string" }, "value": { "description": "Value to set" } }, "required": [ "field" ], "type": "object" }, "type": "array" }, "conditions": { "additionalProperties": false, "description": "Updated conditions", "properties": { "all": { "items": { "additionalProperties": false, "properties": { "field": { "description": "Field to check", "type": "string" }, "operator": { "description": "Operator for comparison", "type": "string" }, "value": { "description": "Value to compare against" } }, "required": [ "field", "operator" ], "type": "object" }, "type": "array" }, "any": { "items": { "additionalProperties": false, "properties": { "field": { "description": "Field to check", "type": "string" }, "operator": { "description": "Operator for comparison", "type": "string" }, "value": { "description": "Value to compare against" } }, "required": [ "field", "operator" ], "type": "object" }, "type": "array" } }, "type": "object" }, "description": { "description": "Updated automation description", "type": "string" }, "id": { "description": "Automation ID to update", "type": "number" }, "title": { "description": "Updated automation title", "type": "string" } }, "required": [ "id" ], "type": "object" }

Implementation Reference

  • Handler function for the 'update_automation' tool. It constructs the update data from input parameters, calls zendeskClient.updateAutomation, and returns a formatted success or error response.
    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 }; } }
  • Input schema using Zod for validating parameters of the update_automation tool: required id, optional title, description, conditions, 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)
    Registration of all tools, including update_automation from automationsTools, by spreading tool arrays and registering each with 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, }); });
  • Helper method in ZendeskClient that sends the PUT request to the Zendesk API to update an automation.
    async updateAutomation(id, data) { return this.request("PUT", `/automations/${id}.json`, { automation: data }); }
  • src/server.js:16-16 (registration)
    Import of automationsTools array containing the update_automation tool definition.
    import { automationsTools } from "./tools/automations.js";

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