> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webflow Forms

> Connect native Webflow forms to Sequenzy subscribers, lists, events, and automated sequences.

# Webflow Forms

Connect the Sequenzy app to a Webflow site to turn new native form submissions
into Sequenzy subscribers and `webflow.form_submission` events. Sequenzy
registers the required webhook for you; you do not need to paste an endpoint
into Webflow or add custom code to the site.

## Before You Start

You need:

* A Webflow site with at least one native Webflow form
* Permission to authorize that site in Webflow
* A valid email field in each form you want Sequenzy to process
* A published site for the end-to-end test

<Info>
  Capture starts after the Webflow connection finishes. Existing Webflow form
  submissions are not imported.
</Info>

## Connect A Site Or Workspace

### Install From The Webflow Marketplace

1. Install Sequenzy from the Webflow Marketplace.
2. Sign in to Sequenzy or create an account.
3. On Webflow's authorization screen, choose the site or sites Sequenzy may
   access and approve the requested permissions.
4. Return to Sequenzy and wait until the Webflow integration shows **Connected**.
5. Open **Settings → Integrations → Websites & Forms → Webflow → Settings** to
   confirm the connected sites and choose the destination lists.

If you do not have a Sequenzy workspace yet, Sequenzy creates a workspace for
each site authorized during the Marketplace install. If you already manage
multiple Sequenzy workspaces, the install flow first asks which workspace should
receive the Webflow submissions.

### Connect From Sequenzy

1. Open **Settings → Integrations → Websites & Forms**.
2. Find **Webflow** and click **Connect**.
3. Choose the Webflow site or sites on Webflow's authorization screen.
4. Back in Sequenzy, open **Webflow → Settings** and select which of the
   authorized sites should send submissions to this Sequenzy workspace.
5. Choose the subscriber list routing and click **Save**.

Only workspace owners and admins can connect or reconfigure the integration.

## How Forms Are Selected

Site selection controls form capture. Sequenzy registers one
`form_submission` webhook for each selected site, and that webhook receives
submissions from **every native Webflow form on that site**.

* You do not select or map individual forms during setup.
* Adding or renaming a native form does not require reconnecting Sequenzy.
* Forms on an unselected site are not captured.
* Embedded third-party forms and custom forms that bypass Webflow's native form
  submission system do not trigger the Webflow webhook.

## How Form Fields Are Mapped

Sequenzy maps each accepted submission as follows:

| Webflow submission data             | Sequenzy destination         | Behavior                                                                                                                                                                   |
| ----------------------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Email                               | Subscriber email             | Required. Sequenzy checks common email field names, then falls back to the first submitted value that is a valid email address.                                            |
| First name                          | Subscriber first name        | Detected from common names such as `first name`, `firstname`, `first`, and `given name`.                                                                                   |
| Last name                           | Subscriber last name         | Detected from common names such as `last name`, `lastname`, `last`, and `family name`.                                                                                     |
| Site, form, and submission metadata | Subscriber custom attributes | Stored as `provider`, `webflowTriggerType`, `webflowSiteId`, `webflowFormId`, `webflowFormName`, `webflowSubmissionId`, and `webflowSubmittedAt` when provided by Webflow. |
| Every original submitted field      | Event properties             | Preserved under `formData` on the `webflow.form_submission` event, using the original Webflow field names.                                                                 |

Webflow-generated numeric suffixes do not prevent common contact fields from
matching. For example, `email-18`, `first-name-7`, and `last-name-7` map to the
subscriber's email, first name, and last name.

<Note>
  Other form fields are retained in the event's `formData`; they are not copied
  automatically to same-named subscriber custom attributes. Use the event
  payload directly in a sequence or create a Sequenzy sync rule when you want
  event values to update audience data.
</Note>

If the email already belongs to a subscriber in the workspace, Sequenzy fills
missing detected profile data and records a new event instead of creating a
duplicate subscriber. Existing non-empty profile values are preserved.

## Choose Subscriber Lists

Open **Webflow → Settings → Add subscribers to** and choose one of these modes:

* **Workspace defaults** — use the workspace's default subscriber lists. If no
  defaults are configured, Sequenzy uses all current workspace lists.
* **Specific lists** — add the subscriber only to the selected lists.
* **No lists** — create or merge the subscriber without adding list membership.

The `webflow.form_submission` event is still recorded when you choose **No
lists**. Changing this setting affects future submissions and does not remove
existing list memberships.

## `webflow.form_submission` Event

Every accepted submission records an event named
`webflow.form_submission`. Its properties have this shape:

