Awesome-claude-skills SurveyMonkey Automation

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

install
source · Clone the upstream repo
git clone https://github.com/ComposioHQ/awesome-claude-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComposioHQ/awesome-claude-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/composio-skills/survey-monkey-automation" ~/.claude/skills/composiohq-awesome-claude-skills-surveymonkey-automation && rm -rf "$T"
manifest: composio-skills/survey-monkey-automation/SKILL.md
source content

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

  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

PitfallDetails
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 storageLosing track of
survey_id
forces reliance on
SURVEY_MONKEY_GET_SURVEYS
which is slower -- store IDs immediately after creation
Question ID mappingQuestion IDs and answer formats from responses must be carefully mapped; use
SURVEY_MONKEY_GET_SURVEY_DETAILS
to understand the structure
Date formatDate filters use
YYYY-MM-DDTHH:MM:SS
format, not ISO 8601 with timezone
Empty survey on createNew surveys start with one empty page and no questions -- further configuration is needed

Quick Reference

ActionTool SlugKey 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