SurveyMonkey Automation
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
Setup
- •Add the Rube MCP server to your environment:
https://rube.app/mcp - •Connect your SurveyMonkey account when prompted (OAuth flow via Composio)
- •Start issuing natural language commands for SurveyMonkey automation
Core Workflows
1. Create a New Survey
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 (defaulten); examples:es,fr,de - •
footer-- whether to display SurveyMonkey branding footer (defaulttrue)
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'"
2. List and Search Surveys
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 bytitle,date_modified, ornum_responses - •
sort_order--ASCorDESC - •
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 folder - •
start_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"
3. Get Survey Details
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"
4. Manage Collectors and Distribution Links
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 name - •
sort_by-- sort byid,date_modified,type,status, orname - •
sort_order--ASCorDESC - •
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"
5. Retrieve Survey Responses
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 bycompleted,partial,overquota, ordisqualified - •
page/per_page-- pagination (default 50, max 1000) - •
sort_order--ASCorDESC(sorted bydate_modified) - •
start_created_at/end_created_at-- filter by creation date range (ISO 8601) - •
start_modified_at/end_modified_at-- filter by modification date range - •
email-- filter by respondent email - •
first_name/last_name-- filter by respondent name - •
ip-- filter by IP address - •
total_time_min/total_time_max/total_time_units-- filter by completion time
Example prompt:
"Get all completed responses for survey 123456789 from the last 30 days"
6. Full Survey Lifecycle Workflow
Combine tools for end-to-end survey management:
- •Create:
SURVEY_MONKEY_CREATE_SURVEY-- create the survey, store thesurvey_id - •Distribute:
SURVEY_MONKEY_GET_COLLECTORS-- retrieve the collector link to share with respondents - •Monitor:
SURVEY_MONKEY_GET_SURVEY_DETAILS-- check response counts and survey status - •Collect:
SURVEY_MONKEY_GET_RESPONSES-- retrieve completed responses, filter bystatus=completed - •Audit:
SURVEY_MONKEY_GET_SURVEYS-- browse and find surveys ifsurvey_idis lost
Example prompt:
"Create a survey called 'Event Feedba