Skip to main content
Glama
benpalmer1

Gorgias MCP Server

by benpalmer1

Create Ticket

gorgias_create_ticket

Create a new support ticket in Gorgias by providing a channel and at least one message, with optional fields for customer, priority, and tags.

Instructions

POST /api/tickets — Create a new support ticket. Requires 'via' and at least one message in the 'messages' array.

Each message in the 'messages' array must include:

  • channel (string, required): e.g. 'email', 'chat', 'sms', 'api', etc.

  • from_agent (boolean, required): true if sent by an agent, false if by a customer

  • via (string, required): e.g. 'email', 'api', 'chat', 'sms', etc.

  • body_text (string, optional): plain text body

  • body_html (string, optional): HTML body

  • public (boolean, optional, default true): false = internal note

  • subject (string, optional): message subject

  • sender (object, optional): { id, email, name, external_id, language, meta, note, timezone, channels }

  • receiver (object, optional): { id, email, name, external_id, language, meta, note, timezone, channels }

  • source (object, optional): { type, from: { address, name }, to: [{ address, name }], cc: [...], bcc: [...], extra }

  • attachments (array, optional): [{ url, name, content_type, size, public, extra }]

  • integration_id (integer, optional): ID of the integration used

  • message_id (string, optional): external message ID

  • external_id (string, optional): foreign system ID (max 255 chars)

  • created_datetime, sent_datetime, failed_datetime, deleted_datetime (ISO 8601, optional)

  • mention_ids (array of integers, optional): user IDs to mention in internal notes

  • headers (object, optional): key-value message headers

  • meta (object, optional): message metadata

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viaYesHow the first message was received or sent from Gorgias. 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'
metaNoMetadata associated with the ticket (arbitrary key-value pairs)
spamNoWhether the ticket is considered spam. Default: false
tagsNoTags associated with the ticket
statusNoStatus of the ticket. Default: 'open'
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 of the ticket (max 998 characters)
customerNoCustomer associated with the ticket
languageNoLanguage primarily used in the ticket (ISO 639-1). Auto-detected if not set.
messagesYesArray of message objects composing the ticket (1–500). Each message requires: channel (string), from_agent (boolean), via (string). Optional: body_text, body_html, public, subject, sender, receiver, source, attachments, integration_id, message_id, external_id, created_datetime, sent_datetime, headers, meta, mention_ids.
priorityNoPriority of the ticket. Default: 'normal'
from_agentNoWhether the first message was sent by your company (true) or by a customer (false)
external_idNoID of the ticket in a foreign system (max 255 chars, not used by Gorgias)
assignee_teamNoTeam assigned to the ticket
assignee_userNoUser assigned to the ticket
custom_fieldsNoCustom fields associated with the ticket
closed_datetimeNoWhen the ticket was closed (ISO 8601)
opened_datetimeNoWhen the ticket was first opened by a user (ISO 8601)
snooze_datetimeNoWhen the ticket will be re-opened automatically (ISO 8601)
created_datetimeNoWhen the ticket was created (ISO 8601)
trashed_datetimeNoWhen the ticket was moved to the trash (ISO 8601)
updated_datetimeNoWhen the ticket was last updated (ISO 8601)
Behavior3/5

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

Annotations already declare readOnlyHint=false and openWorldHint=true, and the description does not contradict them. It adds constraints about required message fields but does not disclose side effects, default behaviors, or error conditions. Given the annotation coverage, the description adds a modest amount of behavioral context.

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

Conciseness3/5

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

Opens with a crisp one-sentence summary, but then devotes a long bullet list to message fields that largely mirrors the input schema's messages item description. While structured, it is verbose and not front-loaded with broader context; the schema already documents most of this.

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

Completeness3/5

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

For a 22-parameter creation tool with no output schema, the description thoroughly documents message subfields but omits workflow aspects like how the ticket is routed, how to assign via IDs, or when to use alternative tools. It is serviceable but not comprehensive for an agent making real-world decisions.

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 coverage is 100%, so baseline is 3. The description goes beyond the schema by clarifying defaults (e.g., 'public (optional, default true): false = internal note'), explaining the meaning of from_agent, and detailing the structure of sender/receiver/source. This adds value for a complex nested parameter.

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

Purpose4/5

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

The description clearly states 'Create a new support ticket' and includes the API endpoint, making the action and resource unambiguous. However, it doesn't directly differentiate from sibling tools like gorgias_create_message or gorgias_update_ticket, so it misses the 'distinguishes from siblings' criterion for a 5.

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

Usage Guidelines2/5

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

The description mentions required fields ('Requires via and at least one message') but provides no guidance on when to choose this tool over alternatives like create_message (for adding a message to an existing ticket) or update_ticket. No 'use this when' or 'instead of' context is given.

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