Skip to main content

SurveyMonkey Component

Manage surveys, collectors, responses, contacts, and webhooks in SurveyMonkey.

Component key: surveymonkey

Changelog ↓

Description

SurveyMonkey is a leading online survey platform that enables organizations to create surveys, collect responses, and analyze feedback at scale. This component allows interacting with the SurveyMonkey API to manage surveys, collectors, responses, contacts, and webhooks.

API Documentation

This component was built using the SurveyMonkey API v3 Documentation

Connections

Access Token

key: surveyMonkeyAccessToken

To connect to SurveyMonkey using an Access Token, a registered private application in the SurveyMonkey Developer Portal is required.

When to Use Access Token Authentication

Access Token authentication is best suited for private applications that access a single SurveyMonkey account. For multi-user or multi-tenant integrations, OAuth 2.0 is recommended.

Prerequisites

  • A SurveyMonkey account with access to the Developer Portal
  • A Private application registered in the Developer Portal

Setup Steps

  1. Navigate to the SurveyMonkey Developer Portal and sign in.
  2. Click Create New App to register a new application, or select an existing private app.
  3. Set App Type to Private (required for access token generation).
  4. Navigate to the app's Settings tab.
  5. Copy the following values from the app's Settings tab:
    • Access Token: The long-lived token used for API authentication
    • Client ID (also called API Key): Needed for webhook signature verification
    • Client Secret (also called API Secret): Needed for webhook signature verification
Access Token Generation

The Access Token field is only visible for private applications. If the field is not visible, verify that the app type is set to Private in the app settings.

Configure the Connection

  • Enter the Access Token from the app's Settings tab.
  • Enter the API Key (Client ID) for webhook signature verification.
  • Enter the API Secret (Client Secret) for webhook signature verification.
  • Select the Region based on account location:
    • United States: Default for most accounts
    • European Union: For EU-based accounts (uses api.eu.surveymonkey.com)
    • Canada: For Canadian accounts (uses api.surveymonkey.ca)

Verify Connection

After entering the Access Token, API Key, and API Secret, save the connection configuration. The connection can be tested by executing any action, such as Get Current User, to verify authentication is working correctly.

Security Considerations

Access tokens provide full access to the associated SurveyMonkey account. Store tokens securely and rotate them periodically. For production integrations with multiple users, consider using OAuth 2.0 instead.

InputNotesExample
Access Token

The long-lived access token from the SurveyMonkey Developer Portal. Found in the app's Settings tab.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
API Key (Client ID)

The app's Client ID, needed for webhook signature verification.

xxxxxxxxxxxxxxxxxxxxxxxx
API Secret (Client Secret)

The app's Client Secret, needed for webhook signature verification.

Region

The SurveyMonkey region for the account.

us

OAuth 2.0

key: surveyMonkeyOAuth

To connect to SurveyMonkey using OAuth 2.0, a registered application in the SurveyMonkey Developer Portal is required.

Prerequisites

  • A SurveyMonkey account with access to the Developer Portal
  • Appropriate plan level for the required API scopes (some scopes require paid plans)

Setup Steps

  1. Navigate to the SurveyMonkey Developer Portal and sign in.
  2. Click Create New App to register a new application.
  3. Fill in the required fields:
    • App Name: A descriptive name for the application
    • Description: Brief description of the integration's purpose
    • App Type: Select Private for single-organization use or Public for multi-tenant integrations
  4. Under OAuth Settings, configure the redirect URL:
    • Add https://oauth2.prismatic.io/callback as an OAuth Redirect URL
  5. Click Save to create the application.
  6. Copy the Client ID (also called API Key) and Client Secret from the app's Settings tab.

Configure the Connection

  • Enter the Client ID and Client Secret from the SurveyMonkey app.
  • Select the Region based on account location:
    • United States: Default for most accounts
    • European Union: For EU-based accounts (uses api.eu.surveymonkey.com)
    • Canada: For Canadian accounts (uses api.surveymonkey.ca)
  • Configure the Scopes based on the required functionality:
    • For read-only survey and response access:
      surveys_read responses_read collectors_read
    • For full access including webhooks:
      surveys_read responses_read collectors_read contacts_read webhooks_read webhooks_write
    • Refer to SurveyMonkey's OAuth Scopes documentation for all available scopes.
Scope Approval for Public Apps

Some scopes (such as surveys_write and responses_write) require SurveyMonkey approval for public applications. Private apps have access to all scopes by default.

Verify Connection

After saving the connection configuration, click Connect to initiate the OAuth flow. SurveyMonkey will prompt for authorization to grant the requested permissions. After approving, the browser will redirect back to complete the connection. The connection is ready to use once the OAuth flow completes successfully.

InputNotesExample
Authorize URL

The OAuth 2.0 Authorization URL for SurveyMonkey.

https://api.surveymonkey.com/oauth/authorize
Client ID

The Client ID from the SurveyMonkey App.

xxxxxxxxxxxxxxxxxxxxxxxx
Client Secret

The Client Secret from the SurveyMonkey App.

