Skip to main content

SurveyMonkey Connector

SurveyMonkey 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

Authenticate using an access token

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.

InputCommentsDefault
RegionThe SurveyMonkey region for the account.us
Access TokenThe long-lived access token from the SurveyMonkey Developer Portal. Found in the app's Settings tab.
API Key (Client ID)The app's Client ID, needed for webhook signature verification.
API Secret (Client Secret)The app's Client Secret, needed for webhook signature verification.

OAuth 2.0

Authenticate using OAuth 2.0

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.integrations.acme.com/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.

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
RegionThe SurveyMonkey region for the account.us
ScopesThe space-delimited OAuth scopes. View all scopessurveys_read responses_read collectors_read contacts_read webhooks_read webhooks_write
Client IDThe Client ID from the SurveyMonkey App.
Client SecretThe Client Secret from the SurveyMonkey App.

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.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Event TypeThe event type to subscribe to.
Object TypeFilter events by object type.
Object IDsList of survey or collector IDs to filter events. Leave empty for all.

Actions

Create Collector

Create a new collector for a survey. Non-weblink collectors require a paid plan.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.
Collector TypeType of collector. Note: Non-weblink collectors may require a paid plan.weblink
Collector NameThe name of the collector.
Thank You MessageMessage shown to respondents after completing the survey.
Close DateDate/time to close the collector (ISO 8601 format).
Redirect URLURL to redirect respondents to after completing the survey.
Allow Multiple ResponsesWhen true, respondents can submit multiple responses.false
Extra Body FieldsAdditional body fields to include in the request as a JSON object.

Create Contact

Create a new contact.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
EmailThe contact's email address.
First NameThe contact's first name.
Last NameThe contact's last name.
Custom FieldsCustom field values as key-value pairs.
Extra Body FieldsAdditional body fields to include in the request as a JSON object.

Create Contact List

Create a new contact list.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Contact List NameThe name of the contact list.

Create Contacts Bulk

Create multiple contacts at once using a JSON array.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
ContactsJSON array of contact objects. Each must have "email", optionally "first_name", "last_name", and "custom_fields".
Update Existing ContactsWhen true, existing contacts will be updated if they exist.false

Create Survey

Create a new survey. Can be blank, from a template, or copied from an existing survey.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey TitleThe display name shown to respondents when they access the survey.
NicknameInternal nickname for the survey (not shown to respondents).
Template IDID of an existing template to copy. Use this OR 'From Survey ID', not both.
From Survey IDID of an existing survey to copy. Use this OR 'Template ID', not both.
LanguageLanguage code for the survey (e.g., 'en', 'es', 'fr').en
Extra Body FieldsAdditional body fields to include in the request as a JSON object.

Create Webhook

Create a new webhook subscription. The URL must be unique and handle HEAD requests.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Webhook NameThe name of the webhook.
Subscription URLURL to receive webhook callbacks. Must be unique and handle HEAD requests.
Event TypeThe event type to subscribe to.
Object TypeFilter events by object type.
Object IDsList of survey or collector IDs to filter events. Leave empty for all.

Delete Collector

Delete a collector.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Collector IDThe unique identifier of the collector.

Delete Contact

Delete a contact.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Contact IDThe unique identifier of the contact.

Delete Contact List

Delete a contact list.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Contact List IDThe unique identifier of the contact list.

Delete Response

Delete a survey response.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.
Response IDThe unique identifier of the response.

Delete Survey

Permanently delete a survey and all its data. This cannot be undone.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.

Delete Webhook

Delete a webhook subscription.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Webhook IDThe unique identifier of the webhook.

Get Collector

Retrieve details about a specific collector.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Collector IDThe unique identifier of the collector.

Get Collector Stats

Get response statistics for a collector.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Collector IDThe unique identifier of the collector.

Get Contact

Retrieve details about a specific contact.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Contact IDThe unique identifier of the contact.

Get Contact List

Retrieve details about a specific contact list.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Contact List IDThe unique identifier of the contact list.

Get Current User

Retrieve information about the currently authenticated user.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.

