Skip to main content
Glama
benpalmer1

Gorgias MCP Server

by benpalmer1

Update Ticket

gorgias_update_ticket
Idempotent

Update an existing Gorgias ticket by providing only the fields to change. Note: sending tags or custom_fields replaces all existing values.

Instructions

PUT /api/tickets/{id} — Update an existing ticket. Only the fields provided will be updated; omitted fields retain their current values. NOTE: Sending 'tags' replaces ALL existing tags. To modify individual tags use the dedicated tag endpoints. Similarly, 'custom_fields' replaces all existing custom field values.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe unique ID of the ticket to update
viaNoHow the first message was received or sent. Enum: 'aircall', 'api', 'chat', 'contact_form', 'email', 'facebook', 'facebook-mention', 'facebook-messenger', 'facebook-recommendations', 'form', 'gorgias_chat', 'help-center', 'helpdesk', 'instagram', 'instagram-ad-comment', 'instagram-comment', 'instagram-direct-message', 'instagram-mention', 'internal-note', 'offline_capture', 'phone', 'rule', 'self_service', 'shopify', 'sms', 'twilio', 'twitter', 'twitter-direct-message', 'whatsapp', 'yotpo', 'yotpo-review', 'zendesk'
metaNoStructured metadata about the ticket (key-value pairs)
spamNoWhether the ticket is considered spam
tagsNoTags to associate with the ticket. WARNING: This REPLACES all existing tags. Use dedicated tag endpoints to add/remove individual tags.
statusNoStatus of the ticket: 'open' or 'closed'
channelNoChannel used to initiate the conversation. Enum: 'aircall', 'api', 'chat', 'contact_form', 'email', 'facebook', 'facebook-mention', 'facebook-messenger', 'facebook-recommendations', 'help-center', 'instagram-ad-comment', 'instagram-comment', 'instagram-direct-message', 'instagram-mention', 'internal-note', 'phone', 'sms', 'twitter', 'twitter-direct-message', 'whatsapp', 'yotpo-review'
subjectNoSubject line of the ticket (max 998 characters)
customerNoCustomer linked to the ticket
languageNoLanguage primarily used in the ticket (e.g. 'en', 'fr')
priorityNoPriority of the ticket: 'critical', 'high', 'normal', or 'low'
from_agentNoWhether the first message was sent by your company (true) or a customer (false)
external_idNoID of the ticket in a foreign system (max 255 chars)
assignee_teamNoTeam assigned to the ticket. Send {id: null} to unassign.
assignee_userNoUser assigned to the ticket. Send {id: null} to unassign.
custom_fieldsNoCustom field values. WARNING: This replaces existing custom field values.
closed_datetimeNoWhen the ticket was closed (ISO 8601). Setting this closes the ticket.
opened_datetimeNoWhen the ticket was first opened (ISO 8601)
snooze_datetimeNoWhen the ticket will auto-reopen (ISO 8601). Set to null to cancel snooze.
trashed_datetimeNoWhen the ticket was trashed (ISO 8601). Set to null to restore from trash.
updated_datetimeNoWhen the ticket was last updated (ISO 8601)
last_message_datetimeNoWhen the last message was sent (ISO 8601)
last_received_message_datetimeNoWhen the last customer message was sent (ISO 8601)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses partial-update semantics and the destructive replacement behavior for tags and custom_fields, which goes beyond the annotation hints (readOnlyHint=false, openWorldHint=true, idempotentHint=true). It does not mention return format or auth, but annotations already signal the mutation context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the endpoint and purpose. Each sentence carries distinct value: method, partial-update behavior, and dangerous replacement caveats. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 23 params and 100% schema coverage, the description covers the non-obvious partial-update and replace semantics that the agent most needs. It omits return value details, but no output schema exists and annotations provide idempotency/open-world context, so the description is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides descriptions for all 23 parameters, so the baseline is 3. The description adds the critical general semantic that only provided fields are updated, and reinforces the replace-all warnings for tags/custom_fields, exceeding what the schema alone conveys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update an existing ticket' with the specific HTTP method and path, distinguishing it from create/delete operations. It also proactively points to dedicated tag endpoints, which differentiates it from sibling tag-management tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit guidance that omitted fields retain current values, and warns that tags and custom_fields are wholesale replaced. It names dedicated tag endpoints as alternatives, but does not explicitly mention field-specific update tools like update_ticket_field(s), which are also siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/benpalmer1/Gorgias-MCP-Server'

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