Region

The SurveyMonkey region for the account.

us
Scopes

The space-delimited OAuth scopes. View all scopes

surveys_read responses_read collectors_read contacts_read webhooks_read webhooks_write
Token URL

The OAuth 2.0 Token URL for SurveyMonkey.

https://api.surveymonkey.com/oauth/token

Triggers

Webhook Events

Receive real-time notifications for SurveyMonkey events. Automatically creates and manages a webhook subscription when the instance is deployed, and removes the subscription when the instance is deleted. | key: eventsWebhook

InputNotesExample
Connection

The SurveyMonkey connection to use.

Event Type

The event type to subscribe to.

Object IDs

List of survey or collector IDs to filter events. Leave empty for all.

1234567890
Object Type

Filter events by object type.

The Events Webhook trigger can manage SurveyMonkey webhook subscriptions for an instance. Unlike traditional webhook setups that require manual configuration in the SurveyMonkey dashboard, this trigger handles the entire webhook lifecycle automatically.

When the trigger is used in a flow:

  • On Instance Deploy: Creates a webhook subscription in SurveyMonkey for the selected event type, pointing to the instance's webhook URL.
  • On Instance Reconfiguration: Updates the existing webhook subscription with new event type and filter settings.
  • On Instance Deletion: Removes the webhook subscription associated with the instance's webhook URL.

The trigger includes update logic: if a webhook already exists for the instance (from a previous deployment), it will be updated with the new configuration instead of creating a duplicate.

Supported Event Types

Available Events (12)
Event TypeDescription
response_completedA survey response was completed
response_createdA respondent started a survey
response_updatedA response was modified
response_deletedA response was deleted
response_disqualifiedA respondent was disqualified
response_overquotaA response exceeded quota limits
survey_createdA new survey was created
survey_updatedA survey was modified
survey_deletedA survey was deleted
collector_createdA new collector was created
collector_updatedA collector was modified
collector_deletedA collector was deleted

Configuration Options

  • Event Type: The event type to monitor. Only one event type can be subscribed per instance.
  • Object Type (optional): Filters events by object type (survey or collector).
  • Object IDs (optional): Filters events to specific survey or collector IDs. When specified, only events for those objects trigger the webhook.
Single Subscription Per Instance

Each instance can only maintain one webhook subscription. If multiple event types need monitoring, create separate flows for each event type. The webhook name follows the pattern: [Flow Name]-[unique-id] to ensure uniqueness across instances.

Webhook Signature Verification

SurveyMonkey signs webhook payloads using HMAC-SHA1. The trigger automatically verifies signatures to ensure requests originate from SurveyMonkey.

Headers sent with each webhook request:

HeaderDescription
Sm-ApikeyThe Client ID (API Key) of the application
Sm-SignatureBase64-encoded HMAC-SHA1 signature of the request body

The signature is computed using the format {api_key}&{api_secret} as the signing key. Requests with invalid signatures are rejected with an error.

Signature Verification Requirements

For signature verification to work, the connection must include both the API Key (Client ID) and API Secret (Client Secret). These values are required even when using Access Token authentication.

Webhook Payload Structure

Example Payload
{
"name": "My Webhook",
"filter_type": "survey",
"filter_id": "123456789",
"event_type": "response_completed",
"event_id": "unique-event-id",
"object_type": "response",
"object_id": "987654321",
"event_datetime": "2026-01-21T10:30:00.000000+00:00",
"resources": {
"survey_id": "123456789",
"collector_id": "111222333",
"respondent_id": "444555666",
"recipient_id": "777888999"
}
}
FieldDescription
nameThe name of the webhook subscription
filter_typeThe type of filter applied (survey or collector)
filter_idThe ID of the filtered object
event_typeThe type of event that occurred
event_idUnique identifier for this event
object_typeThe type of object affected (response, survey, or collector)
object_idThe ID of the affected object
event_datetimeISO 8601 timestamp of when the event occurred
resourcesObject containing related resource IDs

Required Scopes

The connection must have the following OAuth scopes to use this trigger:

  • webhooks_read - Required to check for existing webhooks
  • webhooks_write - Required to create and delete webhooks

Troubleshooting

Webhooks not being created:

  • Verify the connection has webhooks_read and webhooks_write scopes.
  • Check that the SurveyMonkey account has API access enabled.

Signature verification failures:

  • Ensure the API Key and API Secret in the connection match the values from the SurveyMonkey Developer Portal.
  • Verify the app credentials have not been regenerated since the connection was configured.

Webhook updates on reconfiguration:

  • When an instance is reconfigured with different settings (e.g., changing the event type), the existing webhook is automatically updated rather than creating a new one.
  • This prevents duplicate subscriptions and maintains a clean webhook setup.