```json theme={null}
{
  "provider": "webflow",
  "webflowTriggerType": "form_submission",
  "webflowSiteId": "65427cf400e02b306eaa049c",
  "webflowFormId": "65429eadebe8a9f3a30f62d0",
  "webflowFormName": "Newsletter",
  "webflowSubmissionId": "6321ca84df3949bfc6752327",
  "webflowSubmittedAt": "2026-07-14T12:35:16.117Z",
  "formData": {
    "First Name": "Ari",
    "Last Name": "Example",
    "Email": "ari@example.com",
    "Plan": "Pro"
  }
}
```

Metadata that Webflow omits is left out. The keys inside `formData` match the
field names sent by Webflow, including capitalization and spaces.

## Trigger A Sequence From A Submission

1. Publish the Webflow site and send one test submission so the event appears
   in Sequenzy.
2. In Sequenzy, create or open a sequence.
3. Set the trigger type to **Event received**.
4. Select `webflow.form_submission` as the event name.
5. Add any conditions you need. For example, use
   `event.formData.Plan` to branch on the submitted `Plan` field or use
   `event.webflowFormId` to limit the sequence to one form.
6. Add the email and action steps, save, test, and activate the sequence.

Because the integration captures every native form on a selected site, event
conditions are the way to create form-specific automations.

## Verify A Submission

1. Confirm the Webflow integration shows **Connected**, with the expected site
   name and no **Needs attention** warning.
2. Submit a published Webflow form using a unique test email address.
3. Open **Subscribers**, search for that email, and open the profile. Confirm
   the mapped first name, last name, custom attributes, and list memberships.
4. Open **Settings → Events** and find `webflow.form_submission`. Its activity
   count should include the test contact.
5. Open the subscriber's activity and inspect the event to confirm `formData`,
   `webflowFormId`, `webflowFormName`, and `webflowSubmittedAt` match the test.

Processing happens in the background and can take a few seconds. If the
subscriber does not appear, check the following:

* The form was submitted on the published site.
* The form belongs to a site selected in **Webflow → Settings**.
* The integration is not showing **Finishing setup** or **Needs attention**.
* The submission contains a valid email address.
* The form is a native Webflow form, not a third-party embed.

## Limitations And Expected Form Structure

* A valid email address is required. Submissions without one are acknowledged
  but do not create a subscriber or a `webflow.form_submission` event.
* Form selection is site-wide; there is no per-form inclusion list in the
  integration settings.
* Only new submissions received after connection are captured. The integration
  does not import historical Webflow form submissions.
* Arbitrary form fields stay in event `formData`; only detected contact fields
  and Webflow metadata are written to the subscriber profile automatically.
* Sequenzy does not change the form, its fields, page design, CMS content,
  custom code, domains, or publish state.

## Why Sequenzy Requests Edit Site Data

Webflow labels the `sites:write` permission as **Edit Site data**. Sequenzy
requires it only to manage the webhook that powers automatic, real-time form
capture:

1. After connection or a site-selection change, Sequenzy calls
   `POST /v2/sites/{siteId}/webhooks` for each selected site.
2. The request creates a `form_submission` webhook whose only configuration is
   the trigger type and the Sequenzy callback URL.
3. When a site is deselected or the integration is disconnected, Sequenzy
   removes only its own matching webhook registration.

Webflow's Create Webhook endpoint requires `sites:write`. Sequenzy does **not**
use this permission to edit pages, Designer content, forms or form fields, CMS
collections, assets, site settings, domains, custom code, or the site's publish
state. Removing the permission would prevent Sequenzy from registering the
signed webhook and would disable the integration's core form-capture behavior.

## Webflow Permissions

| Scope                  | How Sequenzy uses it                                                               |
| ---------------------- | ---------------------------------------------------------------------------------- |
| `authorized_user:read` | Identifies the Webflow user who approved the connection.                           |
| `forms:read`           | Authorizes native form-submission context for the `form_submission` webhook.       |
| `sites:read`           | Lists the sites authorized during OAuth and checks existing webhook registrations. |
| `sites:write`          | Creates the `form_submission` webhook required for automatic capture.              |

Sequenzy verifies the timestamp and signature on OAuth app webhook requests
before accepting them. Disconnecting the integration queues removal of the
Sequenzy-managed webhooks.

## Related Guides

* [Events](/concepts/events)
* [Sequences](/concepts/sequences)
* [Sync Rules](/concepts/sync-rules)
* [Webflow Create Webhook endpoint](https://developers.webflow.com/data/reference/webhooks/create)
