---
title: "SurveyMonkey MCP server for AI agents - actionlake"
description: "Give Claude 143 SurveyMonkey actions through one MCP server: collector responses. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/surveymonkey
updated: 2026-10-22
---

Connectors · Marketing & media

# SurveyMonkey MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to SurveyMonkey and the rest of your systems. It gives your agent 143 SurveyMonkey actions (75 reads, 53 writes and 15 that wait for a confirmation) and holds the SurveyMonkey credential itself, so the agent never does. It paces SurveyMonkey's limits and records every call. Connecting SurveyMonkey needs your own SurveyMonkey OAuth app and one admin sign-in.

[Connect SurveyMonkey free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "surveymonkey.groups.list",
  intent: "check which SurveyMonkey account is connected"
}
# Returns a list of groups · read · 1 upstream call
```

- 143 actions in one signed file
- 75 read look, never change
- 53 write create and update
- 15 wait for a yes destructive, confirmed first

Set up

## Connect SurveyMonkey in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect SurveyMonkey.
   OAuth 2.0, authorization code. You register your own OAuth app with SurveyMonkey, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
   Before the first sign-in, SurveyMonkey needs an OAuth app of your own, registered in its developer portal. actionlake has no SurveyMonkey app to lend you.
   - `access_token` Access token from one sign-in with your own OAuth app
   - `refresh_token` Refresh token from the same sign-in; the access token is renewed from it
   - `client_id` SurveyMonkey app client id (developer.surveymonkey.com > My Apps > your app > Settings)
   - `client_secret` SurveyMonkey app secret
   - `host` Where your SurveyMonkey lives: your host
   ```
   account { op: "connections.requirements", service: "surveymonkey" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "surveymonkey.groups.list" }
   # returns a list of groups · read · 1 upstream call
   check { action: "surveymonkey.contacts.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

SurveyMonkey at a glance

**Sign-in**

OAuth 2.0, authorization code. You register your own OAuth app with SurveyMonkey, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.

**You provide**

`access_token` `refresh_token` `client_id` `client_secret`

**Setup fields**

`host`

**Limits we pace to**

120 calls a minute, per connection

**API covered**

SurveyMonkey API v3 (all 143 documented REST operations; webhook callbacks are receivers and are not actions)`api.surveymonkey.com/v3`

**Built from**

SurveyMonkey's documentation, read 22 October 2026[api.surveymonkey.com](https://api.surveymonkey.com/v3/docs)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

75 of 75 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

7, so ask can line SurveyMonkey up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in SurveyMonkey.

143 actions in 45 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **75** read look, never change
- **53** write create and update
- **15** destructive wait for a confirmation

1. ### Collector responses
   9
   4 read · 3 write · 2 destructive
   Retrieves a list of full expanded responses, including answers to all questions · Creates a response · Returns a list of responses · Retrieve a full expanded response, including answers to all questions
2. ### Contact lists
   8
   2 read · 5 write · 1 destructive
   Returns all contact lists · Creates a contact list, contacts can be sent survey invite messages using an email invite or sms collector,... · Returns a contact list · Modifies a contact list (updates any fields accepted as arguments to POST /contact_lists)
3. ### Contacts
   8
   3 read · 4 write · 1 destructive
   Returns a list of all contacts · Creates a new contact, contacts can be sent survey invite messages using an email invite or sms collector, ... · Returns a contact · Modifies a contact (updates any fields accepted as arguments to POST /contacts
4. ### Surveys
   8
   4 read · 3 write · 1 destructive
   Creates a new empty survey or, if a template id or an existing survey id is specified, a survey prepopulate... · Returns a list of surveys owned or shared with the authenticated user · GET /surveys/search · Returns a survey’s details
5. ### Collector messages
   7
   2 read · 4 write · 1 destructive
   Creates a message · Returns a message · Send or schedule to send an existing message to all message recipients · Returns a message
6. ### Survey page questions
   7
   3 read · 3 write · 1 destructive
   Creates a new question on a survey page, see formatting question types · Returns a list of questions on a survey page · Returns the benchmark for the given question · Returns a question
7. ### Survey pages
   6
   2 read · 3 write · 1 destructive
   Creates a new, empty page, see /surveys/{id}/pages/{id}/questions to add questions to pages · Returns a page’s details · Returns a page’s details · Replaces a page (same arguments and requirements as POST /surveys{id}/pages)
8. ### Survey responses
   6
   4 read · 2 write · 0 destructive
   GET /surveys/{survey_id}/responses/bulk · Returns a list of responses · GET /surveys/{survey_id}/responses/{response_id}/details · GET /surveys/{survey_id}/responses/{response_id}

**37 more areas · 84 actions**

- Webhooks **6**
- Workgroup members **6**
- Collectors **5**
- Survey translations **5**
- Workgroup shares **5**
- Workgroups **5**
- Contact list contacts **4**
- Organizations **4**
- Benchmark bundles **3**
- Collector message recipients **3**
- Contact fields **3**
- Group members **3**
- Errors **2**
- Group activities **2**
- Groups **2**
- Survey collector recipients **2**
- Survey collectors **2**
- Survey folders **2**
- Survey share **2**
- Collector recipients **1**
- Question bank questions **1**
- Roles **1**
- Survey categories **1**
- Survey collector messages **1**
- Survey languages **1**
- Survey page question rollups **1**
- Survey page question trends **1**
- Survey page rollups **1**
- Survey page trends **1**
- Survey rollups **1**
- Survey share list **1**
- Survey templates **1**
- Survey trends **1**
- Team survey templates **1**
- User shared **1**
- User workgroups **1**
- Users **1**

Top actions

## The SurveyMonkey API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 24 of SurveyMonkey's 24 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `surveymonkey.groups.list` Returns a list of groups | Returns a list of groups. | read | `identity.group.list` 262 connectors |
| `surveymonkey.roles.list` Returns the list of user roles in an organization | Returns the list of user roles in an organization. | read | `identity.role.list` 184 connectors |
| `surveymonkey.contact_lists.list` Returns all contact lists | Returns all contact lists. | read | `crm.contact_list.list` 34 connectors |
| `surveymonkey.users.me` Returns the current user’s account details including their plan | Returns the current user’s account details including their plan. | read | `identity.current_user.get` 307 connectors |
| `surveymonkey.contacts.list` Returns a list of all contacts | Returns a list of all contacts. | read | `crm.contact.list` 177 connectors |
| `surveymonkey.contacts.create` Creates a new contact, contacts can be sent survey invite messages using an email invite or sms collector, ... | Creates a new contact, contacts can be sent survey invite messages using an email invite or sms collector, .... | write | `crm.contact.create` 161 connectors |
| `surveymonkey.contacts.delete` Deletes a contact | Deletes a contact. | destructive | `crm.contact.delete` 147 connectors |
| `surveymonkey.contact_lists.create` Creates a contact list, contacts can be sent survey invite messages using an email invite or sms collector,... | Creates a contact list, contacts can be sent survey invite messages using an email invite or sms collector,.... | write | `crm.contact_list.create` 29 connectors |
| `surveymonkey.group_members.list` Returns a list of users who have been added as members of the specified group | Returns a list of users who have been added as members of the specified group. | read | `identity.group_member.list` 103 connectors |
| `surveymonkey.survey_folders.list` Returns available folders | Returns available folders. | read | `content.folder.list` 62 connectors |
| `surveymonkey.survey_folders.create` Creates | Creates. | write | `content.folder.create` 62 connectors |
| `surveymonkey.group_members.update` Update a group members email address | Update a group members email address. | write | `identity.group_member.update` 34 connectors |

Try it

## Prompts to paste into Claude.

Each one names the SurveyMonkey actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Find the SurveyMonkey contacts with no email address, so we can clean them up.
   calls `surveymonkey.contacts.bulk_list`
2. Write write
   Creates a new contact, contacts can be sent survey invite messages using an email invite or sms collector, .. in SurveyMonkey. Show me exactly what you will send before you save it.
   calls `surveymonkey.contacts.create`
3. Across systems read
   Which contacts are in both SurveyMonkey and HaloPSA, and how many are in only one of them?
   calls `surveymonkey.contacts.bulk_list` `halopsa.users.list`

Across your systems

## SurveyMonkey, joined to the rest of your business.

One `ask` fetches from SurveyMonkey and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which contacts are in both SurveyMonkey and HaloPSA, and how many are in only one of them?
  `surveymonkey.contacts.bulk_list` + `halopsa.users.list`, on `crm.contact` · [HaloPSA](https://actionlake.com/connectors/halopsa)
- Which contacts are in both SurveyMonkey and NetSuite, and how many are in only one of them?
  `surveymonkey.contacts.bulk_list` + `netsuite.views.contacts`, on `crm.contact` · [NetSuite](https://actionlake.com/connectors/netsuite)

Also mapped by other connectors `identity.group` **239** `crm.contact` **192** `identity.current_user` **142** `identity.role` **107** `content.folder` **38** `identity.group_member` **27** `crm.contact_list` **22**

ask

```
ask {
  intent: "which contacts are in both SurveyMonkey and HaloPSA, and how many are in only one of them",
  steps: [
    { action: "surveymonkey.contacts.bulk_list", as: "people", input: {}, limit: 100, max_pages: 5 },
    { action: "halopsa.users.list", as: "people2", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "people",
        right: "people2",
        on: "crm.contact",
        group_by: "people.email",
        select: ["people.email", "count(people2.id) as in_halopsa"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for SurveyMonkey

## Destructive actions wait for a yes.

15 SurveyMonkey actions are destructive. These are all of them:

- Deletes a contact `surveymonkey.contacts.delete`
- Deletes a contact list `surveymonkey.contact_lists.delete`
- Deletes a webhook `surveymonkey.webhooks.delete`
- Deletes a survey `surveymonkey.surveys.delete`
- Deletes a collector `surveymonkey.collectors.delete`
- Remove the workgroup `surveymonkey.workgroups.delete`
- Deletes a page `surveymonkey.survey_pages.delete`
- Remove a resource from being shared within a workgroup `surveymonkey.workgroup_shares.delete`
- Deletes a member from a workgroup `surveymonkey.workgroup_members.delete`
- Deletes a message `surveymonkey.collector_messages.delete`
- Deletes a response `surveymonkey.collector_responses.delete`
- Deletes a translation `surveymonkey.survey_translations.delete`
- Deletes a question `surveymonkey.survey_page_questions.delete`
- Deletes all the responses from the Collector `surveymonkey.collector_responses.delete_all`
- Deletes a recipient `surveymonkey.survey_collector_recipients.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do surveymonkey.contacts.delete confirm_policy: **human**

Deletes a contact?

**intent:** the user asked me to deletes a contact

run suspended · waiting for a named person · key _surveymonkey-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "surveymonkey-agent",
  allowed_actions: ["surveymonkey.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "surveymonkey.contacts.delete", approver: "lead@example.com" },
    { match: "surveymonkey.contact_lists.delete", approver: "lead@example.com" },
    { match: "surveymonkey.webhooks.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to SurveyMonkey only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What SurveyMonkey costs on actionlake.

Every SurveyMonkey action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call SurveyMonkey refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 143 SurveyMonkey actions
- 143 actions page each page of a long list is one call
- 75 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every SurveyMonkey action.

143 actions by area: the id your agent calls, what it does, and its effect.

**Collector responses 9**

- `surveymonkey.collector_responses.bulk_list` Retrieves a list of full expanded responses, including answers to all questions read
- `surveymonkey.collector_responses.create` Creates a response write
- `surveymonkey.collector_responses.delete` Deletes a response destructive
- `surveymonkey.collector_responses.delete_all` Deletes all the responses from the Collector destructive
- `surveymonkey.collector_responses.details` Retrieve a full expanded response, including answers to all questions read
- `surveymonkey.collector_responses.get` Returns a response read
- `surveymonkey.collector_responses.list` Returns a list of responses read
- `surveymonkey.collector_responses.replace` Replaces a response (same arguments and requirements as POST /surveys/{id}/responses) write
- `surveymonkey.collector_responses.update` Modifies a response (updates any fields accepted as arguments to POST /surveys/{survey_id}/responses) write

**Contact lists 8**

- `surveymonkey.contact_lists.copy` Creates a copy of an existing contact list write
- `surveymonkey.contact_lists.create` Creates a contact list, contacts can be sent survey invite messages using an email invite or sms collector,... write
- `surveymonkey.contact_lists.delete` Deletes a contact list destructive
- `surveymonkey.contact_lists.get` Returns a contact list read
- `surveymonkey.contact_lists.list` Returns all contact lists read
- `surveymonkey.contact_lists.merge` Copies contacts in the list specified in the request body and adds to the list specified in the resource URL write
- `surveymonkey.contact_lists.replace` Replaces a contact list POST (same arguments and requirements as POST/contact_lists) write
- `surveymonkey.contact_lists.update` Modifies a contact list (updates any fields accepted as arguments to POST /contact_lists) write

**Contacts 8**

- `surveymonkey.contacts.bulk_create` Creates multiple contacts, contacts can be sent survey invite messages using an email invite or sms collect... write
- `surveymonkey.contacts.bulk_list` Returns a list of all contacts with all available fields read
- `surveymonkey.contacts.create` Creates a new contact, contacts can be sent survey invite messages using an email invite or sms collector, ... write
- `surveymonkey.contacts.delete` Deletes a contact destructive
- `surveymonkey.contacts.get` Returns a contact read
- `surveymonkey.contacts.list` Returns a list of all contacts read
- `surveymonkey.contacts.replace` Replaces a contact (same arguments and requirements as POST/contacts) write
- `surveymonkey.contacts.update` Modifies a contact (updates any fields accepted as arguments to POST /contacts write

**Surveys 8**

- `surveymonkey.surveys.create` Creates a new empty survey or, if a template id or an existing survey id is specified, a survey prepopulate... write
- `surveymonkey.surveys.delete` Deletes a survey destructive
- `surveymonkey.surveys.details` Returns an expanded survey resource with a pages element containing a list of all page objects, each contai... read
- `surveymonkey.surveys.get` Returns a survey’s details read
- `surveymonkey.surveys.list` Returns a list of surveys owned or shared with the authenticated user read
- `surveymonkey.surveys.replace` Replaces a survey write
- `surveymonkey.surveys.search` GET /surveys/search read
- `surveymonkey.surveys.update` Modifies a survey’s title, nickname or language write

**Collector messages 7**

- `surveymonkey.collector_messages.create` Creates a message write
- `surveymonkey.collector_messages.delete` Deletes a message destructive
- `surveymonkey.collector_messages.get` Returns a message read
- `surveymonkey.collector_messages.list` Returns a message read
- `surveymonkey.collector_messages.replace` Replaces a message (only subject, body_text, body_html, is_branding, and recipient_status if ‘reminder’ or ... write
- `surveymonkey.collector_messages.send` Send or schedule to send an existing message to all message recipients write
- `surveymonkey.collector_messages.update` Modifies a message (only subject, body_text, body_html, is_branding, and recipient_status if ‘reminder’ or ... write

**Survey page questions 7**

- `surveymonkey.survey_page_questions.benchmark` Returns the benchmark for the given question read
- `surveymonkey.survey_page_questions.create` Creates a new question on a survey page, see formatting question types write
- `surveymonkey.survey_page_questions.delete` Deletes a question destructive
- `surveymonkey.survey_page_questions.get` Returns a question read
- `surveymonkey.survey_page_questions.list` Returns a list of questions on a survey page read
- `surveymonkey.survey_page_questions.replace` Replaces a question (same arguments and requirements as POST /surveys/{id}/pages/questions write
- `surveymonkey.survey_page_questions.update` Updates a question (updates any fields accepted as arguments to POST /surveys/{id}/pages/questions write

**Survey pages 6**

- `surveymonkey.survey_pages.create` Creates a new, empty page, see /surveys/{id}/pages/{id}/questions to add questions to pages write
- `surveymonkey.survey_pages.delete` Deletes a page destructive
- `surveymonkey.survey_pages.get` Returns a page’s details read
- `surveymonkey.survey_pages.list` Returns a page’s details read
- `surveymonkey.survey_pages.replace` Replaces a page (same arguments and requirements as POST /surveys{id}/pages) write
- `surveymonkey.survey_pages.update` Modifies a page (updates any fields accepted as arguments to POST /surveys{id}/pages) write

**Survey responses 6**

- `surveymonkey.survey_responses.bulk_list` GET /surveys/{survey_id}/responses/bulk read
- `surveymonkey.survey_responses.details` GET /surveys/{survey_id}/responses/{response_id}/details read
- `surveymonkey.survey_responses.get` GET /surveys/{survey_id}/responses/{response_id} read
- `surveymonkey.survey_responses.list` Returns a list of responses read
- `surveymonkey.survey_responses.replace` PUT /surveys/{survey_id}/responses/{response_id} write
- `surveymonkey.survey_responses.update` PATCH /surveys/{survey_id}/responses/{response_id} write

**Webhooks 6**

- `surveymonkey.webhooks.create` Create a webhook, see below for callback format write
- `surveymonkey.webhooks.delete` Deletes a webhook destructive
- `surveymonkey.webhooks.get` Returns a webhook read
- `surveymonkey.webhooks.list` Returns a list of webhooks read
- `surveymonkey.webhooks.replace` Replaces a webhook (same arguments and requirements as POST /webhooks) write
- `surveymonkey.webhooks.update` Modifies a webhook (updates any fields accepted as arguments to POST /webhooks, except app_installed and ap... write

**Workgroup members 6**

- `surveymonkey.workgroup_members.bulk_create` Creates many new workgroup members write
- `surveymonkey.workgroup_members.create` Creates a new workgroup member write
- `surveymonkey.workgroup_members.delete` Deletes a member from a workgroup destructive
- `surveymonkey.workgroup_members.get` Returns a member read
- `surveymonkey.workgroup_members.list` Returns the members in a workgroup read
- `surveymonkey.workgroup_members.update` Modifies a member (updates any fields accepted as arguments to POST /workgroups/{workgroup_id}/members) write

**Collectors 5**

- `surveymonkey.collectors.delete` Deletes a collector destructive
- `surveymonkey.collectors.get` Returns a collector read
- `surveymonkey.collectors.replace` Replaces a collector (same arguments and requirements as POST/surveys/{survey_id}/collectors, with the addi... write
- `surveymonkey.collectors.stats` GET /collectors/{collector_id}/stats read
- `surveymonkey.collectors.update` Modifies a collector (updates any fields accepted as arguments to POST /surveys/{survey_id}/collectors, wit... write

**Survey translations 5**

- `surveymonkey.survey_translations.create` Creates a translation write
- `surveymonkey.survey_translations.delete` Deletes a translation destructive
- `surveymonkey.survey_translations.get` Returns existing translations or the translation structure read
- `surveymonkey.survey_translations.list` Returns all existing translations read
- `surveymonkey.survey_translations.update` Updates a translation write

**Workgroup shares 5**

- `surveymonkey.workgroup_shares.bulk_create` Add bulk amount of shared resource to the workgroup write
- `surveymonkey.workgroup_shares.create` Add a new shared resource to the workgroup write
- `surveymonkey.workgroup_shares.delete` Remove a resource from being shared within a workgroup destructive
- `surveymonkey.workgroup_shares.get` Returns a resource shared with the user across all workgroups read
- `surveymonkey.workgroup_shares.list` Returns the resources shared with the user across all workgroups read

**Workgroups 5**

- `surveymonkey.workgroups.create` Add a new shared resource to the workgroup write
- `surveymonkey.workgroups.delete` Remove the workgroup destructive
- `surveymonkey.workgroups.get` Returns information on the selected workgroup View Workgroup Shares scope read
- `surveymonkey.workgroups.list` Returns a list of all workgroups that are available read
- `surveymonkey.workgroups.update` Modify information on the workgroup write

**Contact list contacts 4**

- `surveymonkey.contact_list_contacts.bulk_create` Creates multiple contacts and adds them to a list, contacts can be sent survey invite messages using an ema... write
- `surveymonkey.contact_list_contacts.bulk_list` Returns a list of all contacts in the list with all available fields read
- `surveymonkey.contact_list_contacts.create` Creates a new contact and adds them to a contact list, contacts can be sent survey invite messages using an... write
- `surveymonkey.contact_list_contacts.list` Returns all contacts in a contact list read

**Organizations 4**

- `surveymonkey.organizations.create` Initializes workgroups functionality for your organization (group, team) write
- `surveymonkey.organizations.get` Returns properties of your organization you specify that pertain to workgroups functionality read
- `surveymonkey.organizations.list` Returns properties of your organizations (group, team) that pertain to workgroups functionality read
- `surveymonkey.organizations.update` Modifies the workgroups functionality for your organization (group, team) write

**Benchmark bundles 3**

- `surveymonkey.benchmark_bundles.analyze` Returns the benchmark for the given bundle read
- `surveymonkey.benchmark_bundles.get` Returns the questions and details included in a given bundle read
- `surveymonkey.benchmark_bundles.list` Returns a list of benchmark bundles you have access to read

**Collector message recipients 3**

- `surveymonkey.collector_message_recipients.bulk_create` Creates multiple recipients write
- `surveymonkey.collector_message_recipients.create` Creates a new recipient for the specified message write
- `surveymonkey.collector_message_recipients.list` Returns a list of recipients read

**Contact fields 3**

- `surveymonkey.contact_fields.get` Returns the specified custom contact field read
- `surveymonkey.contact_fields.list` Returns a list of all custom contacts fields read
- `surveymonkey.contact_fields.update` Modifies a custom contact field’s label write

**Group members 3**

- `surveymonkey.group_members.get` Returns a group member’s details including their role and status read
- `surveymonkey.group_members.list` Returns a list of users who have been added as members of the specified group read
- `surveymonkey.group_members.update` Update a group members email address write

**Errors 2**

- `surveymonkey.errors.get` Returns the details of a known error read
- `surveymonkey.errors.list` Returns a list of known errors read

**Group activities 2**

- `surveymonkey.group_activities.count_by_interval` Returns a count of a specific activity by interval for the specified group given an action type enum value read
- `surveymonkey.group_activities.list` Returns a list of activity related data for the specified group read

**Groups 2**

- `surveymonkey.groups.get` Returns group information read
- `surveymonkey.groups.list` Returns a list of groups read

**Survey collector recipients 2**

- `surveymonkey.survey_collector_recipients.delete` Deletes a recipient destructive
- `surveymonkey.survey_collector_recipients.get` Returns a recipient read

**Survey collectors 2**

- `surveymonkey.survey_collectors.create` Creates an sms, weblink, email collector or popup collector for a given survey write
- `surveymonkey.survey_collectors.list` Returns a list of collectors for a given survey read

**Survey folders 2**

- `surveymonkey.survey_folders.create` Creates write
- `surveymonkey.survey_folders.list` Returns available folders read

**Survey share 2**

- `surveymonkey.survey_share.create` Create a survey results page link write
- `surveymonkey.survey_share.replace` Update an existing survey results page link write

**Collector recipients 1**

- `surveymonkey.collector_recipients.list` Returns a list of recipients read

**Question bank questions 1**

- `surveymonkey.question_bank_questions.list` Returns a list of question bank questions available to the user read

**Roles 1**

- `surveymonkey.roles.list` Returns the list of user roles in an organization read

**Survey categories 1**

- `surveymonkey.survey_categories.list` Returns a list of survey categories that can be used to filter survey templates read

**Survey collector messages 1**

- `surveymonkey.survey_collector_messages.stats` Returns a stats for a collector’s message read

**Survey languages 1**

- `surveymonkey.survey_languages.list` Returns a list of survey languages that can be used to generate translations for multilingual surveys read

**Survey page question rollups 1**

- `surveymonkey.survey_page_question_rollups.get` GET /surveys/{survey_id}/pages/{page_id}/questions/{question_id}/rollups read

**Survey page question trends 1**

- `surveymonkey.survey_page_question_trends.get` GET /surveys/{survey_id}/pages/{page_id}/questions/{question_id}/trends read

**Survey page rollups 1**

- `surveymonkey.survey_page_rollups.get` GET /surveys/{survey_id}/pages/{page_id}/rollups read

**Survey page trends 1**

- `surveymonkey.survey_page_trends.get` GET /surveys/{survey_id}/pages/{page_id}/trends read

**Survey rollups 1**

- `surveymonkey.survey_rollups.get` Returns rollups for all questions in a survey read

**Survey share list 1**

- `surveymonkey.survey_share_list.get` Return a list of survey results page links generated for the survey with this survey_id read

**Survey templates 1**

- `surveymonkey.survey_templates.list` Returns a list of survey templates read

**Survey trends 1**

- `surveymonkey.survey_trends.get` Returns answer counts for a particular time periods read

**Team survey templates 1**

- `surveymonkey.team_survey_templates.list` Returns a list of team survey templates corresponding to the team to which the calling user belongs read

**User shared 1**

- `surveymonkey.user_shared.list` Returns the resources shared with the user across all workgroups read

**User workgroups 1**

- `surveymonkey.user_workgroups.list` Returns the workgroups that a specific user is in read

**Users 1**

- `surveymonkey.users.me` Returns the current user’s account details including their plan read

Questions

## The SurveyMonkey MCP server, answered.

**Is there a SurveyMonkey MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 143 SurveyMonkey actions across collector responses, contact lists, contacts and surveys, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by SurveyMonkey.

**What do I need to connect SurveyMonkey?**

Your own SurveyMonkey OAuth app, registered with SurveyMonkey (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no SurveyMonkey app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your host. The free call account { op: "connections.requirements", service: "surveymonkey" } lists exactly what to paste.

**Can an AI agent delete or change things in SurveyMonkey?**

Only if its key allows it, and only with an explicit confirmation. 15 SurveyMonkey actions are destructive, including deletes a contact, deletes a contact list and deletes a webhook. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my SurveyMonkey API limit?**

actionlake paces every call to the limits in the SurveyMonkey service file: 120 calls a minute per connection. Repeated reads are answered from cache (75 SurveyMonkey actions can be), which never reaches SurveyMonkey.

**What does a SurveyMonkey action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (143 SurveyMonkey actions page). Cache hits, searches, dry runs and calls SurveyMonkey refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which SurveyMonkey API does it cover?**

The SurveyMonkey API v3 (all 143 documented REST operations; webhook callbacks are receivers and are not actions) at api.surveymonkey.com/v3 by default, or the base URL set when you connect. It is built from SurveyMonkey's documentation as read on 22 October 2026. 143 actions in 45 areas, each one in the signed service file (version 1.0.0).

**Can I combine SurveyMonkey with my other systems?**

Yes. ask joins SurveyMonkey to HaloPSA or NetSuite on the same customer and returns the answer rather than every row. SurveyMonkey maps crm.contact, which 192 other connectors also map.

**Does actionlake keep my SurveyMonkey data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your SurveyMonkey credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like SurveyMonkey

Shares the most action names with

- [SurveySparrow 15](https://actionlake.com/connectors/surveysparrow)
- [Cvent 14](https://actionlake.com/connectors/cvent)
- [Qualtrics XM 14](https://actionlake.com/connectors/qualtrics-xm)
- [Calendly 12](https://actionlake.com/connectors/calendly)
- [Vimeo 8](https://actionlake.com/connectors/vimeo)
- [Frontify 6](https://actionlake.com/connectors/frontify)

Joins with, on shared entities

- [Delinea Secret Server 4](https://actionlake.com/connectors/delinea-secret-server)
- [Canvas LMS 4](https://actionlake.com/connectors/canvas-lms)
- [signNow 4](https://actionlake.com/connectors/signnow)
- [Filevine 4](https://actionlake.com/connectors/filevine)
- [iManage Work 4](https://actionlake.com/connectors/imanage-work)
- [HaloPSA 3](https://actionlake.com/connectors/halopsa)

Browse

- [All Marketing & media connectors](https://actionlake.com/connectors/category/marketing-and-media)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by SurveyMonkey; the name is the vendor's own. Counts are from the SurveyMonkey service file, version 1.0.0.

## Give your agent SurveyMonkey today.

[Connect SurveyMonkey free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/surveymonkey
More: https://actionlake.com/llms.txt
