Skip to main content
Glama
JurreBrandsenInfoSupport

Zendesk API MCP Server

update_view

Modify existing Zendesk views by updating their title, description, or filtering conditions to organize and manage ticket displays.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesView ID to update
titleNoUpdated view title
descriptionNoUpdated view description
conditionsNoUpdated conditions

Implementation Reference

  • The handler function that executes the logic for the update_view tool, preparing the data and calling the Zendesk client to update the view.
    handler: async ({ id, title, description, conditions }) => { try { const viewData = {}; if (title !== undefined) viewData.title = title; if (description !== undefined) viewData.description = description; if (conditions !== undefined) viewData.conditions = conditions; const result = await zendeskClient.updateView(id, viewData); return { content: [{ type: "text", text: `View updated successfully!\n\n${JSON.stringify(result, null, 2)}` }] }; } catch (error) { return { content: [{ type: "text", text: `Error updating view: ${error.message}` }], isError: true }; } }
  • Zod schema defining the input parameters for the update_view tool: id (required), title, description, conditions (optional).
    schema: { id: z.number().describe("View ID to update"), title: z.string().optional().describe("Updated view title"), description: z.string().optional().describe("Updated view description"), conditions: z.object({ all: z.array(z.object({ field: z.string().describe("Field to filter on"), 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 filter on"), operator: z.string().describe("Operator for comparison"), value: z.any().describe("Value to compare against") })).optional() }).optional().describe("Updated conditions") },
  • The complete tool registration object for 'update_view', including name, description, schema, and handler, exported as part of viewsTools.
    { name: "update_view", description: "Update an existing view", schema: { id: z.number().describe("View ID to update"), title: z.string().optional().describe("Updated view title"), description: z.string().optional().describe("Updated view description"), conditions: z.object({ all: z.array(z.object({ field: z.string().describe("Field to filter on"), 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 filter on"), operator: z.string().describe("Operator for comparison"), value: z.any().describe("Value to compare against") })).optional() }).optional().describe("Updated conditions") }, handler: async ({ id, title, description, conditions }) => { try { const viewData = {}; if (title !== undefined) viewData.title = title; if (description !== undefined) viewData.description = description; if (conditions !== undefined) viewData.conditions = conditions; const result = await zendeskClient.updateView(id, viewData); return { content: [{ type: "text", text: `View updated successfully!\n\n${JSON.stringify(result, null, 2)}` }] }; } catch (error) { return { content: [{ type: "text", text: `Error updating view: ${error.message}` }], isError: true }; } } },
  • Helper method in ZendeskClient that performs the actual API request to update a view.
    async updateView(id, data) { return this.request("PUT", `/views/${id}.json`, { view: data }); }
  • src/server.js:48-52 (registration)
    Generic registration loop that registers all tools, including update_view from viewsTools, to the MCP server.
    allTools.forEach((tool) => { server.tool(tool.name, tool.schema, tool.handler, { description: tool.description, }); });

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