{
"payload": {
"headers": {
"Content-Type": "application/json",
"Sm-Apikey": "your-api-key",
"Sm-Signature": "base64-encoded-hmac-signature"
},
"body": {
"data": {
"name": "My Survey Webhook",
"filter_type": "survey",
"filter_id": "123456789",
"event_type": "response_completed",
"event_id": "unique-event-id-12345",
"object_type": "response",
"object_id": "987654321",
"event_datetime": "2026-01-21T10:30:00.000000+00:00",
"resources": {
"survey_id": "123456789",
"collector_id": "111222333",
"respondent_id": "444555666",
"recipient_id": "777888999"
}
}
},
"rawBody": {
"data": {
"type": "Buffer",
"data": [
123,
34,
110,
97,
109,
101,
34,
58,
34,
77,
121,
32,
83,
117,
114,
118,
101,
121,
32,
87,
101,
98,
104,
111,
111,
107,
34,
44,
34,
102,
105,
108,
116,
101,
114,
95,
116,
121,
112,
101,
34,
58,
34,
115,
117,
114,
118,
101,
121,
34,
44,
34,
102,
105,
108,
116,
101,
114,
95,
105,
100,
34,
58,
34,
49,
50,
51,
52,
53,
54,
55,
56,
57,
34,
44,
34,
101,
118,
101,
110,
116,
95,
116,
121,
112,
101,
34,
58,
34,
114,
101,
115,
112,
111,
110,
115,
101,
95,
99,
111,
109,
112,
108,
101,
116,
101,
100,
34,
44,
34,
101,
118,
101,
110,
116,
95,
105,
100,
34,
58,
34,
117,
110,
105,
113,
117,
101,
45,
101,
118,
101,
110,
116,
45,
105,
100,
45,
49,
50,
51,
52,
53,
34,
44,
34,
111,
98,
106,
101,
99,
116,
95,
116,
121,
112,
101,
34,
58,
34,
114,
101,
115,
112,
111,
110,
115,
101,
34,
44,
34,
111,
98,
106,
101,
99,
116,
95,
105,
100,
34,
58,
34,
57,
56,
55,
54,
53,
52,
51,
50,
49,
34,
44,
34,
101,
118,
101,
110,
116,
95,
100,
97,
116,
101,
116,
105,
109,
101,
34,
58,
34,
50,
48,
50,
54,
45,
48,
49,
45,
50,
49,
84,
49,
48,
58,
51,
48,
58,
48,
48,
46,
48,
48,
48,
48,
48,
48,
43,
48,
48,
58,
48,
48,
34,
44,
34,
114,
101,
115,
111,
117,
114,
99,
101,
115,
34,
58,
123,
34,
115,
117,
114,
118,
101,
121,
95,
105,
100,
34,
58,
34,
49,
50,
51,
52,
53,
54,
55,
56,
57,
34,
44,
34,
99,
111,
108,
108,
101,
99,
116,
111,
114,
95,
105,
100,
34,
58,
34,
49,
49,
49,
50,
50,
50,
51,
51,
51,
34,
44,
34,
114,
101,
115,
112,
111,
110,
100,
101,
110,
116,
95,
105,
100,
34,
58,
34,
52,
52,
52,
53,
53,
53,
54,
54,
54,
34,
44,
34,
114,
101,
99,
105,
112,
105,
101,
110,
116,
95,
105,
100,
34,
58,
34,
55,
55,
55,
56,
56,
56,
57,
57,
57,
34,
125,
125
]
}
},
"queryParameters": {},
"webhookUrls": {
"Flow": "https://hooks.example.io/trigger/abc123"
},
"webhookApiKeys": {
"Flow": [
"api-key-1"
]
},
"customer": {
"id": "customer-123",
"externalId": "ext-customer-123",
"name": "Example Customer"
},
"instance": {
"id": "instance-456",
"name": "SurveyMonkey Integration"
},
"integration": {
"id": "integration-789",
"name": "SurveyMonkey",
"versionSequenceId": "1",
"externalVersion": "1.0.0"
},
"flow": {
"id": "flow-abc",
"name": "Survey Events Flow"
},
"user": {
"id": "user-xyz",
"name": "John Doe",
"email": "john.doe@example.com",
"externalId": "ext-user-xyz"
},
"executionId": "execution-12345",
"startedAt": "2026-01-21T10:30:00.000Z",
"invokeUrl": "https://hooks.example.io/trigger/abc123",
"pathFragment": "",
"globalDebug": false
}
}

Data Sources

Select Collector

A picklist of collectors for the selected survey. | key: selectCollector | type: picklist

InputNotesExample
Connection

The SurveyMonkey connection to use.

Survey ID

The unique identifier of the survey.

1234567890

{
"result": [
{
"label": "Web Link - January (weblink)",
"key": "111111111"
},
{
"label": "Email Campaign (email)",
"key": "222222222"
},
{
"label": "Social Media (social)",
"key": "333333333"
}
]
}

Select Contact List

A picklist of your SurveyMonkey contact lists. | key: selectContactList | type: picklist

InputNotesExample
Connection

The SurveyMonkey connection to use.

{
"result": [
{
"label": "Customer List",
"key": "111111"
},
{
"label": "Employee List",
"key": "222222"
},
{
"label": "VIP Customers",
"key": "333333"
}
]
}

