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
| Scope | Used For |
|---|
authorized_user:read | Displaying the connected Webflow user |
forms:read | Reading form submission context |
sites:read | Listing authorized sites and existing webhooks |
sites:write | Creating 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.
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.
Use this path when the form already exists in Webflow or when the customer wants
full design control inside the Webflow Designer.
- Connect Webflow from
Settings -> Integrations -> Websites & Forms.
- Authorize the Webflow sites that contain the forms.
- Open the connected Webflow card’s settings.
- Choose whether submissions add contacts to all lists or selected lists.
- 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.
Use this path when you want a Sequenzy-owned signup form that can be pasted into
any Webflow page without configuring Webflow form webhooks:
- Open
Settings -> Embed Widget in Sequenzy.
- Build a signup form.
- Choose the
Webflow code tab.
- In Webflow, add an Embed element and paste the HTML.
- 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: