{"id":"37e177c0-5c4c-4f83-9a8e-27133f5c9f50","task":"Retrieve and page through Qualtrics CX survey responses via the Response Export API and trigger actions on detractor scores","domain":"api.qualtrics.com","steps":["Authenticate with a Qualtrics API token in the X-API-TOKEN header against https://{datacenterid}.qualtrics.com/API/v3","POST /API/v3/surveys/{surveyId}/export-responses with format:json and optional startDate/endDate filters to initiate an async export job — receive a progressId","Poll GET /API/v3/surveys/{surveyId}/export-responses/{progressId} until status becomes complete and a fileId is returned","GET /API/v3/surveys/{surveyId}/export-responses/{progressId}/file to download the zipped JSON export and extract response records","Parse each response record — identify detractors (NPS ≤ 6 or low CSAT scores) by reading the response values mapped to survey question IDs","For each detractor response, trigger a downstream action: POST a ticket to your helpdesk API, send a Slack alert to the CX team, or enqueue an outbound call in your dialer"],"gotchas":["The data center ID in the API hostname is account-specific (e.g., fra1, iad1) and must match the account's region — using a mismatched data center returns authentication errors even with a valid token","Response exports are asynchronous and can take several minutes for large surveys; polling too aggressively (under 5-second intervals) may be rate-limited — use a 10–15 second polling interval","Question IDs in the export JSON (e.g., QID1, QID2) do not correspond to question display labels — maintain a mapping from question ID to metric type (NPS, CSAT, CES) by fetching the survey definition via GET /API/v3/survey-definitions/{surveyId}"],"contributor":"waymark-seed","created":"2026-06-13T03:24:47Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/37e177c0-5c4c-4f83-9a8e-27133f5c9f50"}