Select Survey

A picklist of your SurveyMonkey surveys. | key: selectSurvey | type: picklist

InputNotesExample
Connection

The SurveyMonkey connection to use.

{
"result": [
{
"label": "Customer Satisfaction Survey",
"key": "123456789"
},
{
"label": "Employee Feedback Q1 2026",
"key": "987654321"
},
{
"label": "Product Research Survey",
"key": "456789123"
}
]
}

Select Webhook Event Type

A picklist of available SurveyMonkey webhook event types. | key: selectWebhookEventType | type: picklist

{
"result": [
{
"label": "Response Completed",
"key": "response_completed"
},
{
"label": "Response Created",
"key": "response_created"
},
{
"label": "Response Updated",
"key": "response_updated"
},
{
"label": "Response Deleted",
"key": "response_deleted"
},
{
"label": "Response Disqualified",
"key": "response_disqualified"
},
{
"label": "Response Over Quota",
"key": "response_overquota"
},
{
"label": "Survey Created",
"key": "survey_created"
},
{
"label": "Survey Updated",
"key": "survey_updated"
},
{
"label": "Survey Deleted",
"key": "survey_deleted"
},
{
"label": "Collector Created",
"key": "collector_created"
},
{
"label": "Collector Updated",
"key": "collector_updated"
},
{
"label": "Collector Deleted",
"key": "collector_deleted"
}
]
}

Actions

Create Collector

Create a new collector for a survey. Non-weblink collectors require a paid plan. | key: createCollector

InputNotesExample
Allow Multiple Responses

When true, respondents can submit multiple responses.

false
Close Date

Date/time to close the collector (ISO 8601 format).

2026-12-31T23:59:59+00:00
Connection

The SurveyMonkey connection to use.

Extra Body Fields

Additional body fields to include in the request as a JSON object.

Collector Name

The name of the collector.

Email Invite - January
Redirect URL

URL to redirect respondents to after completing the survey.

https://example.com/thank-you
Survey ID

The unique identifier of the survey.

1234567890
Thank You Message

Message shown to respondents after completing the survey.

Thank you for your feedback!
Collector Type

Type of collector. Note: Non-weblink collectors may require a paid plan.

weblink

{
"data": {
"id": "333333333",
"name": "New Web Link",
"type": "weblink",
"status": "open",
"date_created": "2026-01-21T10:30:00+00:00",
"date_modified": "2026-01-21T10:30:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/collectors/333333333",
"url": "https://www.surveymonkey.com/r/NEWLINK"
}
}

Create Contact

Create a new contact. | key: createContact

InputNotesExample
Connection

The SurveyMonkey connection to use.

Custom Fields

Custom field values as key-value pairs.

Email

The contact's email address.

john.doe@example.com
Extra Body Fields

Additional body fields to include in the request as a JSON object.

First Name

The contact's first name.

John
Last Name

The contact's last name.

Doe

{
"data": {
"id": "3333333333",
"email": "new.contact@example.com",
"first_name": "New",
"last_name": "Contact",
"href": "https://api.surveymonkey.com/v3/contacts/3333333333"
}
}

Create Contact List

Create a new contact list. | key: createContactList

InputNotesExample
Connection

The SurveyMonkey connection to use.

Contact List Name

The name of the contact list.

Newsletter Subscribers

{
"data": {
"id": "333333",
"name": "New Contact List",
"href": "https://api.surveymonkey.com/v3/contact_lists/333333"
}
}

Create Contacts Bulk

Create multiple contacts at once using a JSON array. | key: createContactsBulk

InputNotesExample
Connection

The SurveyMonkey connection to use.

Contacts

JSON array of contact objects. Each must have "email", optionally "first_name", "last_name", and "custom_fields".

Update Existing Contacts

When true, existing contacts will be updated if they exist.

false

{
"data": {
"succeeded": [
{
"id": "4444444444",
"email": "bulk1@example.com",
"first_name": "Bulk",
"last_name": "User1",
"href": "https://api.surveymonkey.com/v3/contacts/4444444444"
},
{
"id": "5555555555",
"email": "bulk2@example.com",
"first_name": "Bulk",
"last_name": "User2",
"href": "https://api.surveymonkey.com/v3/contacts/5555555555"
}
],
"failed": [],
"invalids": []
}
}

Create Survey

Create a new survey. Can be blank, from a template, or copied from an existing survey. | key: createSurvey

InputNotesExample
Connection

The SurveyMonkey connection to use.

Extra Body Fields

Additional body fields to include in the request as a JSON object.

From Survey ID

ID of an existing survey to copy. Use this OR 'Template ID', not both.

1234567890
Template ID

ID of an existing template to copy. Use this OR 'From Survey ID', not both.

1234567890
Language

Language code for the survey (e.g., 'en', 'es', 'fr').

en
Nickname

Internal nickname for the survey (not shown to respondents).

Q1 2026 CSAT
Survey Title

The display name shown to respondents when they access the survey.

Customer Satisfaction Survey