Get Response

Get summary information about a specific response. Use 'Get Response Details' for full answers.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.
Response IDThe unique identifier of the response.

Get Response Details

Get complete response details including all answers. Requires responses_read_detail scope.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.
Response IDThe unique identifier of the response.

Get Survey

Retrieve summary information about a survey. Use 'Get Survey Details' for full structure.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.

Get Survey Details

Retrieve the complete survey structure including pages and questions.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.

Get Webhook

Retrieve details about a specific webhook.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Webhook IDThe unique identifier of the webhook.

List Collectors

List all collectors for a survey.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.
Fetch AllWhen true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.false
PageThe page number to retrieve (starts at 1).
Per PageThe maximum number of results to return per page. Maximum: 100.

List Contact Lists

List all contact lists in your account.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Fetch AllWhen true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.false
PageThe page number to retrieve (starts at 1).
Per PageThe maximum number of results to return per page. Maximum: 100.

List Contacts

List all contacts in your account.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Fetch AllWhen true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.false
PageThe page number to retrieve (starts at 1).
Per PageThe maximum number of results to return per page. Maximum: 100.

List Responses

List summary information for all responses to a survey.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.
Response StatusFilter responses by status.
Fetch AllWhen true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.false
PageThe page number to retrieve (starts at 1).
Per PageThe maximum number of results to return per page. Maximum: 100.

List Responses Bulk

Bulk export responses with full answer details. More efficient for large exports.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.
Response StatusFilter responses by status.
Fetch AllWhen true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.false
PageThe page number to retrieve (starts at 1).
Per PageThe maximum number of results to return per page. Maximum: 100.

List Surveys

List all surveys accessible to the authenticated user.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Fetch AllWhen true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.false
PageThe page number to retrieve (starts at 1).
Per PageThe maximum number of results to return per page. Maximum: 100.

List Webhooks

List all webhooks in your account.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Fetch AllWhen true, automatically fetches all pages of results using pagination. The API returns up to 100 results per page.false
PageThe page number to retrieve (starts at 1).
Per PageThe maximum number of results to return per page. Maximum: 100.

Raw Request

Send raw HTTP request to SurveyMonkey API.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
URLInput the path only (e.g., /surveys). The base URL is already included based on the configured region (e.g., https://api.surveymonkey.com/v3).
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA 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.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf 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
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Update Collector

Update an existing collector's settings.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Collector IDThe unique identifier of the collector.
Collector NameThe name of the collector.
Thank You MessageMessage shown to respondents after completing the survey.
Close DateDate/time to close the collector (ISO 8601 format).
Redirect URLURL to redirect respondents to after completing the survey.
Allow Multiple ResponsesWhen true, respondents can submit multiple responses.
Extra Body FieldsAdditional body fields to include in the request as a JSON object.

Update Contact

Update an existing contact's information.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Contact IDThe unique identifier of the contact.
EmailThe contact's email address.
First NameThe contact's first name.
Last NameThe contact's last name.
Custom FieldsCustom field values as key-value pairs.
Extra Body FieldsAdditional body fields to include in the request as a JSON object.

Update Contact List

Update a contact list's name.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Contact List IDThe unique identifier of the contact list.
Contact List NameThe name of the contact list.

Update Response

Update response metadata such as status.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Survey IDThe unique identifier of the survey.
Response IDThe unique identifier of the response.
Response PagesPages from the survey and their associated responses.
StatusUpdate the response status.
Custom ValueThe custom metadata value to associate with the response.
Extra Body FieldsAdditional body fields to include in the request as a JSON object.

Update Webhook

Update an existing webhook's settings.

InputCommentsDefault
ConnectionThe SurveyMonkey connection to use.
Webhook IDThe unique identifier of the webhook.
Webhook NameThe name of the webhook.
Subscription URLURL to receive webhook callbacks. Must be unique and handle HEAD requests.
Event TypeThe event type to subscribe to.
Object TypeFilter events by object type.
Object IDsList of survey or collector IDs to filter events. Leave empty for all.