Automate SurveyMonkey survey creation, response collection, collector management, and survey discovery through natural language commands. Use when you need help with SurveyMonkey Automation.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add anubhavg-icpl/vibe --skill composio-survey-monkey-automation --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Composio Survey Monkey Automation?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/anubhavg-icpl-composio-survey-monkey-automation)More formats (shields.io, HTML) on the badges page.
---
name: SurveyMonkey Automation
description: Automate SurveyMonkey survey creation, response collection, collector management, and survey discovery through natural language commands. Use when you need help with SurveyMonkey Automation.
license: CC-BY-NC-SA-4.0
requires:
mcp:
- rube
---
# 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](https://composio.dev/toolkits/survey_monkey)
---
## Setup
1. Add the Rube MCP server to your environment: `https://rube.app/mcp`
2. Connect your SurveyMonkey account when prompted (OAuth flow via Composio)
3. 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:
1. **Create**: `SURVEY_MONKEY_CREATE_SURVEY` -- create the survey, store the `survey_id`
2. **Distribute**: `SURVEY_MONKEY_GET_COLLECTORS` -- retrieve the collector link to share with respondents
3. **Monitor**: `SURVEY_MONKEY_GET_SURVEY_DETAILS` -- check response counts and survey status
4. **Collect**: `SURVEY_MONKEY_GET_RESPONSES` -- retrieve completed responses, filter by `status=completed`
5. **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](https://composio.dev)*
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!