{
"data": {
"id": "123456789",
"title": "Customer Satisfaction Survey",
"nickname": "Q1 CSAT",
"language": "en",
"question_count": 0,
"page_count": 1,
"date_created": "2026-01-21T10:30:00+00:00",
"date_modified": "2026-01-21T10:30:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789"
}
}

Create Webhook

Create a new webhook subscription. The URL must be unique and handle HEAD requests. | key: createWebhook

InputNotesExample
Connection

The SurveyMonkey connection to use.

Event Type

The event type to subscribe to.

Webhook Name

The name of the webhook.

Response Completed Hook
Object IDs

List of survey or collector IDs to filter events. Leave empty for all.

1234567890
Object Type

Filter events by object type.

Subscription URL

URL to receive webhook callbacks. Must be unique and handle HEAD requests.

https://example.com/webhook

{
"data": {
"id": "333333",
"name": "New Webhook",
"href": "https://api.surveymonkey.com/v3/webhooks/333333",
"event_type": "response_completed",
"object_type": "survey",
"object_ids": [
"123456789"
],
"subscription_url": "https://example.com/new-webhook"
}
}

Delete Collector

Delete a collector. | key: deleteCollector

InputNotesExample
Collector ID

The unique identifier of the collector.

1234567890
Connection

The SurveyMonkey connection to use.

{
"data": {
"success": true
}
}

Delete Contact

Delete a contact. | key: deleteContact

InputNotesExample
Connection

The SurveyMonkey connection to use.

Contact ID

The unique identifier of the contact.

1234567890

{
"data": {
"success": true
}
}

Delete Contact List

Delete a contact list. | key: deleteContactList

InputNotesExample
Connection

The SurveyMonkey connection to use.

Contact List ID

The unique identifier of the contact list.

1234567890

{
"data": {
"success": true
}
}

Delete Response

Delete a survey response. | key: deleteResponse

InputNotesExample
Connection

The SurveyMonkey connection to use.

Response ID

The unique identifier of the response.

5007154402
Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"success": true
}
}

Delete Survey

Permanently delete a survey and all its data. This cannot be undone. | key: deleteSurvey

InputNotesExample
Connection

The SurveyMonkey connection to use.

Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"success": true
}
}

Delete Webhook

Delete a webhook subscription. | key: deleteWebhook

InputNotesExample
Connection

The SurveyMonkey connection to use.

Webhook ID

The unique identifier of the webhook.

1234567890

{
"data": {
"success": true
}
}

Get Collector

Retrieve details about a specific collector. | key: getCollector

InputNotesExample
Collector ID

The unique identifier of the collector.

1234567890
Connection

The SurveyMonkey connection to use.

{
"data": {
"id": "111111111",
"name": "Web Link",
"type": "weblink",
"status": "open",
"date_created": "2026-01-15T10:30:00+00:00",
"date_modified": "2026-01-20T14:45:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/collectors/111111111",
"url": "https://www.surveymonkey.com/r/EXAMPLE"
}
}

Get Collector Stats

Get response statistics for a collector. | key: getCollectorStats

InputNotesExample
Collector ID

The unique identifier of the collector.

1234567890
Connection

The SurveyMonkey connection to use.

{
"data": {
"id": "111111111",
"total": 150,
"started": 200,
"completed": 120,
"partial": 20,
"disqualified": 0,
"unique_clicks": 250
}
}

Get Contact

Retrieve details about a specific contact. | key: getContact

InputNotesExample
Connection

The SurveyMonkey connection to use.

Contact ID

The unique identifier of the contact.

1234567890

{
"data": {
"id": "1111111111",
"email": "john.doe@example.com",
"first_name": "John",
"last_name": "Doe",
"custom_fields": {
"1": "Customer",
"2": "Premium"
},
"href": "https://api.surveymonkey.com/v3/contacts/1111111111"
}
}

Get Contact List

Retrieve details about a specific contact list. | key: getContactList

InputNotesExample
Connection

The SurveyMonkey connection to use.

Contact List ID

The unique identifier of the contact list.

1234567890

{
"data": {
"id": "111111",
"name": "Customer List",
"href": "https://api.surveymonkey.com/v3/contact_lists/111111"
}
}

Get Current User

Retrieve information about the currently authenticated user. | key: getCurrentUser

InputNotesExample
Connection

The SurveyMonkey connection to use.

{
"data": {
"id": "12345678",
"username": "SurveyUser123",
"email": "user@example.com",
"account_type": "premier",
"language": "en",
"date_created": "2020-01-15T08:00:00+00:00",
"date_last_login": "2026-01-21T09:30:00+00:00",
"href": "https://api.surveymonkey.com/v3/users/12345678"
}
}

Get Response

Get summary information about a specific response. Use 'Get Response Details' for full answers. | key: getResponse

InputNotesExample
Connection

The SurveyMonkey connection to use.

Response ID

The unique identifier of the response.

5007154402
Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"id": "5555555555",
"survey_id": "123456789",
"collector_id": "111111111",
"response_status": "completed",
"date_created": "2026-01-20T10:15:00+00:00",
"date_modified": "2026-01-20T10:30:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/responses/5555555555",
"analyze_url": "https://www.surveymonkey.com/analyze/response",
"ip_address": "192.168.1.1",
"recipient_id": "",
"total_time": 300
}
}

Get Response Details

Get complete response details including all answers. Requires responses_read_detail scope. | key: getResponseDetails

InputNotesExample
Connection

The SurveyMonkey connection to use.

Response ID

The unique identifier of the response.

5007154402
Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"id": "5555555555",
"survey_id": "123456789",
"collector_id": "111111111",
"response_status": "completed",
"date_created": "2026-01-20T10:15:00+00:00",
"date_modified": "2026-01-20T10:30:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/responses/5555555555",
"analyze_url": "https://www.surveymonkey.com/analyze/response",
"ip_address": "192.168.1.1",
"recipient_id": "",
"total_time": 300,
"pages": [
{
"id": "111111",
"questions": [
{
"id": "222222",
"answers": [
{
"choice_id": "333333",
"text": "Very Satisfied"
}
]
},
{
"id": "888888",
"answers": [
{
"text": "Great service! Very happy with the experience."
}
]
}
]
}
]
}
}

Get Survey

Retrieve summary information about a survey. Use 'Get Survey Details' for full structure. | key: getSurvey

InputNotesExample
Connection

The SurveyMonkey connection to use.

Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"id": "123456789",
"title": "Customer Satisfaction Survey",
"nickname": "Q1 CSAT",
"language": "en",
"question_count": 10,
"page_count": 3,
"date_created": "2026-01-15T10:30:00+00:00",
"date_modified": "2026-01-20T14:45:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789"
}
}

Get Survey Details

Retrieve the complete survey structure including pages and questions. | key: getSurveyDetails

InputNotesExample
Connection

The SurveyMonkey connection to use.

Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"id": "123456789",
"title": "Customer Satisfaction Survey",
"nickname": "Q1 CSAT",
"language": "en",
"question_count": 2,
"page_count": 1,
"date_created": "2026-01-15T10:30:00+00:00",
"date_modified": "2026-01-20T14:45:00+00:00",
"preview": "https://www.surveymonkey.com/r/Preview/",
"href": "https://api.surveymonkey.com/v3/surveys/123456789",
"pages": [
{
"id": "111111",
"title": "Page 1",
"description": "Welcome to our survey",
"position": 1,
"question_count": 2,
"href": "https://api.surveymonkey.com/v3/surveys/123456789/pages/111111",
"questions": [
{
"id": "222222",
"heading": "How satisfied are you with our service?",
"position": 1,
"family": "single_choice",
"subtype": "vertical",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/pages/111111/questions/222222",
"answers": {
"choices": [
{
"id": "333333",
"position": 1,
"text": "Very Satisfied"
},
{
"id": "444444",
"position": 2,
"text": "Satisfied"
},
{
"id": "555555",
"position": 3,
"text": "Neutral"
},
{
"id": "666666",
"position": 4,
"text": "Dissatisfied"
},
{
"id": "777777",
"position": 5,
"text": "Very Dissatisfied"
}
]
}
},
{
"id": "888888",
"heading": "Any additional comments?",
"position": 2,
"family": "open_ended",
"subtype": "essay",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/pages/111111/questions/888888"
}
]
}
]
}
}

Get Webhook

Retrieve details about a specific webhook. | key: getWebhook

InputNotesExample
Connection

The SurveyMonkey connection to use.

Webhook ID

The unique identifier of the webhook.

1234567890

{
"data": {
"id": "111111",
"name": "Response Webhook",
"href": "https://api.surveymonkey.com/v3/webhooks/111111",
"event_type": "response_completed",
"object_type": "survey",
"object_ids": [
"123456789"
],
"subscription_url": "https://example.com/webhook"
}
}

List Collectors

List all collectors for a survey. | key: listCollectors

InputNotesExample
Connection

The SurveyMonkey connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.

false
Page

The page number to retrieve (starts at 1).

1
Per Page

The maximum number of results to return per page. Maximum: 100.

50
Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"data": [
{
"id": "111111111",
"name": "Web Link",
"type": "weblink",
"status": "open",
"date_created": "2026-01-15T10:30:00+00:00",
"date_modified": "2026-01-20T14:45:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/collectors/111111111"
},
{
"id": "222222222",
"name": "Email Invitation",
"type": "email",
"status": "open",
"date_created": "2026-01-16T09:00:00+00:00",
"date_modified": "2026-01-18T11:30:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/collectors/222222222"
}
],
"page": 1,
"per_page": 2,
"total": 2,
"links": {
"self": "https://api.surveymonkey.com/v3/surveys/123456789/collectors?page=1"
}
}
}

List Contact Lists

List all contact lists in your account. | key: listContactLists

InputNotesExample
Connection

The SurveyMonkey connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.

false
Page

The page number to retrieve (starts at 1).

1
Per Page

The maximum number of results to return per page. Maximum: 100.

50

{
"data": {
"data": [
{
"id": "111111",
"name": "Customer List",
"href": "https://api.surveymonkey.com/v3/contact_lists/111111"
},
{
"id": "222222",
"name": "Employee List",
"href": "https://api.surveymonkey.com/v3/contact_lists/222222"
}
],
"page": 1,
"per_page": 2,
"total": 2,
"links": {
"self": "https://api.surveymonkey.com/v3/contact_lists?page=1"
}
}
}

List Contacts

List all contacts in your account. | key: listContacts

InputNotesExample
Connection

The SurveyMonkey connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.

false
Page

The page number to retrieve (starts at 1).

1
Per Page

The maximum number of results to return per page. Maximum: 100.

50

{
"data": {
"data": [
{
"id": "1111111111",
"email": "john.doe@example.com",
"first_name": "John",
"last_name": "Doe",
"href": "https://api.surveymonkey.com/v3/contacts/1111111111"
},
{
"id": "2222222222",
"email": "jane.smith@example.com",
"first_name": "Jane",
"last_name": "Smith",
"href": "https://api.surveymonkey.com/v3/contacts/2222222222"
}
],
"page": 1,
"per_page": 2,
"total": 2,
"links": {
"self": "https://api.surveymonkey.com/v3/contacts?page=1"
}
}
}

List Responses

List summary information for all responses to a survey. | key: listResponses

InputNotesExample
Connection

The SurveyMonkey connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.

false
Page

The page number to retrieve (starts at 1).

1
Per Page

The maximum number of results to return per page. Maximum: 100.

50
Response Status

Filter responses by status.

Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"data": [
{
"id": "5555555555",
"survey_id": "123456789",
"collector_id": "111111111",
"response_status": "completed",
"date_created": "2026-01-20T10:15:00+00:00",
"date_modified": "2026-01-20T10:30:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/responses/5555555555",
"analyze_url": "https://www.surveymonkey.com/analyze/response",
"ip_address": "192.168.1.1",
"recipient_id": "",
"total_time": 300
},
{
"id": "6666666666",
"survey_id": "123456789",
"collector_id": "111111111",
"response_status": "partial",
"date_created": "2026-01-20T11:00:00+00:00",
"date_modified": "2026-01-20T11:05:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/responses/6666666666",
"total_time": 150
}
],
"page": 1,
"per_page": 2,
"total": 2,
"links": {
"self": "https://api.surveymonkey.com/v3/surveys/123456789/responses?page=1"
}
}
}

List Responses Bulk

Bulk export responses with full answer details. More efficient for large exports. | key: listResponsesBulk

InputNotesExample
Connection

The SurveyMonkey connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.

false
Page

The page number to retrieve (starts at 1).

1
Per Page

The maximum number of results to return per page. Maximum: 100.

50
Response Status

Filter responses by status.

Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"data": [
{
"id": "5555555555",
"survey_id": "123456789",
"collector_id": "111111111",
"response_status": "completed",
"date_created": "2026-01-20T10:15:00+00:00",
"date_modified": "2026-01-20T10:30:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/responses/5555555555",
"pages": [
{
"id": "111111",
"questions": [
{
"id": "222222",
"answers": [
{
"choice_id": "333333",
"text": "Very Satisfied"
}
]
}
]
}
]
}
],
"page": 1,
"per_page": 1,
"total": 1,
"links": {
"self": "https://api.surveymonkey.com/v3/surveys/123456789/responses/bulk?page=1"
}
}
}

List Surveys

List all surveys accessible to the authenticated user. | key: listSurveys

InputNotesExample
Connection

The SurveyMonkey connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.

false
Page

The page number to retrieve (starts at 1).

1
Per Page

The maximum number of results to return per page. Maximum: 100.

50

{
"data": {
"data": [
{
"id": "123456789",
"title": "Customer Satisfaction Survey",
"nickname": "Q1 CSAT",
"href": "https://api.surveymonkey.com/v3/surveys/123456789",
"date_created": "2026-01-15T10:30:00+00:00",
"date_modified": "2026-01-20T14:45:00+00:00"
},
{
"id": "987654321",
"title": "Employee Engagement Survey",
"href": "https://api.surveymonkey.com/v3/surveys/987654321",
"date_created": "2026-01-10T08:00:00+00:00",
"date_modified": "2026-01-18T16:30:00+00:00"
}
],
"page": 1,
"per_page": 2,
"total": 2,
"links": {
"self": "https://api.surveymonkey.com/v3/surveys?page=1"
}
}
}

List Webhooks

List all webhooks in your account. | key: listWebhooks

InputNotesExample
Connection

The SurveyMonkey connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.

false
Page

The page number to retrieve (starts at 1).

1
Per Page

The maximum number of results to return per page. Maximum: 100.

50

