MySQL
Connect MySQL with Webflow to sync database rows into [Webflow CMS](https://webflow.com/cms) items and store form submissions in relational tables.
A Webflow site cannot open a connection to a relational database. Custom code runs in the visitor's browser, so any MySQL credentials placed there would be visible to every visitor. Webflow exposes no native driver, no connection string field, and no server-side runtime for SQL queries.
An automation platform or a small server-side function holds the database credentials and moves data in both directions. MySQL rows become Webflow CMS items, and form submissions land in relational tables that your other systems can query.
This integration fits agency developers building programmatic listing pages and marketing ops teams routing leads into a SQL pipeline. Data engineers can also use it to mirror site content in a queryable store. E-commerce catalogs, job boards, directories, and membership sites benefit most.
How to integrate MySQL with Webflow
What is MySQL? MySQL is an open source SQL database management system developed, distributed, and supported by Oracle Corporation. It stores data in separate tables organized by rows and columns, and it runs behind many web applications as part of the LAMP stack. Its default storage engine, InnoDB, supports ACID-compliant transactions with commit, rollback, and crash recovery.

Teams pair the two when structured data already lives in MySQL and the public site runs on Webflow. A retailer might publish product rows as CMS pages, or a SaaS company might pipe demo requests from a form into the same tables its sales tooling reads. Webflow has no MySQL Marketplace app and no direct database connection, so every path runs through middleware. The method you pick depends on how fresh the data needs to be and who maintains the connection.
You can connect the two systems three ways:
- CSV import moves MySQL exports into CMS Collections without code.
- Zapier, Make, n8n, and viaSocket automate record-level flows between the two systems.
- The Webflow and MySQL APIs give you full control over sync logic and live data, but require server-side development.
Choose the path based on how often data must sync, how complex the connection is, and who maintains it.
Import MySQL data with CSV files
The lowest-effort path exports a MySQL table to CSV and imports it into a CMS Collection. This works well for one-time migrations and content that changes rarely, such as a directory seeded from an existing database. No middleware, credentials, or code are involved. The Collection items overview covers both importing and exporting Collections as CSV.
To import MySQL data:
- Export the MySQL table as a CSV file using your database client.
- Open the target Collection in Webflow and start a CSV import.
- Map each CSV column to a Collection field and confirm the import.
After import, Webflow treats the rows as CMS Collection items:
- Use Collection List elements to render the items on any page.
- Webflow generates a Collection page for each item for search indexing.
- For moving content between sites with field mapping, use the CMS Collection migration guide.
CSV import is one-directional and manual, so changes in MySQL after the import do not reach the site until you re-export. For continuous updates, use an automation platform instead.
Connect with Zapier, Make, n8n, or viaSocket
Four automation platforms support a direct Webflow and MySQL connection: Zapier, Make, n8n, and viaSocket. Zapier and Make are no-code; n8n builds flows visually but credential setup usually needs technical knowledge. IFTTT has a Webflow service but no MySQL service, so no Webflow and MySQL Applet is possible there.
Available trigger-to-action flows include:
- Webflow New Form Submission → MySQL New Row (Zapier through the prebuilt template).
- MySQL New or Updated Row → Webflow Create Item or Update Item (Zapier).
- Webflow Form Submission or Collection Item Created → MySQL Insert or Insert or Update (n8n).
- MySQL Select → Webflow Create or Update item (n8n).
- Webflow Watch Events → MySQL Insert row into a table (Make).
- Webflow New Form Submission → MySQL Insert Row (viaSocket).
viaSocket offers no MySQL triggers, so flows there run only from Webflow to MySQL. Make's MySQL documentation warns that variables used in queries "are not sanitized" and tells users to sanitize them to prevent SQL injection.
Build with the Webflow Data API and MySQL connectors
Custom server-side code gives you full control over sync direction and transformation logic at the data volume you need. Your server or serverless function holds the MySQL credentials, queries the database through a connector, and talks to Webflow over REST. This path requires development work, but it handles cases the no-code tools cannot, such as complex field mapping or high-volume publishing.
The relevant APIs:
- MySQL Connectors handle direct SQL access from server-side code in Java, Python, .NET, or ODBC-compatible languages.
- Webflow's Data API handles CMS collections and form submissions.
- Webflow webhooks trigger real-time events between systems.
- The MySQL REST Service exposes tables, views, and procedures as HTTPS REST resources.
Authenticate Webflow requests with a Bearer token: site tokens cover single-site internal integrations, while OAuth tokens cover public apps.
Sync MySQL rows to Webflow CMS items
This pattern publishes database records as CMS pages, the core of programmatic catalogs and directories. Your code reads rows from MySQL, then creates or updates items through the Data API v2 at https://api.webflow.com/v2.
To implement the sync:
- Query MySQL through a connector, for example
SELECT * FROM your_tablewith anORDER BYclause for deterministic order. - For each row, call
POST /v2/collections/{collection_id}/itemswithfieldDatacontainingname,slug, and fields matching the collection schema. See the Create Item reference. - Update existing items with
PATCH /v2/collections/{collection_id}/items, passing the item id inside the request body. To update and publish in one call, usePATCH /v2/collections/{collection_id}/items/{item_id}/live. - Call
POST /v2/collections/{collection_id}/items/publishto push staged items live, per the Publish Items reference.
On the MySQL side, INSERT ... ON DUPLICATE KEY UPDATE keeps your source table free of duplicates before each sync run.
Store Webflow form submissions in MySQL
Webhooks push each submission to your endpoint the moment it happens. MySQL itself cannot receive webhooks, so a middleware endpoint receives the payload and writes the row.
To implement the pipeline:
- Register a webhook with
POST /v2/sites/{site_id}/webhooksand includetriggerType: "form_submission"and your endpoint URL, per the webhook creation reference. - Parse the incoming payload; the form_submission event includes
dataas key-value pairs, aschemaarray, andsubmittedAt. - Write the row with
INSERT INTO submissions_table (...) VALUES (...)and useON DUPLICATE KEY UPDATEfor idempotency.
The same pattern extends to CMS sync in the other direction: collection_item_created, collection_item_changed, and collection_item_deleted events carry item payloads your middleware can upsert into MySQL.
Serve live MySQL data on Webflow pages
For real-time data such as inventory counts or user-specific content, client-side JavaScript on the page calls a middleware endpoint that queries MySQL. Add the script through a Code Embed element or through head and body tags. The credentials never leave the server.
To build the bridge:
- Deploy a serverless function that connects to MySQL. Cloudflare Workers support TCP drivers like
mysql2with Hyperdrive for connection pooling. AWS Lambda pairs with Secrets Manager for credentials. Vercel Functions use Fluid Compute withattachDatabasePool. - Add a
fetch()call in your page code that requests data from the function. - Render the JSON response into the page.
As an alternative to SQL drivers in the middleware, the MySQL REST Service can be the data layer. It requires MySQL Server 8.0.39 or later and MySQL Router 9.3.1 or later. It serves GET, POST, PUT, and DELETE over HTTPS per the MRS REST API documentation.
What you can build with the MySQL Webflow integration
Integrating MySQL with Webflow lets you publish and collect relational data at scale without rebuilding your site on a traditional application stack.
- E-commerce product catalogs: Publish inventory, pricing, and product details from MySQL tables as CMS pages, which works for catalogs with thousands of SKUs.
- Programmatic listing pages: Generate an indexable CMS page for each database record. Healthcare staffing marketplace Nursa synced its job database into the CMS. It migrated 40,000 pages in 19 days and scaled a facilities Collection from 16,000 to nearly 33,000 items. Nursa's public case study leaves its backend unnamed, but the CMS-scaling pattern applies to any relational source.
- Lead capture with database routing: Send form submissions into MySQL. Feed automated emails, sales notifications, and CRM records from the same rows using a Zapier template or a webhook pipeline.
- Membership portals: Store user profiles, preferences, and access permissions in MySQL and render personalized member pages through a middleware endpoint.
For more control over real-time queries or two-way sync at production scale, the API path covers those cases with full flexibility. Explore the Webflow CMS API guide to see the request patterns in practice.
Frequently asked questions
No. Webflow cannot open a direct connection to a MySQL database. Your site reaches the data through REST APIs instead, and every integration runs through middleware such as Zapier, Make, n8n, or your own server-side code.
No. Code Embed elements run only HTML, CSS, and JavaScript, all of which execute in the visitor's browser, so any credentials placed there would be visible in network traffic. Use an embed only to call a middleware endpoint that keeps the credentials server-side.
It depends on your plan. The CMS plan supports 2,000 items and the Business plan supports 10,000, so a MySQL table larger than your plan's cap cannot sync in full. For bigger datasets, sync a filtered subset or serve records live through a middleware endpoint instead of importing them; the site plan guide covers plan selection.
Automation platforms are the quickest no-code route. On Zapier or Make, one flow sends MySQL row changes to Webflow's Create Item and Update Item actions, and a second flow sends Webflow changes back, giving you near-real-time sync in both directions. Continuous database-level two-way sync still needs custom code, since no-code tools do not yet offer a live MySQL connector.
Register a
form_submissionwebhook and write each payload to a table. CallPOST /v2/sites/{site_id}/webhookswith your endpoint URL to subscribe, then have your middleware insert each payload as a new row. If you'd rather skip code, a Zapier template for new form submissions creates the MySQL rows automatically.
Description
Sync MySQL rows into Webflow CMS items and write Webflow form submissions back to MySQL tables using Zapier, Make, n8n, or the Webflow Data API with webhooks.
This integration page is provided for informational and convenience purposes only.
Google Docs
Connect Google Docs with Webflow to embed live documents, sync content to CMS Collections, or build custom API publishing pipelines.
Zapier
Connect Zapier with Webflow to automate form routing, CMS updates, and ecommerce order processing across 7,000+ apps.
Pipe dream
Connect Pipedream with Webflow to turn form submissions and CMS changes into automated workflows across thousands of connected apps. Orders can trigger workflows too.

Smartarget Contact Us
Connect Smartarget Contact Us with Webflow to add a floating multi-channel contact widget that lets visitors reach you on WhatsApp, Telegram, email, and 12+ messaging platforms.

CMS Bridge
Connect CMS Bridge with Webflow to sync Airtable records to your CMS collections with record-level control over content states and publishing.

Osmo SVG Import
Connect Osmo SVG Import with Webflow to add fully editable SVG elements to your site without character limits or manual code editing.

Telegram Chat - Contact Us
Connect Telegram Chat - Contact Us to your Webflow site to add a floating Telegram chat widget that lets visitors message you directly from any page.

Form Fields Pro
Connect Form Fields Pro with Webflow to add advanced input types, including searchable selects, date pickers, number range pickers, and file uploaders, to native Webflow forms.

Vault Vision User Authentication
Connect Vault Vision with Webflow to add passwordless login, social sign-in, and per-page access control to any Webflow site without backend code.


