<!-- BusyBot node reference — https://busybot.net/tools/surveymonkey-trigger/ -->

> Node: SurveyMonkey Trigger (`surveymonkey_trigger`) · Webhook trigger · v1
> Category: Productivity · Credentials: SurveyMonkey (`surveyMonkeyApi`)
> Updated: 2026-08-16

# SurveyMonkey Trigger

> Triggers on SurveyMonkey events such as response completions, survey updates, and collector changes

## Overview

Receives webhook notifications from SurveyMonkey when survey-related events occur, such as response completions, survey creation/updates, collector changes, and respondent activity. The trigger supports scoping by survey or collector, and can filter by specific event types. For response_completed events, the trigger can optionally resolve the raw webhook payload into full response data by fetching response details and survey question definitions from the SurveyMonkey API, mapping answer IDs to human-readable question headings and answer values. Supports HMAC-SHA1 signature verification using the clientId and clientSecret. Useful for automating survey response processing, feedback collection workflows, respondent follow-ups, and survey lifecycle management.

**Category:** Productivity  
**Tool Name:** `surveymonkey_trigger`  
**Version:** 1

**Appearance:** Icon: `si-surveymonkey` | Color: `#00bf6f`

## Node Type

**Trigger** — webhook (receives incoming HTTP callbacks)

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | None (trigger node) |
| Output | `Output` |

## Credentials

This tool requires **SurveyMonkey** credentials.
See the [Credentials Guide](https://busybot.net/credentials/survey-monkey-api/) for setup instructions.

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Authentication | `options` | No | `accessToken` | Authentication method to use for SurveyMonkey API calls. |
| | | | | Options: `accessToken`, `oAuth2` |
| Type | `options` | Yes | — | Whether to scope the webhook to surveys or collectors. |
| | | | | Options: `collector`, `survey` |
| Event | `options` | Yes | — | The event type to listen for. |
| | | | | Options: `collector_created`, `collector_deleted`, `collector_updated`, `response_completed`, `response_created` (a respondent begins a survey), `response_deleted`, `response_disqualified`, `response_overquota` (a response is over a survey's quota), `response_updated`, `survey_created`, `survey_deleted`, `survey_updated` |
| Survey IDs | `string` | Yes | — | Comma-separated list of SurveyMonkey survey IDs to monitor. Retrieve from your SurveyMonkey account. _(shown when Type is `survey` and Event is not `survey_created`)_ |
| Survey ID | `string` | Yes | — | The SurveyMonkey survey ID whose collectors will be monitored. _(shown when Type is `collector`)_ |
| Collector IDs | `string` | Yes | — | Comma-separated list of SurveyMonkey collector IDs to monitor. _(shown when Type is `collector`)_ |
| Resolve Data | `boolean` | No | `true` | By default the webhook payload only contains IDs. When enabled, the trigger fetches the full response data from the SurveyMonkey API and resolves question headings to answer values. _(shown when Event is `response_completed`)_ |
| Only Answers | `boolean` | No | `true` | Whether to return only the resolved question/answer map without any other response metadata. _(shown when Resolve Data is `true` and Event is `response_completed`)_ |

## Output Data

Each accepted notification produces one output item describing the event:

- `name` — the name SurveyMonkey stored for the webhook subscription
- `filter_type` / `filter_id` — the object type and ID the subscription is scoped to
- `event_type` — the event that fired, e.g. `response_completed`
- `event_id` — the SurveyMonkey event ID
- `event_datetime` — when SurveyMonkey recorded the event
- `object_type` — the type of object the event is about, e.g. `response`
- `object_id` — the ID of that object
- `resources` — the related IDs SurveyMonkey attaches to the event, typically `survey_id`, `collector_id` and `respondent_id`
- `_trigger` — always `surveymonkey_webhook`
- `_timestamp` — ISO 8601 timestamp of when the notification was received
- `_webhookEvent` — the event type that fired

Any additional fields SurveyMonkey includes in the raw payload are merged onto the same item.

Reference the payload downstream by expression, e.g. `{{ $json.resources.survey_id }}`.

## Usage Examples

- Start a workflow when a survey response is completed in SurveyMonkey
- Trigger an alert when a new survey is created
- Automate follow-ups when a respondent is disqualified
- Sync survey response data to a CRM when a response is submitted

## Example Configuration

Survey response completion with data resolution:

```json
{
  "id": "surveymonkey-trigger",
  "type": "surveymonkey_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "authentication": "accessToken",
    "objectType": "survey",
    "event": "response_completed",
    "surveyIds": "123456789,987654321",
    "resolveData": true,
    "onlyAnswers": false
  }
}
```

Survey response completion with simplified output:

```json
{
  "id": "surveymonkey-trigger",
  "type": "surveymonkey_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "authentication": "oAuth2",
    "objectType": "survey",
    "event": "response_completed",
    "surveyIds": "123456789",
    "resolveData": true,
    "onlyAnswers": true
  }
}
```

Collector creation monitoring:

```json
{
  "id": "surveymonkey-trigger",
  "type": "surveymonkey_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "authentication": "accessToken",
    "objectType": "collector",
    "event": "collector_created",
    "surveyId": "123456789",
    "collectorIds": "111111111,222222222"
  }
}
```

New survey detection — `surveyIds` is not available for this event because the surveys do not exist yet:

```json
{
  "id": "surveymonkey-trigger",
  "type": "surveymonkey_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "authentication": "accessToken",
    "objectType": "survey",
    "event": "survey_created"
  }
}
```

Response started tracking:

```json
{
  "id": "surveymonkey-trigger",
  "type": "surveymonkey_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "authentication": "accessToken",
    "objectType": "survey",
    "event": "response_created",
    "surveyIds": "123456789,987654321"
  }
}
```

### Trigger Behavior

- **Activation:** When the workflow is activated, a webhook endpoint is registered with the service.
- **Deactivation:** The webhook is automatically unregistered when the workflow is deactivated.
- **Payload:** The incoming webhook payload is parsed and output as workflow items.
- **Verification:** Supports signature verification where applicable.

## Tips

Entry point that fires when SurveyMonkey sends a webhook for a subscribed event. Configure the object type (survey or collector), select the event to listen for, and specify which surveys or collectors to monitor. For response_completed events, enable Resolve Data to fetch the full response with question text and answer values from the SurveyMonkey API. Enable Only Answers to return just the question/answer map without response metadata. Webhook payloads are verified using HMAC-SHA1 signatures with the clientId and clientSecret.

### Parameter Relationships

1. **Object Type Dependency**: The `objectType` parameter determines which ID parameters are available:
   - When `objectType` is `"survey"`: `surveyIds` becomes available
   - When `objectType` is `"collector"`: `surveyId` and `collectorIds` become available

2. **Event Type Filtering**:
   - `surveyIds` is hidden when `event` is `"survey_created"` (since new surveys can't be pre-specified)
   - `resolveData` and `onlyAnswers` only appear for `"response_completed"` events

3. **Data Resolution Chain**: `onlyAnswers` is only available when `resolveData` is enabled