{
"data": {
"data": [
{
"id": "111111",
"name": "Response Webhook",
"href": "https://api.surveymonkey.com/v3/webhooks/111111",
"event_type": "response_completed",
"object_type": "survey",
"object_ids": [
"123456789"
],
"subscription_url": "https://example.com/webhook"
},
{
"id": "222222",
"name": "Collector Webhook",
"href": "https://api.surveymonkey.com/v3/webhooks/222222",
"event_type": "collector_created",
"object_type": "survey",
"object_ids": [
"987654321"
],
"subscription_url": "https://example.com/webhook"
}
],
"page": 1,
"per_page": 2,
"total": 2,
"links": {
"self": "https://api.surveymonkey.com/v3/webhooks?page=1"
}
}
}

Raw Request

Send raw HTTP request to SurveyMonkey API. | key: rawRequest

InputNotesExample
Connection

The SurveyMonkey connection to use.

Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

Input the path only (e.g., /surveys). The base URL is already included based on the configured region (e.g., https://api.surveymonkey.com/v3).

/surveys
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false

{
"data": {
"message": "Raw request executed successfully"
}
}

Update Collector

Update an existing collector's settings. | key: updateCollector

InputNotesExample
Allow Multiple Responses

When true, respondents can submit multiple responses.

Close Date

Date/time to close the collector (ISO 8601 format).

2026-12-31T23:59:59+00:00
Collector ID

The unique identifier of the collector.

1234567890
Connection

The SurveyMonkey connection to use.

Extra Body Fields

Additional body fields to include in the request as a JSON object.

Collector Name

The name of the collector.

Email Invite - January
Redirect URL

URL to redirect respondents to after completing the survey.

https://example.com/thank-you
Thank You Message

Message shown to respondents after completing the survey.

Thank you for your feedback!

{
"data": {
"id": "111111111",
"name": "Updated Web Link",
"type": "weblink",
"status": "closed",
"date_created": "2026-01-15T10:30:00+00:00",
"date_modified": "2026-01-21T15:00:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/collectors/111111111"
}
}

Update Contact

Update an existing contact's information. | key: updateContact

InputNotesExample
Connection

The SurveyMonkey connection to use.

Contact ID

The unique identifier of the contact.

1234567890
Custom Fields

Custom field values as key-value pairs.

Email

The contact's email address.

john.doe@example.com
Extra Body Fields

Additional body fields to include in the request as a JSON object.

First Name

The contact's first name.

John
Last Name

The contact's last name.

Doe

{
"data": {
"id": "1111111111",
"email": "john.doe@example.com",
"first_name": "John",
"last_name": "Updated",
"href": "https://api.surveymonkey.com/v3/contacts/1111111111"
}
}

Update Contact List

Update a contact list's name. | key: updateContactList

InputNotesExample
Connection

The SurveyMonkey connection to use.

Contact List ID

The unique identifier of the contact list.

1234567890
Contact List Name

The name of the contact list.

Newsletter Subscribers

{
"data": {
"id": "111111",
"name": "Updated Customer List",
"href": "https://api.surveymonkey.com/v3/contact_lists/111111"
}
}

Update Response

Update response metadata such as status. | key: updateResponse

InputNotesExample
Connection

The SurveyMonkey connection to use.

Custom Value

The custom metadata value to associate with the response.

Extra Body Fields

Additional body fields to include in the request as a JSON object.

Response ID

The unique identifier of the response.

5007154402
Response Pages

Pages from the survey and their associated responses.

Status

Update the response status.

Survey ID

The unique identifier of the survey.

1234567890

{
"data": {
"id": "5555555555",
"survey_id": "123456789",
"collector_id": "111111111",
"response_status": "completed",
"date_created": "2026-01-20T10:15:00+00:00",
"date_modified": "2026-01-21T16:00:00+00:00",
"href": "https://api.surveymonkey.com/v3/surveys/123456789/responses/5555555555"
}
}

Update Webhook

Update an existing webhook's settings. | key: updateWebhook

InputNotesExample
Connection

The SurveyMonkey connection to use.

Event Type

The event type to subscribe to.

Webhook Name

The name of the webhook.

Response Completed Hook
Object IDs

List of survey or collector IDs to filter events. Leave empty for all.

1234567890
Object Type

Filter events by object type.

Subscription URL

URL to receive webhook callbacks. Must be unique and handle HEAD requests.

https://example.com/webhook
Webhook ID

The unique identifier of the webhook.

1234567890

{
"data": {
"id": "111111",
"name": "Updated Response Webhook",
"href": "https://api.surveymonkey.com/v3/webhooks/111111",
"event_type": "response_completed",
"object_type": "survey",
"object_ids": [
"123456789",
"987654321"
],
"subscription_url": "https://example.com/updated-webhook"
}
}

Changelog

2026-02-05

Initial release of the SurveyMonkey component with comprehensive integration capabilities:

  • Added OAuth 2.0 and Access Token connections with regional support (US, EU, Canada)
  • Added 36 actions across 8 resource categories including surveys, collectors, responses, contacts, contact lists, webhooks, users, and raw request
  • Added 4 data sources: Select Survey, Select Collector, Select Contact List, and Select Webhook Event Type