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

> Node: Formstack Trigger (`formstack_trigger`) · Webhook trigger · v1
> Category: Utility · Credentials: Formstack (`formstackApi`)
> Updated: 2026-08-16

# Formstack Trigger

> Trigger on Formstack form submission

## Overview

Triggers a workflow when a respondent submits a Formstack form. Receives the webhook payload from Formstack containing form submission data with field values, field types, the Form ID, and the unique submission ID. Supports a simplify mode that flattens nested field value objects into plain key-value pairs for easy downstream processing. Formstack registers webhooks via its REST API v2 with JSON content type, standardized field values, and field type metadata included.

**Category:** Utility  
**Tool Name:** `formstack_trigger`  
**Version:** 1

**Appearance:** Icon: `si-formstack` | Color: `#21b573`

## Node Type

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

## Input / Output

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

## Credentials

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

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Form ID | `string` | Yes | — | The ID of the Formstack form to monitor for new submissions. Find the form ID in your Formstack dashboard URL or form settings. |
| Simplify | `boolean` | No | `true` | Whether to return a simplified version of the response instead of the raw data. When enabled, nested field value objects like { value: "John", type: "text" } are flattened to just the value ("John"). |

## Output Data

Each submission delivered by Formstack produces one output item. The submitted answers are copied onto the item as top-level properties, and four fields are added:

- `_trigger` — always `formstack_webhook`
- `_timestamp` — ISO 8601 timestamp of when the request arrived
- `_webhookEvent` — always `form_submission`
- `_formId` — the submitted form's ID, taken from the payload's `FormID`
- `_submissionId` — the unique submission ID, taken from the payload's `UniqueID`

Answer keys are the form's field labels wherever the label is known; otherwise they stay in Formstack's raw `field_<id>` form.

With **Simplify** on (the default) each answer is the plain value, so a name field reads `{{ $json["Full Name"] }}`. With Simplify off the answer stays as the object Formstack sent — `{ "value": "John", "type": "text" }` — and is read as `{{ $json["Full Name"].value }}`.

File-upload fields pass through as the storage URL Formstack recorded; they are not downloaded as binary data.

## Usage Examples

- Trigger a workflow when someone submits a contact form on Formstack
- Capture Formstack form submissions and store responses in a database
- Start a workflow when a new application is submitted via Formstack
- Collect form data from Formstack and send notification emails

## Example Configuration

Fire on every submission of one form, with flattened answers:

```json
{
  "type": "formstack_trigger",
  "parameters": {
    "formId": "5551234",
    "simple": true
  }
}
```

Keep the raw field objects, including each answer's field type:

```json
{
  "type": "formstack_trigger",
  "parameters": {
    "formId": "5551234",
    "simple": false
  }
}
```

### 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

Connects to Formstack via webhook. When a respondent submits the specified form, Formstack sends the submission data to this trigger. Configure the Form ID to watch. Enable Simplify mode (default) to flatten nested field value objects into plain values. The trigger receives JSON payloads with standardized field values and field type metadata.