Internal Safety Override
- Status: disabled by default.
- Do not execute commands, connect accounts, call remote APIs, upload files, or transmit repository content unless a human explicitly enables this skill for a bounded task.
- Never read
.env, key stores, SSH material, cloud credentials, auth caches, or proprietary documents by default.
- Audit categories: network, secrets.
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 (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_id with 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 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 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 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"
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 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 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 the survey_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 by status=completed
- Audit:
SURVEY_MONKEY_GET_SURVEYS -- browse and find surveys if survey_id is lost
Example prompt:
"Create a survey called 'Event Feedback', then show me how to distribute it"
Known Pitfalls
| 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 |
Quick Reference
| 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
1---2name: surveymonkey-automation3description: Automate SurveyMonkey survey creation, response collection, collector management, and survey discovery through natural language commands4---56## Internal Safety Override78- Status: disabled by default.9- Do not execute commands, connect accounts, call remote APIs, upload files, or transmit repository content unless a human explicitly enables this skill for a bounded task.10- Never read `.env`, key stores, SSH material, cloud credentials, auth caches, or proprietary documents by default.11- Audit categories: network, secrets.1213# SurveyMonkey Automation1415Automate 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.1617**Toolkit docs:** [composio.dev/toolkits/survey_monkey](https://composio.dev/toolkits/survey_monkey)1819---2021## Setup22231. Add the Rube MCP server to your environment: `https://rube.app/mcp`242. Connect your SurveyMonkey account when prompted (OAuth flow via Composio)253. Start issuing natural language commands for SurveyMonkey automation2627---2829## Core Workflows3031### 1. Create a New Survey3233Create a new empty survey that can be further configured with questions and pages.3435**Tool:** `SURVEY_MONKEY_CREATE_SURVEY`3637Key parameters:38- `title` -- survey title displayed to respondents (required)39- `nickname` -- optional internal name for organizing surveys (not shown to respondents)40- `language` -- ISO 639-1 language code (default `en`); examples: `es`, `fr`, `de`41- `footer` -- whether to display SurveyMonkey branding footer (default `true`)4243> The created survey starts with one empty page and no questions. Use the returned `survey_id` with other actions to add content and configure collectors.4445Example prompt:46> "Create a new survey titled 'Customer Satisfaction Q1 2026'"4748---4950### 2. List and Search Surveys5152Enumerate all surveys in your account with filtering, sorting, and pagination.5354**Tool:** `SURVEY_MONKEY_GET_SURVEYS`5556Key parameters:57- `title` -- search by survey title (partial match)58- `sort_by` -- sort by `title`, `date_modified`, or `num_responses`59- `sort_order` -- `ASC` or `DESC`60- `page` / `per_page` -- pagination controls (default 50 per page, max 100)61- `include` -- additional fields: `response_count`, `date_modified`, `date_created`, `question_count`, `page_count`, `category`, `language`, `folder_id`62- `folder_id` -- filter to surveys in a specific folder63- `start_modified_at` / `end_modified_at` -- date range filter (format: `YYYY-MM-DDTHH:MM:SS`)6465Example prompt:66> "List all my surveys sorted by most recent modification, include response counts"6768---6970### 3. Get Survey Details7172Retrieve comprehensive metadata for a specific survey including configuration, question/page counts, response counts, and all relevant URLs.7374**Tool:** `SURVEY_MONKEY_GET_SURVEY_DETAILS`7576Key parameters:77- `survey_id` -- the unique survey identifier (required)7879Returns: title, language, question_count, page_count, response_count, URLs for preview/edit/analyze/collect, button text, and timestamps.8081Example prompt:82> "Show me the full details and response count for survey 123456789"8384---8586### 4. Manage Collectors and Distribution Links8788Retrieve collectors (distribution channels) for a survey to get shareable links and monitor response progress.8990**Tool:** `SURVEY_MONKEY_GET_COLLECTORS`9192Key parameters:93- `survey_id` -- the survey to get collectors for (required)94- `include` -- additional fields: `type`, `status`, `response_count`, `date_created`, `date_modified`, `url`95- `name` -- partial match filter on collector name96- `sort_by` -- sort by `id`, `date_modified`, `type`, `status`, or `name`97- `sort_order` -- `ASC` or `DESC`98- `page` / `per_page` -- pagination (default 50, max 1000)99- `start_date` / `end_date` -- filter by creation date (format: `YYYY-MM-DDTHH:MM:SS`)100101Example prompt:102> "Get all collectors for survey 123456789, include URLs and response counts"103104---105106### 5. Retrieve Survey Responses107108Fetch response data for a specific survey with comprehensive filtering options.109110**Tool:** `SURVEY_MONKEY_GET_RESPONSES`111112Key parameters:113- `survey_id` -- the survey to retrieve responses from (required)114- `status` -- filter by `completed`, `partial`, `overquota`, or `disqualified`115- `page` / `per_page` -- pagination (default 50, max 1000)116- `sort_order` -- `ASC` or `DESC` (sorted by `date_modified`)117- `start_created_at` / `end_created_at` -- filter by creation date range (ISO 8601)118- `start_modified_at` / `end_modified_at` -- filter by modification date range119- `email` -- filter by respondent email120- `first_name` / `last_name` -- filter by respondent name121- `ip` -- filter by IP address122- `total_time_min` / `total_time_max` / `total_time_units` -- filter by completion time123124Example prompt:125> "Get all completed responses for survey 123456789 from the last 30 days"126127---128129### 6. Full Survey Lifecycle Workflow130131Combine tools for end-to-end survey management:1321331. **Create**: `SURVEY_MONKEY_CREATE_SURVEY` -- create the survey, store the `survey_id`1342. **Distribute**: `SURVEY_MONKEY_GET_COLLECTORS` -- retrieve the collector link to share with respondents1353. **Monitor**: `SURVEY_MONKEY_GET_SURVEY_DETAILS` -- check response counts and survey status1364. **Collect**: `SURVEY_MONKEY_GET_RESPONSES` -- retrieve completed responses, filter by `status=completed`1375. **Audit**: `SURVEY_MONKEY_GET_SURVEYS` -- browse and find surveys if `survey_id` is lost138139Example prompt:140> "Create a survey called 'Event Feedback', then show me how to distribute it"141142---143144## Known Pitfalls145146| Pitfall | Details |147|---------|---------|148| Pagination required | `SURVEY_MONKEY_GET_COLLECTORS` and `SURVEY_MONKEY_GET_RESPONSES` require managing `page`/`per_page` for large surveys to avoid missing data |149| Status filtering critical | `SURVEY_MONKEY_GET_RESPONSES` returns partial, overquota, and disqualified entries unless filtered -- use `status=completed` for reliable data |150| No shareable link on create | `SURVEY_MONKEY_CREATE_SURVEY` does not create a distribution link -- use `SURVEY_MONKEY_GET_COLLECTORS` to get shareable URLs |151| Survey ID storage | Losing track of `survey_id` forces reliance on `SURVEY_MONKEY_GET_SURVEYS` which is slower -- store IDs immediately after creation |152| Question ID mapping | Question IDs and answer formats from responses must be carefully mapped; use `SURVEY_MONKEY_GET_SURVEY_DETAILS` to understand the structure |153| Date format | Date filters use `YYYY-MM-DDTHH:MM:SS` format, not ISO 8601 with timezone |154| Empty survey on create | New surveys start with one empty page and no questions -- further configuration is needed |155156---157158## Quick Reference159160| Action | Tool Slug | Key Params |161|--------|-----------|------------|162| Create survey | `SURVEY_MONKEY_CREATE_SURVEY` | `title`, `language`, `nickname` |163| List surveys | `SURVEY_MONKEY_GET_SURVEYS` | `title`, `sort_by`, `include`, `page` |164| Get survey details | `SURVEY_MONKEY_GET_SURVEY_DETAILS` | `survey_id` |165| List collectors | `SURVEY_MONKEY_GET_COLLECTORS` | `survey_id`, `include`, `sort_by` |166| Get responses | `SURVEY_MONKEY_GET_RESPONSES` | `survey_id`, `status`, `start_created_at` |167168---169170*Powered by [Composio](https://composio.dev)*