{
 "slug": "gorgias",
 "name": "Gorgias",
 "url": "https://gorgias.com",
 "domain": "gorgias.com",
 "category": "customer-support",
 "category_name": "Customer support",
 "tested_at": "2026-10-11",
 "run": "20261011T165508Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261001T224736Z",
   "date": "2026-10-01",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": null,
    "driver": null,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "start"
   }
  },
  {
   "run": "20261006T074930Z",
   "date": "2026-10-06",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": "claude-opus-5-5",
    "driver": 2,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "start"
   }
  },
  {
   "run": "20261011T165508Z",
   "date": "2026-10-11",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": "claude-opus-5-5",
    "driver": 3,
    "signed": true,
    "inbox": [
     "matfy.com"
    ],
    "robots": "obey"
   }
  }
 ],
 "level": 1,
 "level_name": "Needs a person",
 "level_selfhost": null,
 "entry": "closed",
 "door": {
  "passed": 0,
  "tries": 3,
  "self_start": false
 },
 "badges": [],
 "stages": [
  {
   "key": "in",
   "label": "Access",
   "state": "no",
   "text": "Can't get in on its own",
   "at": "signup"
  },
  {
   "key": "work",
   "label": "Use",
   "state": "unreached",
   "text": "Work not measured"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "unreached",
   "text": "Payment not reached",
   "value": "unreached",
   "route": "card_checkout"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "unreached",
   "text": "Leaving not reached",
   "how": "no-account"
  }
 ],
 "outcomes": [
  {
   "key": "find",
   "label": "Find",
   "state": "yes",
   "text": "Docs agents can read: llms.txt, an OpenAPI and an MCP server",
   "have": [
    "llms_txt",
    "openapi",
    "mcp"
   ]
  },
  {
   "key": "access",
   "label": "Access",
   "state": "no",
   "text": "Can't get in on its own",
   "at": "signup",
   "stage": "in"
  },
  {
   "key": "use",
   "label": "Use",
   "state": "unreached",
   "text": "Work not measured",
   "stage": "work"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "unreached",
   "text": "Payment not reached",
   "value": "unreached",
   "route": "card_checkout",
   "stage": "pay"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "unreached",
   "text": "Leaving not reached",
   "how": "no-account",
   "stage": "leave"
  }
 ],
 "access": [
  {
   "key": "person",
   "label": "A person sets it up",
   "routes": [],
   "minutes": null,
   "core": null
  }
 ],
 "minutes": null,
 "next": {
  "to": 2,
  "text": "Next: let an agent sign up on its own"
 },
 "stop": "signup",
 "core": null,
 "scores": {
  "coverage": null,
  "reliability": null,
  "resilience": null,
  "setup": 90,
  "surface_coverage": null,
  "docs_accuracy": null,
  "docs_completeness": null
 },
 "parts": {
  "holds_up": null,
  "docs_match": null,
  "setup": 90,
  "security": null,
  "standards": [
   {
    "standard": "MCP",
    "state": "behind",
    "behind": 1,
    "value": "2025-11-25"
   },
   {
    "standard": "MCP client registration",
    "state": "behind",
    "behind": null,
    "value": "dcr"
   },
   {
    "standard": "OpenAPI",
    "state": "behind",
    "behind": 1,
    "value": "3.1.0"
   }
  ]
 },
 "reliability_method": null,
 "resilience": null,
 "stress": [],
 "surface_audit": null,
 "coverage_core": null,
 "after_wall": null,
 "coverage_source": "reported",
 "driver": {
  "version": 3,
  "model": "claude-opus-5-5",
  "profile": "full",
  "assisted": false,
  "handoff": false,
  "prompt_sha": "076cd4c65a1a",
  "kb_version": "3+overlay-1353601952",
  "identity": "e8a92f24a9a8"
 },
 "methodology": 15,
 "rules_date": "2026-10-15",
 "engine": {
  "runner": "omp",
  "model": "claude-opus-5-5",
  "driver": 3,
  "signed": true,
  "inbox": [
   "matfy.com"
  ],
  "robots": "obey"
 },
 "same_level_drives": 3,
 "drives": 3,
 "works_assisted": null,
 "freshness": "fresh",
 "nothing_to_pay": false,
 "core_gated": false,
 "profiles": {},
 "agent_check": {
  "rung": "signup",
  "vendor": "Cloudflare Turnstile (invisible) plus reCAPTCHA v3",
  "visible": false,
  "type": "network",
  "human": null,
  "how": "Let verified bots and signed agents past the check on sign-up: in Cloudflare, add a WAF custom rule that skips the bot challenge on your sign-up paths for verified bots and for signed agents (rule field cf.bot_management.signed_agent; since 1 July 2026 signed agents count as verified bots), and render Turnstile only when the request is not from a verified agent.",
  "signed": true
 },
 "agent_pass": null,
 "who_gets_in": {
  "server": {
   "state": "form"
  },
  "signed": {
   "state": "page",
   "kind": "signup",
   "at": "2026-10-12"
  },
  "browser": {
   "state": "through",
   "measured": false
  },
  "our_key": "pending",
  "robots": null,
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "developers.gorgias.com/llms.txt and .md reference pages with OpenAPI 3.1.0; markdown via Accept: text/markdown. Help center docs.gorgias.com answers our agent with a Cloudflare challenge (403, cf-mitigated: challenge)."
  },
  "signup": {
   "status": "blocked",
   "note": "Web form only, with an invisible Cloudflare Turnstile (plus reCAPTCHA v3): no Turnstile token after 20 s, 'Create my account' stayed disabled; the first submit hung on loading."
  },
  "verify": {
   "status": "",
   "note": "not reached: no account",
   "reached": false
  },
  "credentials": {
   "status": "",
   "note": "not reached: no account. REST uses Basic auth with an API key; no documented API/CLI to create one. MCP OAuth: DCR registration worked headless, but a token needs a signed-in user on /authorize (no device flow, no CIMD).",
   "via": "",
   "reached": false
  },
  "first_call": {
   "status": "",
   "note": "MCP tools/call without a token -> 401; no account to authorize.",
   "reached": false
  },
  "first_action": {
   "status": "",
   "note": "not reached: no account",
   "reached": false
  },
  "pay": {
   "status": "",
   "grade": "P1",
   "rails": [
    "in-app card checkout (not seen)"
   ],
   "rail_ids": [
    "card"
   ],
   "first_party": true,
   "rail_scope": "none",
   "trial_path": "no-card trial",
   "note": "No 402 on the site or MCP, no MPP/Stripe Projects/x402 Bazaar listing, no MCP payment tools. We paid nothing: no 402 on the product's domain asks for USDC. Pricing says 'Start free trial No credit card required'. The paid checkout is inside the account, which we did not reach.",
   "reached": false
  },
  "cancel": {
   "status": "",
   "grade": "n/a",
   "note": "not tested: no plan or trial was started because sign-up never completed. Gorgias has paid plans, so this is 'not tested', not 'nothing recurs'. The help center with the cancel docs also answered our agent with a Cloudflare challenge.",
   "reached": false
  },
  "delete": {
   "status": "",
   "note": "not reached: no account was created",
   "account": false,
   "reached": false
  }
 },
 "routes": [],
 "checkout": null,
 "docs": null,
 "claims": null,
 "pay_options": {
  "checked": "2026-10-11",
  "source": "probe",
  "options": [],
  "agentic": [],
  "paid": null,
  "exercised": null,
  "detected_grade": null,
  "trial": {
   "no_card": true,
   "card_required": null,
   "free_plan": true
  },
  "owner_fixes": [
   {
    "title": "Accept x402 or MPP on your API",
    "how": "Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card."
   },
   {
    "title": "List your plans on Stripe Projects",
    "how": "Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev)."
   }
  ]
 },
 "surfaces": {
  "api": true,
  "openapi": true,
  "cli": false,
  "sdk": false,
  "mcp": "official",
  "llms_txt": true,
  "webhooks": false,
  "sandbox": false
 },
 "surface_notes": {
  "api": "REST on https://{domain}.gorgias.com/api, Basic auth; tenant robots.txt Disallow: / for all agents",
  "openapi": "3.1.0 embedded per reference page",
  "mcp": "official, beta, 155 tools, OAuth (DCR)"
 },
 "can_do": [
  "Read the API reference as markdown and list the official MCP server's 155 tools without an account",
  "Register an OAuth client for the MCP server headless (DCR)"
 ],
 "cannot_do": [
  {
   "what": "Create an account",
   "why": "Invisible Cloudflare Turnstile on the sign-up form never cleared for our agent's browser; no API sign-up"
  },
  {
   "what": "Get an API key or MCP token",
   "why": "Needs an account; MCP OAuth needs a signed-in human consent, no device flow"
  },
  {
   "what": "Call the REST API while obeying robots.txt",
   "why": "Tenant hosts ({domain}.gorgias.com) serve robots.txt Disallow: / for all agents"
  },
  {
   "what": "Read the help center docs",
   "why": "docs.gorgias.com answers with a Cloudflare managed challenge"
  }
 ],
 "blockers": [
  "Invisible Cloudflare Turnstile on www.gorgias.com/signup",
  "robots.txt Disallow: / on tenant API hosts",
  "Cloudflare challenge on docs.gorgias.com"
 ],
 "tips_for_owner": [
  "Let verified agents through sign-up",
  "Allow /api/ in tenant robots.txt",
  "Add device flow or CIMD to MCP OAuth",
  "Let signed agents read the help center",
  "Answer MCP server/discover before auth",
  "Offer an agent payment route"
 ],
 "tips_for_agents": [
  "Use the official MCP server at https://mcp.gorgias.com/mcp?gorgias_subdomain=<sub>; a human does the OAuth consent once",
  "Read API docs as .md on developers.gorgias.com; docs.gorgias.com may challenge you",
  "Tenant REST hosts disallow all paths in robots.txt: prefer MCP"
 ],
 "selfhost": null,
 "summary": "An agent cannot open a Gorgias account: the sign-up form's invisible Cloudflare Turnstile never cleared for our agent's browser, and no API sign-up exists. Outside the account Gorgias is agent-ready: an official MCP server with 155 tools and OAuth metadata, markdown API docs with OpenAPI 3.1.0, and a no-card trial. Behind the door, tenant robots.txt disallows the REST API for every agent.",
 "wall": "Invisible Turnstile on the sign-up form",
 "plan_scope": "",
 "robots_stop": null,
 "robots": null,
 "plain": {
  "summary": "Gorgias is customer-support helpdesk software with an AI agent feature. Our agent could read its docs and list its AI tool menu without logging in, but could not create an account because a hidden anti-bot check on the sign-up page never let it through.",
  "can_do": [
   "Read the developer documentation and a list of 155 available AI tools without signing up",
   "Start the sign-up process (but not finish it)"
  ],
  "cannot_do": [
   {
    "what": "Create an account",
    "why": "A hidden anti-bot check on the sign-up form never cleared for the automated browser"
   },
   {
    "what": "Get login credentials or make any real changes",
    "why": "Every next step needs an account, which could not be created"
   },
   {
    "what": "Read the help center articles",
    "why": "The help site shows an anti-bot challenge page instead of the article"
   }
  ]
 },
 "plan_gated": [],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "group": "Helpdesk",
   "capability": "Create and send a support ticket",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/tickets",
    "mcp": null,
    "cli": null,
    "ui": "Helpdesk inbox > New ticket"
   },
   "check": "GET /api/tickets/{id} returns the created ticket with matching subject/channel",
   "source": "https://developers.gorgias.com/reference/create-ticket; https://developers.gorgias.com/docs/create-a-ticket-using-api"
  },
  {
   "id": "cap-02",
   "group": "Helpdesk",
   "capability": "Reply to a ticket with a message",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/tickets/{id}/messages",
    "mcp": null,
    "cli": null,
    "ui": "Ticket conversation view > reply box"
   },
   "check": "GET /api/tickets/{id}/messages lists the new message with sent_datetime set",
   "source": "https://developers.gorgias.com/reference/create-ticket-message; https://developers.gorgias.com/docs/create-a-new-message-in-ticket-via-api"
  },
  {
   "id": "cap-03",
   "group": "Helpdesk",
   "capability": "Unify all support channels in one inbox (email, chat, SMS, WhatsApp, Instagram, Facebook, voice, TikTok Shop)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "GET /api/tickets?channel=",
    "mcp": null,
    "cli": null,
    "ui": "Helpdesk unified inbox"
   },
   "check": "Tickets created via different channel integrations all appear in one /api/tickets listing with distinct channel attribute",
   "source": "https://www.gorgias.com/products/helpdesk; https://www.gorgias.com/pricing (featureList: Helpdesk email, live chat, SMS, voice, social, contact form, TikTok Shop)"
  },
  {
   "id": "cap-04",
   "group": "AI Agent",
   "capability": "Let AI Agent automatically resolve a support conversation",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "AI Agent settings > automate conversations"
   },
   "check": "Ticket custom field 'AI Agent Outcome' shows resolved/automated on the ticket",
   "source": "https://www.gorgias.com/ai-agent; https://developers.gorgias.com/reference/delete-ticket-custom-field (mentions AI Agent Outcome field)"
  },
  {
   "id": "cap-05",
   "group": "AI Agent",
   "capability": "Have AI Agent perform store actions (order edits, cancellations, refunds, subscription pause/skip)",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "AI Agent > Actions library"
   },
   "check": "Underlying Shopify order shows the edit/cancel/refund/subscription change after the AI conversation",
   "source": "https://www.gorgias.com/ai-agent (featureList: 130+ pre-built automated actions including order edits, subscription pause/skip, cancellations, and refunds)"
  },
  {
   "id": "cap-06",
   "group": "Helpdesk",
   "capability": "View customer order history and store context inside a ticket",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "GET /api/customers/{id}",
    "mcp": null,
    "cli": null,
    "ui": "Ticket sidebar > customer/order panel"
   },
   "check": "Ticket sidebar renders live Shopify order/customer data matching the store's admin",
   "source": "https://www.gorgias.com/products/helpdesk (Customer sidebar with order history); https://www.gorgias.com/ (Native Shopify integration)"
  },
  {
   "id": "cap-07",
   "group": "Helpdesk",
   "capability": "Route and assign tickets to teams or agents via rules",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": "POST /api/rules",
    "mcp": null,
    "cli": null,
    "ui": "Automate > Rules"
   },
   "check": "GET /api/tickets/{id} shows assignee_user/assignee_team set per the matching rule condition",
   "source": "https://developers.gorgias.com/reference/create-rule; https://developers.gorgias.com/reference/the-rule-object"
  },
  {
   "id": "cap-08",
   "group": "Helpdesk",
   "capability": "Send a reply using a saved macro",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/macros",
    "mcp": null,
    "cli": null,
    "ui": "Ticket reply box > Macros"
   },
   "check": "GET /api/macros/{id} returns the macro; applying it in a ticket produces a message matching the macro body",
   "source": "https://developers.gorgias.com/reference/create-macro; https://www.gorgias.com/products/helpdesk (Macros for faster responses)"
  },
  {
   "id": "cap-09",
   "group": "AI Agent",
   "capability": "Escalate an automated conversation to a human agent",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "AI Agent confidence threshold settings"
   },
   "check": "Low-confidence ticket is assigned to a human agent/team instead of auto-resolved",
   "source": "https://www.gorgias.com/ai-agent (Configurable confidence threshold to automate routine tickets and escalate complex ones)"
  },
  {
   "id": "cap-10",
   "group": "Helpdesk",
   "capability": "Search tickets, customers, and other resources",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /api/search",
    "mcp": null,
    "cli": null,
    "ui": "Inbox search bar"
   },
   "check": "Search response returns results containing the queried ticket/customer id",
   "source": "https://developers.gorgias.com/reference/search-1"
  },
  {
   "id": "cap-11",
   "group": "Helpdesk",
   "capability": "Build a custom ticket view/filter",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/views",
    "mcp": null,
    "cli": null,
    "ui": "Inbox > Views"
   },
   "check": "GET /api/views/{id}/items returns tickets matching the view's filter definition",
   "source": "https://developers.gorgias.com/reference/create-view; https://developers.gorgias.com/reference/list-view-items"
  },
  {
   "id": "cap-12",
   "group": "Helpdesk",
   "capability": "Tag tickets and customers for organization",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/tickets/{id}/tags",
    "mcp": null,
    "cli": null,
    "ui": "Ticket detail > tags"
   },
   "check": "GET /api/tickets/{id}/tags lists the added tag",
   "source": "https://developers.gorgias.com/reference/create-ticket-tags; https://developers.gorgias.com/reference/the-tag-object"
  },
  {
   "id": "cap-13",
   "group": "Helpdesk",
   "capability": "Add and manage custom fields on tickets/customers",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /api/custom-fields",
    "mcp": null,
    "cli": null,
    "ui": "Settings > Custom fields"
   },
   "check": "GET /api/tickets/{id}/custom-fields shows the custom field with its set value",
   "source": "https://developers.gorgias.com/reference/create-custom-field; https://developers.gorgias.com/reference/update-ticket-custom-fields"
  },
  {
   "id": "cap-14",
   "group": "Helpdesk",
   "capability": "Merge duplicate customer records",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/customers/merge",
    "mcp": null,
    "cli": null,
    "ui": "Customer profile > Merge"
   },
   "check": "Source customer id now 301-redirects/returns merged into target customer id",
   "source": "https://developers.gorgias.com/reference/merge-customers; https://developers.gorgias.com/changelog/301-redirects-on-customers"
  },
  {
   "id": "cap-15",
   "group": "Helpdesk",
   "capability": "Send and collect satisfaction (CSAT) surveys",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /api/satisfaction-surveys",
    "mcp": null,
    "cli": null,
    "ui": "Automate > Satisfaction surveys"
   },
   "check": "GET /api/satisfaction-surveys/{id} shows survey sent and (once answered) a score",
   "source": "https://developers.gorgias.com/reference/create-satisfaction-survey; https://developers.gorgias.com/reference/the-satisfactionsurvey-object"
  },
  {
   "id": "cap-16",
   "group": "Helpdesk",
   "capability": "Attach files to a ticket/message",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/upload",
    "mcp": null,
    "cli": null,
    "ui": "Reply box > attach file"
   },
   "check": "Uploaded file resource id is retrievable via the file download endpoint and appears on the message",
   "source": "https://developers.gorgias.com/reference/post_api-upload; https://developers.gorgias.com/reference/download-file"
  },
  {
   "id": "cap-17",
   "group": "Integrations",
   "capability": "Connect a third-party or custom HTTP integration",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /api/integrations",
    "mcp": null,
    "cli": null,
    "ui": "Settings > Integrations"
   },
   "check": "GET /api/integrations/{id} shows the configured integration active and usable in rules/widgets",
   "source": "https://developers.gorgias.com/reference/create-integration; https://developers.gorgias.com/docs/create-integrations-and-widgets-programmatically"
  },
  {
   "id": "cap-18",
   "group": "Helpdesk",
   "capability": "Run bulk background jobs (e.g. close/tag many tickets at once)",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /api/jobs",
    "mcp": null,
    "cli": null,
    "ui": "Inbox > bulk select > bulk action"
   },
   "check": "GET /api/jobs/{id} status transitions to completed and affected tickets reflect the change",
   "source": "https://developers.gorgias.com/reference/create-job; https://developers.gorgias.com/reference/the-job-object"
  },
  {
   "id": "cap-19",
   "group": "Analytics",
   "capability": "View performance dashboards and statistics",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "GET /api/stats/{slug}",
    "mcp": null,
    "cli": null,
    "ui": "Statistics / Dashboards tab"
   },
   "check": "GET /api/stats returns numeric metrics matching the dashboard shown in UI",
   "source": "https://developers.gorgias.com/reference/get-legacy-statistic; https://www.gorgias.com/pricing (Dashboards and real-time monitoring)"
  },
  {
   "id": "cap-20",
   "group": "Analytics",
   "capability": "Download CSV export of a statistic",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "GET /api/stats/{slug}/download",
    "mcp": null,
    "cli": null,
    "ui": "Statistics tab > export"
   },
   "check": "Downloaded CSV file contains rows matching the on-screen statistic values",
   "source": "https://developers.gorgias.com/reference/download-legacy-statistic"
  },
  {
   "id": "cap-21",
   "group": "AI Agent",
   "capability": "Review AI response quality scoring, tracing and feedback (AutoQA)",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "AI Agent > Quality / AutoQA"
   },
   "check": "A conversation shows a quality score and trace log reviewable in the AutoQA panel",
   "source": "https://www.gorgias.com/ai-agent (Response quality scoring, tracing, and human feedback loop); https://www.gorgias.com/products/helpdesk (AutoQA and trends analysis)"
  },
  {
   "id": "cap-22",
   "group": "Self-service",
   "capability": "Publish a help center / FAQ article for self-service",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Help Center editor"
   },
   "check": "Published article is publicly reachable at the help center URL and answers AI Agent queries citing it",
   "source": "https://www.gorgias.com/products/helpdesk (Help center and self-service); https://www.gorgias.com/ (FAQ)"
  },
  {
   "id": "cap-23",
   "group": "Voice/SMS",
   "capability": "Handle and record voice calls",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "GET /api/voice-calls",
    "mcp": null,
    "cli": null,
    "ui": "Helpdesk > Voice"
   },
   "check": "GET /api/voice-calls/{id} and /api/voice-call-recordings/{id} return the call and its recording",
   "source": "https://developers.gorgias.com/reference/the-voicecall-object; https://www.gorgias.com/products/voice"
  },
  {
   "id": "cap-24",
   "group": "AI Agent",
   "capability": "Configure AI Agent and get reporting via the Gaia natural-language assistant",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Gaia chat panel in app"
   },
   "check": "A Gaia instruction (e.g. change a policy) is reflected in the corresponding AI Agent setting afterward",
   "source": "https://www.gorgias.com/ai-agent (Gaia: a natural-language AI teammate for setup, reporting, and workflow configuration); https://www.gorgias.com/gaia"
  },
  {
   "id": "cap-25",
   "group": "Team",
   "capability": "Create and manage teams",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/teams",
    "mcp": null,
    "cli": null,
    "ui": "Settings > Teams"
   },
   "check": "GET /api/teams/{id} returns team with assigned users",
   "source": "https://developers.gorgias.com/reference/create-team; https://developers.gorgias.com/reference/the-team-object"
  },
  {
   "id": "cap-26",
   "group": "Account admin",
   "capability": "Create and manage user accounts and permissions",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/users",
    "mcp": null,
    "cli": null,
    "ui": "Settings > Users & permissions"
   },
   "check": "GET /api/users/{id} shows the created user with assigned role/permissions",
   "source": "https://developers.gorgias.com/reference/create-user; https://www.gorgias.com/pricing (SSO, user permissions, and audit logs)"
  },
  {
   "id": "cap-27",
   "group": "Account admin",
   "capability": "Configure SSO for the account",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Settings > Security > SSO"
   },
   "check": "Account login redirects to configured SSO identity provider",
   "source": "https://www.gorgias.com/pricing (featureList: SSO, user permissions, and audit logs)"
  },
  {
   "id": "cap-28",
   "group": "Account admin",
   "capability": "View audit logs of account activity",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": "GET /api/events",
    "mcp": null,
    "cli": null,
    "ui": "Settings > Audit log"
   },
   "check": "GET /api/events lists an entry matching a recent admin action",
   "source": "https://developers.gorgias.com/reference/list-events; https://developers.gorgias.com/changelog/audit-log-events-retention-limited-to-12-months"
  },
  {
   "id": "cap-29",
   "group": "Account admin",
   "capability": "Update account settings",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "POST /api/settings",
    "mcp": null,
    "cli": null,
    "ui": "Settings > General"
   },
   "check": "GET /api/settings reflects the updated value",
   "source": "https://developers.gorgias.com/reference/create-account-setting; https://developers.gorgias.com/reference/update-account-setting"
  },
  {
   "id": "cap-30",
   "group": "Integrations",
   "capability": "Install a marketplace app integration (Klaviyo, Recharge, Yotpo, Shopify, BigCommerce, etc.)",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "App marketplace / integrations directory"
   },
   "check": "Installed integration appears in GET /api/integrations as active and data syncs (e.g. Shopify orders visible on ticket)",
   "source": "https://www.gorgias.com/pricing (254 app integrations plus HTTP/custom integrations; Featured integrations: Klaviyo, Yotpo, Recharge, Smile)"
  }
 ],
 "attempts": [
  {
   "cap": "discovery",
   "capability": "docs",
   "task": "Find API docs and llms.txt",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "developers.gorgias.com/llms.txt 200 text/plain (183 lines); gorgias.com/llms.txt 200; reference pages served as .md (create-ticket.md 200 text/markdown) with embedded OpenAPI 'openapi': '3.1.0'",
   "notes": "REST API, basic auth {domain}.gorgias.com",
   "t": "01:16"
  },
  {
   "cap": "discovery",
   "capability": "markdown",
   "task": "Accept: text/markdown on a docs page",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "GET developers.gorgias.com/reference/create-ticket with Accept: text/markdown -> content-type text/markdown; vary: Accept, Accept-Encoding; .md URL also works",
   "t": "01:16"
  },
  {
   "cap": "discovery",
   "capability": "mcp",
   "task": "POST server/discover on https://mcp.gorgias.com/mcp",
   "route": "mcp",
   "documented": true,
   "result": "partial",
   "verified": true,
   "evidence": "HTTP 401, empty body, www-authenticate: Bearer resource_metadata=\"https://mcp.gorgias.com/.well-known/oauth-protected-resource/mcp\"",
   "notes": "auth required before discover; PRM answers (path-suffixed), AS metadata at mcp.gorgias.com/.well-known/oauth-authorization-server: registration_endpoint (DCR), no CIMD flag, code+PKCE S256, iss param supported, no device flow",
   "t": "01:16"
  },
  {
   "cap": "discovery",
   "capability": "cards",
   "task": "Server card, AI catalog, A2A card, aipref",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "mcp.gorgias.com/mcp/server-card 404; www.gorgias.com/.well-known/ai-catalog.json 404 html; /.well-known/agent-card.json 404; robots.txt has no Content-Usage/Content-signal lines; no Content-Usage header on www.gorgias.com",
   "t": "01:16"
  },
  {
   "cap": "pay",
   "capability": "pay public probes",
   "task": "402 / registries / checkout / trial card",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "pay_probe.json: no 402 challenges, no mpp/stripe-projects/bazaar listing, MCP has no payment tools; pricing: 'Start free trial No credit card required'; pay_tx.json: refused, no 402 on product domain",
   "notes": "trial without card; no agent payment rail",
   "t": "01:16"
  },
  {
   "cap": "signup",
   "capability": "sign up",
   "task": "Sign up for free trial at www.gorgias.com/signup",
   "route": "browser",
   "documented": true,
   "result": "blocked",
   "verified": true,
   "evidence": "Form #signup-user-form carries data-turnstile-sitekey=0x4AAAAAAAQTptj2So4dx43e plus reCAPTCHA v3 (key 6LemoWIs…). First submit: button went to 'w-form-loading' and stayed there 15s+, no navigation. On every fresh load since, #signup-button stays disabled; cf-turnstile-response value length 0 after 20 s; Turnstile iframe 0x0 (invisible); challenges.cloudflare.com 'pat' call 401. No visible challenge shown.",
   "notes": "No documented API/CLI sign-up (developers.gorgias.com llms.txt lists none; 'Register on Developer Portal & Get Gorgias Sandbox Account' is a form too). Invisible Cloudflare Turnstile does not clear in our agent's browser.",
   "quality": {
    "error_legibility": "silent",
    "recoverable": "no"
   },
   "t": "06:05"
  },
  {
   "cap": "signup",
   "capability": "sign up",
   "task": "Hand the Turnstile-gated sign-up to a human (own browser)",
   "route": "browser",
   "documented": true,
   "result": "blocked",
   "verified": true,
   "evidence": "",
   "notes": "Cloudflare Turnstile (invisible) on www.gorgias.com/signup did not clear in our agent's browser.",
   "t": "07:45"
  },
  {
   "cap": "discovery",
   "capability": "mcp",
   "task": "Legacy initialize on https://mcp.gorgias.com/mcp offering 2026-07-28",
   "route": "mcp",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "initialize without auth -> 200 text/event-stream, protocolVersion '2025-11-25', serverInfo Gorgias 4.0.0b3, capabilities logging/prompts/resources/tools. tools/list without auth -> 155 tools (saved mcp_tools.json), each _meta securitySchemes oauth2. tools/call list_tags without auth -> 401 Bearer resource_metadata=…",
   "notes": "server/discover answered 401 (auth before discovery), initialize answered 2025-11-25: legacy server. No billing/payment/account-delete/api-key tools in tools/list.",
   "t": "07:45"
  },
  {
   "cap": "discovery",
   "capability": "oauth",
   "task": "DCR register an OAuth client at mcp.gorgias.com/register",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "POST /register -> 201 with client_id, token_endpoint_auth_method none, grant_types authorization_code refresh_token",
   "notes": "DCR only (no client_id_metadata_document_supported, no device_authorization_endpoint). Getting a token still needs a signed-in human on the /authorize consent page, which needs an account we could not create.",
   "t": "07:45"
  },
  {
   "cap": "discovery",
   "capability": "robots on tenant hosts",
   "task": "robots.txt on helpdesk subdomain (REST API host {domain}.gorgias.com)",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "https://gorgias.gorgias.com/robots.txt: 'User-agent: * / Disallow: /' (only facebookexternalhit allowed).",
   "notes": "The documented REST API lives at https://{domain}.gorgias.com/api; the tenant hosts disallow all paths to all agents, so an agent that obeys robots.txt cannot call the REST API even with a key. The MCP host mcp.gorgias.com has no robots.txt (404) and is open.",
   "t": "07:45"
  },
  {
   "cap": "discovery",
   "capability": "help center docs",
   "task": "Read official MCP setup article on docs.gorgias.com",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": true,
   "evidence": "GET https://docs.gorgias.com/en-US/connect-your-ai-assistant-to-the-gorgias-mcp-6310546 -> 403, cf-mitigated: challenge, 'Just a moment...'",
   "notes": "Cloudflare managed challenge on the help center for our signed agent; mcp.gorgias.com landing page and developers.gorgias.com are open",
   "t": "07:45"
  },
  {
   "cap": "verify",
   "capability": "verify email",
   "task": "Verify email",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "not reached: no account (sign-up blocked by Turnstile)",
   "t": "07:45"
  },
  {
   "cap": "credentials",
   "capability": "API credentials",
   "task": "Get an API key or OAuth token",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "key": "create",
   "evidence": "not reached: no account. Docs: REST basicAuth 'username will be the email address of your Gorgias account and the password will be your API key' (OpenAPI securitySchemes); no documented API/CLI route to create a key (developers.gorgias.com/llms.txt lists none). MCP needs OAuth consent by a signed-in user (DCR + /authorize, no device flow).",
   "t": "07:45"
  },
  {
   "cap": "first_call",
   "capability": "first API call",
   "task": "First authenticated MCP/API call",
   "route": "mcp",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "tools/call list_tags -> 401 without a token; no account to authorize",
   "t": "07:45"
  },
  {
   "cap": "first_action",
   "capability": "first real action",
   "task": "Create a ticket",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "not reached: no account",
   "t": "07:45"
  },
  {
   "cap": "delete",
   "capability": "delete account",
   "task": "Delete the account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "not reached: no account was created",
   "t": "07:45"
  },
  {
   "cap": "cancel",
   "capability": "cancel plan",
   "task": "Cancel trial/plan",
   "route": "none",
   "documented": true,
   "result": "skipped",
   "verified": false,
   "evidence": "not tested: no plan or trial was started (sign-up blocked)",
   "t": "07:45"
  }
 ],
 "stale": false,
 "icon": "/logos/gorgias.png",
 "monitored": false,
 "verdict": "L1 · Needs a person describes Gorgias today: an agent can reach the sign-up form but can't get past it alone. It stopped at signup, where an invisible Cloudflare Turnstile paired with reCAPTCHA v3 never cleared and left \"Create my account\" disabled. Our agent never reached verification, a key or a first call, so no work was attempted. Once a person finishes signup and hands over credentials, the surface is ready: an official MCP server with OAuth metadata and markdown API docs with OpenAPI reference. The trial needs no card, but checkout and cancellation sit inside the account our agent never opened, so neither was tested.",
 "page": "https://agentdrives.com/tools/gorgias?via=api"
}