Skip to main content

Webflow Integration

Sequenzy is building a native Webflow Data Client app. The v1 decision is to start with OAuth, register signed Webflow form_submission webhooks, and turn each submission into a subscriber plus a webflow.form_submission event.
The Webflow dashboard card is currently a beta connection surface. Use it with a Webflow Developer Workspace app and a test site before submitting for marketplace review.

What V1 Does

  • Connects through Webflow OAuth as a Data Client app
  • Requests the minimum v1 scopes needed for forms and webhook registration
  • Registers form_submission webhooks for connected Webflow sites
  • Verifies x-webflow-timestamp and x-webflow-signature on every webhook
  • Adds or merges the submitted email as a Sequenzy subscriber
  • Lets you route captured contacts to all lists, selected lists, or no lists
  • Triggers webflow.form_submission with the Webflow form data
  • Queues webhook cleanup when the integration is disconnected

Required Webflow Scopes

ScopeUsed For
authorized_user:readDisplaying the connected Webflow user
forms:readReading form submission context
sites:readListing authorized sites and existing webhooks
sites:writeCreating form_submission webhooks
These scopes must be configured in the Webflow app settings and must match the OAuth install URL. Webflow rejects installs when the URL asks for scopes that are not approved for the app.

Environment Variables

Set these in the app and worker environments:
WEBFLOW_CLIENT_ID=...
WEBFLOW_CLIENT_SECRET=...
NEXT_PUBLIC_APP_URL=https://www.sequenzy.com
NEXT_PUBLIC_API_URL=https://api.sequenzy.com
The OAuth callback is:
https://www.sequenzy.com/api/integrations/webflow/callback
Use this Marketplace app install URL:
https://www.sequenzy.com/integrations/webflow/install
The install page routes signed-in users to the correct Sequenzy company before starting Webflow OAuth. The lower-level OAuth route remains available for the in-app Settings -> Integrations connection flow when a company ID is already known. The webhook receiver is:
https://api.sequenzy.com/api/webhooks/webflow/{companyId}

Webhook Security

Webflow sends signed webhook requests with:
  • x-webflow-timestamp
  • x-webflow-signature
For OAuth app-created webhooks, Sequenzy verifies the signature using WEBFLOW_CLIENT_SECRET, the raw request body, and Webflow’s timestamp plus body HMAC format. Requests older than 5 minutes are rejected to reduce replay risk.

Form Data Mapping

Sequenzy looks for an email field by common field names such as email, email address, and e-mail address. If no exact field name is present, it falls back to the first submitted value that looks like an email address. Common first and last name field names are also detected. All original form fields are stored on the webflow.form_submission event under formData.

Native Webflow Form Capture

Use this path when the form already exists in Webflow or when the customer wants full design control inside the Webflow Designer.
  1. Connect Webflow from Settings -> Integrations -> Websites & Forms.
  2. Authorize the Webflow sites that contain the forms.
  3. Open the connected Webflow card’s settings.
  4. Choose whether submissions add contacts to all lists or selected lists.
  5. Submit a published Webflow form with an email field.
Sequenzy keeps Webflow as the form system of record, receives the signed form_submission webhook, adds or merges the subscriber, and records a webflow.form_submission event for automation triggers and segmentation.

Signup Form Embed Option

Use this path when you want a Sequenzy-owned signup form that can be pasted into any Webflow page without configuring Webflow form webhooks:
  1. Open Settings -> Embed Widget in Sequenzy.
  2. Build a signup form.
  3. Choose the Webflow code tab.
  4. In Webflow, add an Embed element and paste the HTML.
  5. Publish the site.
See Signup Form Widget for the embed flow.

QA Checklist

For local OAuth and webhook testing, expose both the frontend and API through a single HTTPS tunnel by running the local Webflow proxy.
bun run dev
bun run dev:api
bun run dev:workers
bun .context/webflow/local-webflow-proxy.ts
ngrok http --url=YOUR_NGROK_DOMAIN 8787
Set the Webflow app redirect URI to:
https://YOUR_NGROK_DOMAIN/api/integrations/webflow/callback
Then connect Webflow from Settings -> Integrations -> Websites & Forms, choose a workspace with a test site, publish a Webflow form with an email field, and submit the published form. Sequenzy should create or merge a subscriber and record a webflow.form_submission event.

External Setup Still Required

Before this can be reviewed end to end, you need:
  • A Webflow Developer Workspace
  • A registered Webflow Data Client app
  • Approved scopes listed above
  • A test Webflow site with at least one published form
  • Marketplace submission details if this will be distributed publicly
Official Webflow references: