SurveyMonkey Component
Manage surveys, collectors, responses, contacts, and webhooks in SurveyMonkey.
Component key: surveymonkey
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: surveyMonkeyAccessTokenTo connect to SurveyMonkey using an Access Token, a registered private application in the SurveyMonkey Developer Portal is required.
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
- Navigate to the SurveyMonkey Developer Portal and sign in.
- Click Create New App to register a new application, or select an existing private app.
- Set App Type to Private (required for access token generation).
- Navigate to the app's Settings tab.
- 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
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.
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.
| Input | Notes | Example |
|---|---|---|
| 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: surveyMonkeyOAuthTo 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
- Navigate to the SurveyMonkey Developer Portal and sign in.
- Click Create New App to register a new application.
- 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
- Under OAuth Settings, configure the redirect URL:
- Add
https://oauth2.prismatic.io/callbackas an OAuth Redirect URL
- Add
- Click Save to create the application.
- 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.
- For read-only survey and response access:
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.
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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 Type | Description |
|---|---|
response_completed | A survey response was completed |
response_created | A respondent started a survey |
response_updated | A response was modified |
response_deleted | A response was deleted |
response_disqualified | A respondent was disqualified |
response_overquota | A response exceeded quota limits |
survey_created | A new survey was created |
survey_updated | A survey was modified |
survey_deleted | A survey was deleted |
collector_created | A new collector was created |
collector_updated | A collector was modified |
collector_deleted | A 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 (
surveyorcollector). - Object IDs (optional): Filters events to specific survey or collector IDs. When specified, only events for those objects trigger the webhook.
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:
| Header | Description |
|---|---|
Sm-Apikey | The Client ID (API Key) of the application |
Sm-Signature | Base64-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.
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"
}
}
| Field | Description |
|---|---|
name | The name of the webhook subscription |
filter_type | The type of filter applied (survey or collector) |
filter_id | The ID of the filtered object |
event_type | The type of event that occurred |
event_id | Unique identifier for this event |
object_type | The type of object affected (response, survey, or collector) |
object_id | The ID of the affected object |
event_datetime | ISO 8601 timestamp of when the event occurred |
resources | Object 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 webhookswebhooks_write- Required to create and delete webhooks
Troubleshooting
Webhooks not being created:
- Verify the connection has
webhooks_readandwebhooks_writescopes. - 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Connection | The SurveyMonkey connection to use. | |
| Custom Fields | Custom field values as key-value pairs. | |
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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Connection | The SurveyMonkey connection to use. | |
| Contact ID | The unique identifier of the contact. | 1234567890 |
| Custom Fields | Custom field values as key-value pairs. | |
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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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