Skip to content
Back to skills

Survey Monkey Automation

ASecurity

Automate SurveyMonkey survey creation, response collection, collector management, and survey discovery through natural language commands

  • 626 stars
  • 0 votes
  • 0 copies
  • 13 views
  • Added May 27, 2026
data-aigo

Works with

  • mcp

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add openteams-lab/openteams --skill survey-monkey-automation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Survey Monkey Automation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Survey Monkey Automation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/openteams-lab-survey-monkey-automation/badge)](https://www.skillsdirectory.com/skills/openteams-lab-survey-monkey-automation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: SurveyMonkey Automation
description: "Automate SurveyMonkey survey creation, response collection, collector management, and survey discovery through natural language commands"
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)*

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.