Integration · Forms
Connect Claude & ChatGPT to Qualtrics
Ask your AI which surveys are active, what a respondent answered or who finished a distribution, and it reads the answer from Qualtrics. It can list surveys and questions, read single responses, export all responses as CSV or JSON, and manage contacts and mailing lists in your XM directories. It can also activate or deactivate a survey.
Free plan, no credit card. Takes about a minute.
Try asking
“Which surveys do we have, and which are active?”
The AI lists the surveys you can access with ID, owner, active status and last modified date.
“Export all responses from the Q3 customer survey as CSV.”
It starts the export, checks its progress and downloads the finished file.
“What did respondent R_1a2b3c answer in the onboarding survey?”
It gets the response with all answers and embedded data.
What your AI can do
Surveys and questions
List surveys, read a survey with its questions, blocks and response counts, and rename, activate, deactivate or set an expiration.
Responses and exports
Read single responses and export all responses in formats like CSV, JSON or TSV, filtered by date or questions.
Contacts and mailing lists
List directories, search, create and update contacts, manage mailing lists and see what happened to each recipient of a distribution.
“Who opened last week's survey invitation but did not finish?”
It reads the distribution history and lists recipients who opened or started but did not finish.
“Add these 15 new customers to the NPS mailing list.”
It finds the directory and the mailing list and adds each person as a contact on it.
“Close the event feedback survey.”
It deactivates the survey, so it stops taking new responses.
118 tools for Qualtrics
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
add_mailing_list_contactChanges dataAdd a new contact to a mailing list by `directory_id` and `mailing_list_id`, with first_name, last_name, email, phone and embedded_data.create_contactChanges dataCreate a contact in `directory_id` with first_name, last_name, email, phone, language, ext_ref and embedded_data.create_distributionChanges dataCreate a new distribution. API summary: Create Distribution.create_distribution_reminderChanges dataCreate a new reminder for a distribution. Required: message, header or send date. API summary: Create Reminder Distribution.create_distribution_thankyouChanges dataCreate a new thankyou for a distribution. Required: message, header or send date. API summary: Create Thank You Distribution.create_groupChanges dataCreate a new group. Required: name or type. API summary: Create Group.create_group_userChanges dataCreate a new user for a group. Required: user id. API summary: Add User to Group.create_library_messageVisible to othersCreate a new message for a library. Has effects visible outside this system. API summary: Create Library Message.create_mailing_listChanges dataCreate a mailing list with `name` in `directory_id`.create_subscriptionChanges dataCreate a new subscription. Required: publication url or topics. API summary: Create Subscription.create_survey_definitionChanges dataCreate a new survey definition. API summary: Create Survey.create_survey_definition_blockChanges dataCreate a new block for a survey definition. API summary: Create Block.create_survey_definition_questionChanges dataCreate a new question for a survey definition. API summary: Create Question.create_survey_definition_quotaChanges dataCreate a new quota for a survey definition. Required: name, occurrences, logic, quota action, id or quota realm. API summary: Create Quota.create_survey_definition_quotagroupChanges dataCreate a new quotagroup for a survey definition. Required: id. API summary: Create Quota Group.create_survey_definition_versionChanges dataCreate a new version for a survey definition. Required: description or published. API summary: Create Survey Version.create_survey_embeddeddatafieldChanges dataCreate a new embeddeddatafield for a survey. API summary: Insert Embedded Data Fields.create_survey_responseChanges dataCreate a new response for a survey. Required: values.create_userChanges dataCreate a new user. Required: username, password, first name, last name, user type or email. API summary: Create User.create_user_apitokenDeletesCreate a new apitoken for a user. Destructive action; may require approval. API summary: Create User API Token.delete_contactDeletesPermanently delete a contact by contact id. Destructive action; may require approval. API summary: Delete Directory Contact.delete_contact_mailinglistDeletesPermanently delete a mailinglist by mailing list id. Destructive action; may require approval. API summary: Delete Mailing List.delete_distributionDeletesPermanently delete a distribution by distribution id. Destructive action; may require approval. API summary: Delete Distribution.delete_groupDeletesPermanently delete a group by group id. Destructive action; may require approval. API summary: Delete Group.delete_group_userDeletesPermanently delete a user by user id. Destructive action; may require approval. API summary: Remove User From Group.delete_library_graphicDeletesPermanently delete a graphic by graphic id. Destructive action; may require approval. API summary: Delete Graphic.delete_library_messageDeletesPermanently delete a message by message id. Destructive action; may require approval. API summary: Delete Library Message.delete_response_documentDeletesPermanently delete a document by file id. Destructive action; may require approval. API summary: Delete a User-Uploaded File.delete_subscriptionDeletesPermanently delete a subscription by subscription id. Destructive action; may require approval. API summary: Delete Subscription.delete_surveyDeletesPermanently delete a survey by survey id. Destructive action; may require approval. API summary: Delete Survey.delete_survey_definitionDeletesPermanently delete a survey definition by survey id. Destructive action; may require approval. API summary: Delete Survey.delete_survey_definition_blockDeletesPermanently delete a block by block id. Destructive action; may require approval. API summary: Delete Block.delete_survey_definition_questionDeletesPermanently delete a question by question id. Destructive action; may require approval. API summary: Delete Question.delete_survey_definition_quotaDeletesPermanently delete a quota by quota id. Destructive action; may require approval. API summary: Delete Quota.delete_survey_definition_quotagroupDeletesPermanently delete a quotagroup by quota group id. Destructive action; may require approval. API summary: Delete Quota Group.delete_survey_responseDeletesPermanently delete a response by response id. Destructive action; may require approval. API summary: Delete a Survey Response.delete_userDeletesPermanently delete a user by user id. Destructive action; may require approval. API summary: Delete User.download_response_exportDownload a finished response export by `survey_id` and `file_id`.export_contacts_contactsChanges dataExport contacts. API summary: Create Contact Export.get_contactGet one contact by `directory_id` and `contact_id`.get_contact_history_in_mailing_listList contacts for a contact. Optional filters: type, skip token or mailing list id 2. Results are paginated. API summary: Get Contact History In Mailing List.get_contact_statusGet the current status of a contact by progress id. API summary: Get Contact Export Progress Status.get_current_userGet the connected Qualtrics user: name, user ID, organization and data center.get_directory_contact_historyList contacts for a contact. Optional filters: type. Results are paginated. API summary: Get Directory Contact History.get_distribution_historyList what happened to each recipient of a distribution by `distribution_id` (sent, opened, started, finished).get_groupGet one group by group id. API summary: Get Group.get_import_response_errorGet one error for a import response by failure file id. API summary: Get Import Errors.get_library_messageGet one message for a library by message id. API summary: Get Library Message.get_mailing_listGet one mailing list by `directory_id` and `mailing_list_id`.get_mailinglist_contactGet one contact for a mailinglist by contact id. API summary: Get Contact In Mailing List.get_response_documentGet one document for a response by file id. API summary: Retrieve a User-Uploaded File.get_response_export_progressCheck an export's progress by `survey_id` and `export_progress_id`. When complete it returns the file ID.get_subscriptionGet one subscription by subscription id. API summary: Get Subscription.get_surveyGet one survey by `survey_id` (SV_...), with its questions, blocks, status and response counts.get_survey_definitionGet one survey definition by survey id. API summary: Get Survey.get_survey_definition_blockGet one block for a survey definition by block id. API summary: Get Block.get_survey_definition_questionGet one question for a survey definition by question id. API summary: Get Question.get_survey_definition_quotaGet one quota for a survey definition by quota id. API summary: Get Quota for Survey.get_survey_definition_quotagroupGet one quotagroup for a survey definition by quota group id. API summary: Get Quota Group for Survey.get_survey_definition_versionGet one version for a survey definition by version id. API summary: Get Survey Version.get_survey_import_responseGet one import response for a survey by import progress id. API summary: Get Import Progress.get_survey_responseGet one response by `survey_id` and `response_id` (R_...), with all answers and embedded data.get_survey_translationGet one translation for a survey by language code. API summary: Get Survey Translations JSON.get_userGet one user by user id. API summary: Get User.list_blocksList blocks. Results are paginated. API summary: List Library Blocks.list_bounced_contacts_in_mailing_listList contacts for a mailinglist. Optional filters: since, skip token or mailing list id 2. Results are paginated. API summary: List Bounced Contacts In Mailing List.list_contactsList contacts in a directory by `directory_id`. Paginate with skip_token.list_directoriesList XM directories (contact pools) with their POOL_ IDs. Use a directory ID for the contact tools.list_export_contact_documentsList documents for a export contact. API summary: Get Contact Export File.list_group_usersList users for a group. Results are paginated. API summary: List Users in Group.list_groupsList groups. Optional filters: division id. Results are paginated.list_librariesList libraries.list_library_messagesList messages for a library. Optional filters: category. Results are paginated. API summary: List Library Messages.list_library_surveysList surveys. Results are paginated. API summary: List Library Surveys.list_mailing_list_contactsList contacts on a mailing list by `directory_id` and `mailing_list_id`.list_mailing_listsList mailing lists in a directory by `directory_id`.list_opted_out_contacts_in_mailing_listList contacts for a mailinglist. Optional filters: skip token, mailing list id 2 or since. Results are paginated. API summary: List Opted-Out Contacts In Mailing List.list_opted_out_directory_contactsList contacts. Optional filters: since or skip token. Results are paginated. API summary: List Opted Out Directory Contacts.list_questionsList questions. Results are paginated. API summary: List Library Questions.list_subscriptionsList subscriptions. Results are paginated.list_survey_definition_flowsList flows for a survey definition. API summary: Get Flow.list_survey_definition_metadataList metadata for a survey definition. API summary: Get Survey Metadata.list_survey_definition_optionsList options for a survey definition. API summary: Get Options.list_survey_definition_quotagroupsList quotagroups for a survey definition. Optional filters: skip token. Results are paginated. API summary: Get Quota Groups for Survey.list_survey_definition_quotasList quotas for a survey definition. Optional filters: skip token. Results are paginated. API summary: Get Quotas for Survey.list_survey_definition_versionsList versions for a survey definition. API summary: List Survey Versions.list_survey_languagesList languages for a survey. API summary: Get Languages.list_survey_questionsList all questions in a survey by `survey_id`, with question IDs, text, type and choices.list_survey_quotasList quotas for a survey. Results are paginated. API summary: Get Survey Quotas.list_survey_response_schemasList response schemas for a survey. API summary: Retrieve Survey JSON Schema.list_surveysList surveys the user can access, with ID, name, owner, active status and last modified date.list_user_apitokensList apitokens for a user. API summary: Get User API Token.list_usersList users. Optional filters: username. Results are paginated.remove_mailing_list_contactDeletesRemove a contact from a mailing list by `directory_id`, `mailing_list_id` and `contact_id`.search_contactsChanges dataSearch contacts in a directory by `directory_id` using a `filter` object (e.g. on email or name).search_survey_filtersSearch filters for a survey. Use this to find existing filters before creating a new filter. API summary: Get List of Available Filters.start_response_exportChanges dataStart exporting a survey's responses by `survey_id` in a `format` (csv, json, tsv...), optionally within a start/end date or limited to question_ids. Set compress=false to get a plain file. Returns a progress ID.update_contactChanges dataUpdate a contact by `directory_id` and `contact_id`, including unsubscribing them. Only the fields you pass change.update_contact_mailinglistChanges dataUpdate an existing mailinglist identified by mailing list id. API summary: Update Mailing List.update_groupChanges dataUpdate an existing group identified by group id. API summary: Update Group.update_library_messageVisible to othersUpdate an existing message identified by message id. Has effects visible outside this system. API summary: Update Library Message.update_mailinglist_contactChanges dataUpdate an existing contact identified by contact id. API summary: Update Contact In Mailing List.update_surveyChanges dataRename a survey, change its owner, activate/deactivate it (`is_active`) or set its expiration, by `survey_id`.update_survey_definition_blockChanges dataUpdate an existing block identified by block id. API summary: Update Block.update_survey_definition_flowChanges dataUpdate an existing flow identified by flow id. API summary: Updates Flow Element Definition.update_survey_definition_flowsVisible to othersUpdate an existing flow identified by survey id. Has effects visible outside this system. API summary: Update Flow.update_survey_definition_metadataVisible to othersUpdate an existing metadata identified by survey id. Has effects visible outside this system. API summary: Update Metadata.update_survey_definition_optionsVisible to othersUpdate an existing option identified by survey id. Has effects visible outside this system. API summary: Update Options.update_survey_definition_questionChanges dataUpdate an existing question identified by question id. API summary: Update Question.update_survey_definition_quotaChanges dataUpdate an existing quota identified by quota id. API summary: Update Quota in the Given Survey.update_survey_definition_quotagroupChanges dataUpdate an existing quotagroup identified by quota group id. API summary: Update Quota Group.update_survey_languagesVisible to othersUpdate an existing language identified by survey id. Has effects visible outside this system. API summary: Update Languages.update_survey_translationChanges dataUpdate an existing translation identified by language code. API summary: Update Survey Translations.update_userChanges dataUpdate an existing user identified by user id. API summary: Update User.update_user_apitokensMoves moneyUpdate an existing apitoken identified by user id. Financial or irreversible action; may require approval. API summary: Update User API Token.upload_graphicChanges dataUpload a graphic (library id). API summary: Upload Graphic.upload_surveyChanges dataUpload a survey. API summary: Import Survey.upload_survey_responsesChanges dataImport a survey (survey id). API summary: Start Response Import.
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose Qualtrics from the app list.
- 2
Paste your key
Paste your Qualtrics Datacenter ID and an API token. Your Qualtrics license must include API access. Open Account Settings from the user menu and go to Qualtrics IDs. Under API click Generate Token and copy it. The Datacenter ID is shown in the User box on the same page.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in Qualtrics?
It can list and read surveys, questions, responses, directories, contacts, mailing lists and distribution history, and read the connected user. It can export responses, create and update contacts, create mailing lists, add or remove contacts on a mailing list and update a survey's name, owner, active status or expiration.
Does the AI see my Qualtrics credentials?
No. Your Qualtrics credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start read-only. Deactivating a survey stops new responses and removing a contact from a mailing list cannot be undone, so these can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT, open Settings › Apps & Connectors › Advanced, turn on Developer mode and add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
HeyMyApps has a free plan with no credit card required. Paid plans bill per completed task. You also need your own Qualtrics account.
Does generating an API token affect other integrations?
It can. Generating a token in Qualtrics replaces any existing token on your user, so anything else that used the old token needs the new one. Your Qualtrics license must also include API access for the token to work.
Related integrations
Let your AI work in Qualtrics today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect Qualtrics freeHeyMyApps is not affiliated with Qualtrics. Product names are trademarks of their owners.






