Integration · Forms
Connect Claude & ChatGPT to Medallia Agile Research
Ask your AI how a survey is doing, what respondents answered, or what people wrote in open-text questions. It can list surveys and questions, read respondents, response rates and question results, and manage contacts and opt-outs. It can also create a survey, copy an existing one and launch it, with your approval if you want it.
Free plan, no credit card. Takes about a minute.
Try asking
“What is the response rate on our customer satisfaction survey?”
The AI finds the survey and reads its response rate, grouped the way you ask if you want a breakdown.
“Show me the results for the recommendation question in survey 48213.”
It reads the question with its answer choices and the aggregated results across respondents.
“What did people write in the open comments, and which ones are negative?”
It lists the open-text questions with text analysis and reads the analysed answers, filtered by sentiment.
What your AI can do
Surveys and questions
List, read and create surveys, copy an existing survey, launch it with start and end dates, and read questions with their answer choices.
Results and respondents
Read respondents' answers, response rates, question results and aggregates, and analysed open-text answers with tag and sentiment filters.
Contacts and opt-outs
Create, update and delete contacts, add them to surveys, check invitation status and manage the opt-out list.
“Add [email protected] to the Q3 survey in English.”
It adds her as a contact to the survey with email, name and language. You can check her invitation status afterwards.
“Copy last year's employee survey and launch it from Monday.”
It creates a new survey as a copy of the old one and launches it with the start date you give. The survey then goes live for respondents.
“Stop sending survey invitations to [email protected].”
It adds the email address to the opt-out list, so it no longer receives survey invitations.
88 tools for Medallia Agile Research
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
add_optoutsChanges dataOpt out `email_addresses` and/or `phone_numbers` so they no longer receive survey invitations.add_survey_contactChanges dataAdd a contact to a survey by `survey_id` with email, name, phone, language and custom fields.archive_hookDeletesDeactivate a hook (webhook id). Destructive action; may require approval. API summary: Deactivate your webhook. You won't receive any request anymore. But the webhook ID and key will remain the same for Activation in the future….create_configChanges dataCreate a new config. Search configs first to avoid duplicates. API summary: Create a new import configuration.create_contactChanges dataCreate a contact and add it to the survey given in `survey_id` (required), with email, name, phone, address and custom fields.create_hookChanges dataCreate a new hook. Required: event name or target url. API summary: Create a new web hook. We will check your API key roles depending on the event used in the webhook.create_page_branchingChanges dataCreate a new branching for a page. API summary: Creates page branch logic.create_surveyChanges dataCreate a new survey with `default_lang` (2-letter code) and `survey_titles` (a list of Lang + Title). Optionally copy an existing survey with `copy_of_survey_id` or place it in a folder.create_survey_questionChanges dataCreate a new question for a survey. Search questions first to avoid duplicates. API summary: Creates a question in a survey.create_survey_respondentVisible to othersCreate a new respondent for a survey. Required: language code or respondent status id. Search respondents first to avoid duplicates. Has effects visible outside this system. API summary: Add responses for a new respondent.create_urlChanges dataCreate a new url. API summary: Creates channel URL for the targeted panel in a survey.create_userChanges dataCreate a new user. Required: email, roles or rights.delete_configDeletesPermanently delete a config by import config id. Destructive action; may require approval. API summary: Remove a import configuration by id.delete_contactDeletesPermanently delete a contact by `contact_id`. This cannot be undone.delete_hookDeletesPermanently delete a hook by webhook id. Destructive action; may require approval. API summary: Remove the web hook.delete_survey_respondentDeletesPermanently delete a respondent by respondent id. Destructive action; may require approval. API summary: Remove a respondent from a survey. This action is permanent and cannot be undone.delete_urlDeletesPermanently delete a url by url id. Destructive action; may require approval. API summary: Deletes channel URL for the targeted panel in a survey.delete_userDeletesPermanently delete a user by user id. Destructive action; may require approval.get_configGet one config by import config id. API summary: Retrieve an existing import configuration by its id.get_contactGet one contact by `contact_id`.get_folderGet one folder by folder id. API summary: Retrieve all media items from a media folder.get_hookGet one hook by webhook id. API summary: Retrieve a webhook configuration by ID.get_mediumGet one medium by media id. API summary: Retrieve a media item by id.get_my_key_rolesShow the roles and rights of the connected key, so you know which calls this account may use.get_question_aggregatesGet aggregate figures for one question by `survey_id` and `question_id`, optionally by `period` or `filter`.get_question_resultsGet the aggregated results of one question by `survey_id` and `question_id` (ID or data label), optionally limited to respondents matching `filter`.get_surveyGet one survey by `survey_id`, including status and dates; set `include_questions` to also return its questions.get_survey_contactGet one contact of a survey by `survey_id` and `contact_id`, including their invitation status.get_survey_questionGet one question of a survey by `survey_id` and `question_id`, including its answer choices.get_survey_respondentGet one respondent's answers by `survey_id` and `respondent_id`.get_survey_response_rateGet the response rate of a survey by `survey_id`, optionally filtered or grouped with `groupby`.get_text_analysis_answersGet the analysed open-text answers for one question by `survey_id`, `question_id` and `lang`, with optional tag, sentiment and paging filters.get_the_result_of_an_importGet one contact by queue item id. API summary: Get the result of an import.get_urlGet one url by url id. API summary: Gets specific channel details for the targeted panel.get_userGet one user by user id.launch_surveyChanges dataLaunch a survey by `survey_id` so it goes live, with optional `start_date` and `end_date`. This makes the survey available to respondents.list_3sList 3s. API summary: Default API-call which will return the urls to the root requests in the Links property.list_contactsList contacts across all surveys with optional `filter`, `orderby`, `limit` and `offset`.list_eventsList events. API summary: Retrieve the available events to which you can attach your web hooks.list_fieldvaluecountsList fieldvaluecounts. API summary: Retrieve the amount of unique values for the custom fields for a survey.list_foldersList folders. API summary: Retrieve the complete tree of media folders.list_hook_demosList demos for a hook. API summary: Retrieve a demo object of the webhook you just created. The data returned in the demo is fixed and only depending on the type of event used….list_hooksList hooks. API summary: Retrieve all webhooks available for you.list_optoutsList email addresses and phone numbers that have opted out of surveys.list_page_branchingsList branchings for a page. API summary: Gets page branch logic.list_question_aggregatesList aggregates for a question. API summary: Retrieve the tagging aggregates.list_question_readsList reads for a question. API summary: Retrieve a question from a survey by its id.list_question_tagsList tags for a question. API summary: Retrieve a list of available tags for this question.list_survey_contactsList the contacts added to a survey by `survey_id`, with optional filter and paging.list_survey_questionsList the questions of a survey by `survey_id`, with optional filter and paging.list_survey_respondentsList respondents (responses) of a survey by `survey_id`, with optional filter, ordering, language and paging.list_surveysList surveys with optional `filter`, `orderby`, `limit` and `offset`. Use it to find a survey's ID.list_targetcolumnsList targetcolumns. API summary: Retrieve all available options which you can use as TargetColumnName in the ImportColumnMapping.list_text_analysis_questionsList the open-text questions of a survey (`survey_id`) that have text analysis.list_throttlesList throttles. API summary: To check how your application behaves when running into a throttling exception, you can use this request to get the throttling exception.list_urlsList urls. API summary: Gets all the channel URLs for the targeted panel.list_usersList the users of the account, optionally filtered by `role` or `right`.search_3sSearch 3s. Use this to find existing 3s before creating a new 3. API summary: Retrieve an overview of available lookup calls to improve discoverability.search_browsersSearch browsers. Use this to find existing browsers before creating a new browser. API summary: Retrieve the browser id and browser names for all browsers which we identify when completing a survey. (only in English).search_configsSearch configs by select, filter or orderby. Use this to find existing configs before creating a new config. Results are paginated. API summary: Retrieve the existing import configurations.search_contactstatusesSearch contactstatuses. Use this to find existing contactstatuses before creating a new contactstatus. API summary: Retrieve the contact status id and name for all possible contact statuses. The data will be retrieved in the requested language.search_countriesSearch countries. Use this to find existing countries before creating a new country. API summary: Retrieve all ISO 3166-1 two-letter country code and country name. The data will be retrieved in the requested language.search_datatypesSearch datatypes. Use this to find existing datatypes before creating a new datatype. API summary: Retrieve the id and name of all available data types. (only in English).search_distributionsSearch distributions. Use this to find existing distributions before creating a new distribution. API summary: Retrieve the distribution method id and names for the distribution methods we offer. The data will be retrieved in the requested language.search_importconfigupdatetypesSearch importconfigupdatetypes. Use this to find existing importconfigupdatetypes before creating a new importconfigupdatetype. API summary: Retrieve the list of import config update types.search_mediatypesSearch mediatypes. Use this to find existing mediatypes before creating a new mediatype. API summary: Retrieve the list of media types.search_metadata_typesSearch metadata types. Use this to find existing metadata types before creating a new metadata type. API summary: Retrieve the list of metadata types.search_operatorsSearch operators. Use this to find existing operators before creating a new operator. API summary: Retrieve the list of operators.search_optoutsourcesSearch optoutsources. Use this to find existing optoutsources before creating a new optoutsource.search_osSearch os. Use this to find existing os before creating a new o. API summary: Retrieve the os id and os name for all operating systems which we identify when completing a survey. (only in English).search_questiontypesSearch questiontypes. Use this to find existing questiontypes before creating a new questiontype. API summary: Retrieve the question type id and name for the question types. The data will be retrieved in the requested language.search_queuestatusesSearch queuestatuses. Use this to find existing queuestatuses before creating a new queuestatus. API summary: Lookup process queue status.search_respondentstatusesSearch respondentstatuses. Use this to find existing respondentstatuses before creating a new respondentstatus. API summary: Retrieve respondent end status id and name for the respondent statuses. (only in English).search_resultcodesSearch resultcodes. Use this to find existing resultcodes before creating a new resultcode. API summary: Retrieve the list of ResultCodes which are returned when importing contacts or adding responses.search_scaletypesSearch scaletypes. Use this to find existing scaletypes before creating a new scaletype. API summary: Retrieve the scale type id and name of all possible scaletypes.search_statesSearch states. Use this to find existing states before creating a new state. API summary: Retrieve the ISO 3166-2 two-last letter state codes and name for all US states. (only in English).search_surveylanguagesSearch surveylanguages. Use this to find existing surveylanguages before creating a new surveylanguage. API summary: Retrieve the list of languages which are support in the survey interface and can be used to when translating your survey.search_surveystatusesSearch surveystatuses. Use this to find existing surveystatuses before creating a new surveystatus. API summary: Retrieve the survey status id and name for all possible survey statuses. The data will be retrieved in the requested language.submit_hookDeletesActivate a hook (webhook id). Destructive action; may require approval. API summary: Activate your webhook. Activation is required before you will receive requests. This flow is required to improve security.update_configChanges dataUpdate an existing config identified by import config id. API summary: Update an existing import configuration.update_contactChanges dataUpdate a contact's details by `contact_id`. Only the fields you pass change.update_folderChanges dataUpdate an existing folder identified by folder id. API summary: Add a new file to the media library.update_importChanges dataUpdate an existing import identified by import config id. API summary: Import contacts in bulk. Depending on your import configuration you can receive a email notification on each import.update_page_branchingsVisible to othersUpdate an existing branching identified by page number. Has effects visible outside this system. API summary: Updates page branch logic.update_survey_contactChanges dataUpdate a survey contact's details by `survey_id` and `contact_id`. Only the fields you pass change.update_survey_questionChanges dataUpdate an existing question identified by questionid. API summary: Updates a question in a survey.update_urlChanges dataUpdate an existing url identified by url id. API summary: Updates channel URL for the targeted panel in a survey.update_userChanges dataUpdate an existing user identified by user id.
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose Medallia Agile Research from the app list.
- 2
Paste your key
Enter three things: your data region (eu or us, the part after api- in api-eu.agileresearch.medallia.com), a key (X-Key) and your account key (X-Master-Key). Sign in to Medallia Agile Research (formerly CheckMarket) and open the Keys section of your account. Pick a key whose roles allow the actions you want. The tooltip of each key shows both header values.
- 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 Medallia Agile Research?
The AI can list and read surveys, questions, respondents, response rates, question results and aggregates, analysed open-text answers, contacts, opt-outs and users. It can create and copy surveys, launch them, create, update and delete contacts, add contacts to surveys and add opt-outs.
Does the AI see my Medallia Agile Research keys?
No. Your Medallia Agile Research keys 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 with reading results only. Launching a survey makes it live for respondents and deleting a contact is permanent, and both can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then 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 Medallia Agile Research account.
Why do I need two keys and a region?
Medallia Agile Research uses an account key (X-Master-Key) that identifies your account and a key (X-Key) whose roles decide which calls are allowed. The region, eu or us, tells HeyMyApps which API server holds your data. The AI can check the roles and rights of the connected key, so it knows which calls it may use.
Related integrations
Let your AI work in Medallia Agile Research today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect Medallia Agile Research freeHeyMyApps is not affiliated with Medallia Agile Research. Product names are trademarks of their owners.






