Gorgias Reporting & Satisfaction Surveys
How fast did the team answer last week, and what did shoppers rate us? Run Gorgias reporting queries for first response time, resolution time, tickets created or closed and CSAT, split by agent or channel, then read the survey scores and comments behind the numbers.
Connect this API to an AI agent Browse all specs
What you can do with Gorgias Reporting & Satisfaction Surveys via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| POST | /api/reporting/stats |
getReportingStatistic | Run a reporting query (measures, dimensions, filters, time range) |
| GET | /api/metric-cards |
searchMetricCards | Search metric cards (definitions of report metrics) |
| GET | /api/metric-cards/{slug} |
getMetricCard | Get one metric card and how its metric is calculated |
| GET | /api/satisfaction-surveys |
listSatisfactionSurveys | List satisfaction surveys with scores and comments |
| GET | /api/satisfaction-surveys/{id} |
getSatisfactionSurvey | Get one satisfaction survey |
| GET | /api/users |
listUsers | List agents and other helpdesk users |
| GET | /api/teams |
listTeams | List support teams |
| GET | /api/tags |
listTags | List ticket tags with usage counts |
| GET | /api/phone/voice-calls |
listVoiceCalls | List phone calls handled in Gorgias Voice |
| GET | /api/phone/voice-calls/{id} |
getVoiceCall | Get one phone call with its duration and status |
Authentication
basicAuth
HTTP Basic
HTTP basic auth: your Gorgias login email as the username and a REST API key as the password.
How to get a credential
- In Gorgias, open Settings > REST API (
https://<your-domain>.gorgias.com/app/settings/api). - Copy the Username (your account email) and click Create API Key (or copy the existing key).
- Note your Base API URL subdomain (
<your-domain>.gorgias.com); it is the server variable for this spec.
Permissions used
API keys have no scopes; they act as the user who created them, so that user's role in Gorgias decides what is visible. Every operation here is read-only.
| Access | Operations |
|---|---|
| Statistics (read) | getReportingStatistic, searchMetricCards, getMetricCard |
| Helpdesk data (read) | listSatisfactionSurveys, getSatisfactionSurvey, listUsers, listTeams, listTags, listVoiceCalls, getVoiceCall |
Common errors
- 401 Unauthorized: wrong email/API key pair, or the key was deleted. Recreate the key in Settings > REST API.
- 403 Forbidden: the key's user cannot see statistics or that resource; create the key from an account with a broader role.
- 400 Bad Request: the reporting
querydoes not match itsscope(a measure, dimension or filter member that metric does not support), orfilters/timezoneis missing. - 429 Too Many Requests: Gorgias allows about 40 requests per 20 seconds per key; wait for
Retry-Afterand retry.
Store the email and key as a VX Agents credential so they are never pasted into chat.
Usage guide
Setup
- Add a Basic credential: username = your Gorgias login email, password = a REST API key (Settings > REST API).
- Set the
domainserver variable to your subdomain (acmeforacme.gorgias.com). - Worth pinning: your reporting
timezone(e.g.Europe/Paris) and the team ids you report on.
Weekly support report
listUsersandlistTeamsto map agent and team ids to names.getReportingStatisticwith aqueryobject. Pick ascope:first-response-time/resolution-time: measuresmedianFirstResponseTime,averageFirstResponseTime/medianResolutionTime,averageResolutionTimetickets-created/tickets-closed: measureticketCountsatisfaction-surveys:averageSurveyScore,satisfactionScore,responseRate,scoredSurveysCount,sentSurveysCount
- Always send
timezoneandfilters. Limit the period with{"member": "periodStart", "operator": "afterDate", "values": ["2026-10-17T00:00:00"]}and{"member": "periodEnd", "operator": "beforeDate", "values": ["2026-10-24T00:00:00"]}; narrow withagentId,teamIdorchanneland operatorone-of. - Group with
dimensions(agentId,channel) or trend withtime_dimensions(one item:dimension+granularityday/week/month). searchMetricCards(q) andgetMetricCardexplain how a metric is defined before you quote it.- For the story behind a CSAT dip,
listSatisfactionSurveys(order_by, orticket_id) gives each score and comment;getSatisfactionSurveyreads one.
Other jobs
listTags(search,order_by) shows which tags are used most.listVoiceCalls(optionallyticket_id) andgetVoiceCallcover Gorgias Voice calls.
Good to know
- Everything here is read-only.
- Period filter values are ISO 8601 datetimes; other filters take ids or names as strings or integers.
- Each scope accepts only its own measures, dimensions and filter members; a mismatch returns 400.
- Results and lists page with
cursor(frommeta.next_cursor) andlimit(reporting up to 10000, lists up to 100). - Rate limit is about 40 requests per 20 seconds per API key.
Source: Gorgias REST API reference (https://developers.gorgias.com/reference/get-statistic), checked 2026-10-24.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Gorgias Reporting & Satisfaction Surveys” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.