MySQL Zapier integrationAutomate MySQL with Zapier.
The MySQL Zapier integration gives you 5 triggers, 2 actions and 2 searches. Zapier watches your tables for new rows, columns or tables, writes and updates rows, and finds a row by a column or a custom query, all on a paid plan.
Premium app Zapier reserves this app to its paid plans.
Verified Trustpilot reviews · AI, automation & growth agency
What the MySQL Zapier integration actually does
Connecting MySQL to Zapier turns your database into something other tools can react to and write into, without a developer writing a script for each case. A row appears, Zapier notices it on its next check, and the Zap carries that data to the next step.
Three typical results, each tied to a real operation. A copy of each new order in a reporting table: New Row watches the orders table, and the action New Row writes a cleaned-up line elsewhere. A status kept up to date: Find Row locates the customer by email, then Update Row changes the field that matters. An alert on a precise subset: New Row (Custom Query) only fires on the rows your own query returns, say unpaid invoices past their due date.
Now what Zapier does not do with MySQL. Every trigger is a polling trigger: nothing fires the instant a row is written, and on the lowest paid plans that matters. There is no delete action. And MySQL is a premium app, reserved for paid plans and the free trial, so the free plan is out from the start.
If the plan cost weighs on the choice, the n8n vs Zapier comparison sets out the criteria, and the Zapier alternatives page lists the other options.
Zapier vocabulary in one minute
Eight words come back on every Zapier page. Here they are, explained once in plain English.
- Zap
- The automation you build on Zapier: one trigger, then one or more actions that run every time the trigger event happens.
- Trigger
- The event in an app that starts the Zap, like a new row in a table. Once the Zap is on, Zapier waits for it.
- Action
- What the Zap does once it has started: the step that writes, sends or moves something for you.
- Task
- The unit Zapier bills: one action your Zap completes successfully. The count on your plan is a count of those.
- Polling vs instant
- Zapier checks a polling trigger on a timer. An instant trigger is reported by the app itself. All 5 MySQL triggers are polling.
- Filter
- A step that lets the Zap go on only when what arrived meets the condition you set, and stops it otherwise.
- Search step
- A step that looks up something that already exists in an app, so the steps after it can use what it found.
- Premium app
- An app Zapier reserves for paid plans and free trials. MySQL is one, so it never runs on the free plan.
What a MySQL Zap really costs
MySQL is a premium app on Zapier: it is reserved for paid plans and the free trial. Once that is settled, the task count follows simple rules.
- Premium appYes: paid plans and free trial only
- Trigger checksFree, however often
- Billed per run1 task per successful action
- Instant triggersNone: all 5 are polling
The trigger never costs a task, and neither do the checks Zapier runs on your tables, however often they happen. Each action that succeeds counts as one task: a Zap that finds a row and then updates it bills the update, not the polling. A failed action is not counted. On a paid plan, filters and searches are available, so multi-step Zaps are the norm here. How fast a new row is seen depends on the plan's polling interval.
Connect MySQL to Zapier in 3 steps
- 01
Open your connected apps
In Zapier, go to the Apps page and click + Add connection. You need access to the MySQL database, with read or write rights on any table you do not own and want the Zap to touch.
- 02
Choose MySQL
Search for MySQL in the dialog, select it, then click Add connection. A new tab opens on the MySQL side, and that is where you sign in to the database account.
- 03
Sign in and grant access
Sign in to MySQL in that tab and grant Zapier access. The connection is saved once, then reused by every MySQL step of every Zap. If it refuses, Zapier's help center has a dedicated article on database connection problems.
Your first Zap: copy paid orders into a reporting table
GoalEach new order row with a paid status is copied as a new row into a separate reporting table.
- 01
Create the Zap and pick New Row
Start a new Zap, choose MySQL and the New Row trigger, then select the orders table in Table/View. Only one table per trigger.
- 02
Test the trigger
Run the test. Zapier brings back the three most recent rows of that table, so you map the next steps from a real, complete order.
- 03
Add a filter
Click the plus icon, choose Filter, then fill the three boxes: the status column, a text rule, and the value paid. Text rules only work on text.
- 04
Add the New Row action
Add MySQL with the New Row action, pick the reporting table, and map each column from the order row the trigger returned.
- 05
Test, then publish
Test the action, check the new line in the reporting table, then click Publish. Never point the action at the table the trigger watches.
The 5 MySQL triggers
5 events start a Zap when something happens in MySQL. Zapier checks for them at the interval your plan allows.
New Column
Polling triggerIn Zapier“Triggers when you add a new column.”
Starts the Zap when a column is added to a table or view you choose, which is a way to keep an eye on schema changes without opening the database.
New Row
Polling triggerIn Zapier“Triggers when you add a new row.”
Fires once for each row added to the table or view you pick, handing every column of that row to the next steps.
New Row (Custom Query)
Polling triggerIn Zapier“Triggers when new rows are returned from a custom query that you provide. Advanced Users Only.”
Runs a query you write and starts the Zap for each new row it returns, so the trigger fires only on the exact subset you care about. Zapier labels it for advanced users.
id field, your own ordering and limit, a run time under 30 seconds, and ideally no more than 5000 rows.New Table
Polling triggerIn Zapier“Triggers when you add a new table.”
Reports each new table that appears in the connected database, a simple way to know when the structure grows.
New or Updated Row
Polling triggerIn Zapier“Triggers when a new row is added or modified.”
Fires both when a row is added and when an existing row changes, which makes it the trigger to use for keeping another tool in sync.
The 2 MySQL actions
MySQL gives you 2 actions. For each one: what it does for you, when to reach for it, and what to watch out for.
New Row
ActionIn Zapier“Adds a new row.”
Inserts a row into the table you choose, with each column filled from earlier steps of the Zap.
Update Row
ActionIn Zapier“Updates an existing row.”
Changes an existing row in place, so a status, an amount or a date follows what happened in another tool.
The 2 MySQL searches, and what happens when nothing matches
2 search steps look for data that already exists in MySQL, so a later step can use it.
A search step looks up a row that already exists and hands it to the next step. In the editor, searches sit at the bottom of the Action event list, under SEARCH. Three settings decide what happens next.
Find Row
SearchIn Zapier“Finds a row in a table via a lookup column.”
Looks up a row by the value of one column you pick, such as an email or an order number, and passes the whole row on.
Find Row via Custom Query
SearchIn Zapier“Finds a row in a table via a custom query you control.”
Finds a row with a query you write yourself, for lookups that need a join, a date range or several conditions at once.
The three settings every search exposes
- Successful if no search results are found?Left on its default, a search that finds no row stops the Zap there and skips the steps that depended on it. Switched on, the Zap carries on empty-handed.
- Create X if it doesn't exist yet?On apps that offer it, this box turns a search into a find-or-create. Neither MySQL search has that variant: add a New Row action yourself if a row may be missing.
- If multiple search results are found?Three ways out when several rows match: keep the first one, which is the default, stop the Zap, or hand all of them on at once.
When a MySQL Zap breaks
Database Zaps fail in a handful of predictable ways. Zapier attaches three help articles to MySQL, including one on deduplication and one on connection problems.
Six cases cover most of it. Each one has a clear cause, and most are settled before publishing. The Zapier troubleshooting page walks through the general method.
The connection is refused
Zapier's help center has a dedicated article on databases it cannot reach. Start there when the connection step fails before any Zap even runs.Rows are not told apart properly
Zapier tells new rows from old ones with a unique key. Without a primary key, or an id in a custom query, it makes a best guess on a random column to deduplicate. See Database service deduplication.The custom query times out
A custom query must run in less than 30 seconds. Add a limit and an ordering to the query, and stay under the recommended 5000 rows.Existing rows are ignored
A Zap only reacts to rows written after it is switched on. The rows already in the table are never processed: moving that backlog is a separate job.A Zap that triggers itself
Writing into the very table a trigger watches sets the Zap off again and again, and it burns through your task count fast.A bulk import is held back
After a migration or a big import, a trigger can suddenly return a huge batch. Zapier's flood protection may hold it instead of running them all.
Need help automating MySQL with Zapier?
A person reads every message.



