Automate SurveyMonkey survey workflows -- create surveys, list and search existing surveys, manage collectors and distribution links, retrieve responses, and inspect survey details -- all through natural language.
Toolkit docs: composio.dev/toolkits/survey_monkey
https://rube.app/mcp
Create a new empty survey that can be further configured with questions and pages.
Tool: SURVEY_MONKEY_CREATE_SURVEY
Key parameters:
title -- survey title displayed to respondents (required)nickname -- optional internal name for organizing surveys (not shown to respondents)language -- ISO 639-1 language code (default en); examples: es, fr, de
footer -- whether to display SurveyMonkey branding footer (default true)The created survey starts with one empty page and no questions. Use the returned
survey_idwith other actions to add content and configure collectors.
Example prompt:
"Create a new survey titled 'Customer Satisfaction Q1 2026'"
Enumerate all surveys in your account with filtering, sorting, and pagination.
Tool: SURVEY_MONKEY_GET_SURVEYS
Key parameters:
title -- search by survey title (partial match)sort_by -- sort by title, date_modified, or num_responses
sort_order -- ASC or DESC
page / per_page -- pagination controls (default 50 per page, max 100)include -- additional fields: response_count, date_modified, date_created, question_count, page_count, category, language, folder_id
folder_id -- filter to surveys in a specific folderstart_modified_at / end_modified_at -- date range filter (format: YYYY-MM-DDTHH:MM:SS)Example prompt:
"List all my surveys sorted by most recent modification, include response counts"
Retrieve comprehensive metadata for a specific survey including configuration, question/page counts, response counts, and all relevant URLs.
Tool: SURVEY_MONKEY_GET_SURVEY_DETAILS
Key parameters:
survey_id -- the unique survey identifier (required)Returns: title, language, question_count, page_count, response_count, URLs for preview/edit/analyze/collect, button text, and timestamps.
Example prompt:
"Show me the full details and response count for survey 123456789"
Retrieve collectors (distribution channels) for a survey to get shareable links and monitor response progress.
Tool: SURVEY_MONKEY_GET_COLLECTORS
Key parameters:
survey_id -- the survey to get collectors for (required)include -- additional fields: type, status, response_count, date_created, date_modified, url
name -- partial match filter on collector namesort_by -- sort by id, date_modified, type, status, or name
sort_order -- ASC or DESC
page / per_page -- pagination (default 50, max 1000)start_date / end_date -- filter by creation date (format: YYYY-MM-DDTHH:MM:SS)Example prompt:
"Get all collectors for survey 123456789, include URLs and response counts"
Fetch response data for a specific survey with comprehensive filtering options.
Tool: SURVEY_MONKEY_GET_RESPONSES
Key parameters:
survey_id -- the survey to retrieve responses from (required)status -- filter by completed, partial, overquota, or disqualified
page / per_page -- pagination (default 50, max 1000)sort_order -- ASC or DESC (sorted by date_modified)start_created_at / end_created_at -- filter by creation date range (ISO 8601)start_modified_at / end_modified_at -- filter by modification date rangeemail -- filter by respondent emailfirst_name / last_name -- filter by respondent nameip -- filter by IP addresstotal_time_min / total_time_max / total_time_units -- filter by completion timeExample prompt:
"Get all completed responses for survey 123456789 from the last 30 days"
Combine tools for end-to-end survey management:
SURVEY_MONKEY_CREATE_SURVEY -- create the survey, store the survey_id
SURVEY_MONKEY_GET_COLLECTORS -- retrieve the collector link to share with respondentsSURVEY_MONKEY_GET_SURVEY_DETAILS -- check response counts and survey statusSURVEY_MONKEY_GET_RESPONSES -- retrieve completed responses, filter by status=completed
SURVEY_MONKEY_GET_SURVEYS -- browse and find surveys if survey_id is lostExample prompt:
"Create a survey called 'Event Feedback', then show me how to distribute it"
| Pitfall | Details |
|---|---|
| Pagination required | SURVEY_MONKEY_GET_COLLECTORS and SURVEY_MONKEY_GET_RESPONSES require managing page/per_page for large surveys to avoid missing data |
| Status filtering critical | SURVEY_MONKEY_GET_RESPONSES returns partial, overquota, and disqualified entries unless filtered -- use status=completed for reliable data |
| No shareable link on create | SURVEY_MONKEY_CREATE_SURVEY does not create a distribution link -- use SURVEY_MONKEY_GET_COLLECTORS to get shareable URLs |
| Survey ID storage | Losing track of survey_id forces reliance on SURVEY_MONKEY_GET_SURVEYS which is slower -- store IDs immediately after creation |
| Question ID mapping | Question IDs and answer formats from responses must be carefully mapped; use SURVEY_MONKEY_GET_SURVEY_DETAILS to understand the structure |
| Date format | Date filters use YYYY-MM-DDTHH:MM:SS format, not ISO 8601 with timezone |
| Empty survey on create | New surveys start with one empty page and no questions -- further configuration is needed |
| Action | Tool Slug | Key Params |
|---|---|---|
| Create survey | SURVEY_MONKEY_CREATE_SURVEY |
title, language, nickname |
| List surveys | SURVEY_MONKEY_GET_SURVEYS |
title, sort_by, include, page |
| Get survey details | SURVEY_MONKEY_GET_SURVEY_DETAILS |
survey_id |
| List collectors | SURVEY_MONKEY_GET_COLLECTORS |
survey_id, include, sort_by |
| Get responses | SURVEY_MONKEY_GET_RESPONSES |
survey_id, status, start_created_at |
Powered by Composio