Resources · Zapier integration

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

Overview

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.

Vocabulary

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.
Cost

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

Connect MySQL to Zapier in 3 steps

  1. 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.

  2. 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.

  3. 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.

First Zap

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Triggers

The 5 MySQL triggers

5 events start a Zap when something happens in MySQL. Zapier checks for them at the interval your plan allows.

1

New Column

Polling trigger

In 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.

How it fires
Zapier goes and looks at regular intervals, and how often depends on your plan: every 15 minutes on the free one
When to use it
a data lead wants a message to the analytics team whenever a developer adds a field to the customers table.
Watch out
the Table/View field is required, so one Zap only watches one table.
2

New Row

Polling trigger

In 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.

How it fires
Zapier goes and looks at regular intervals, and how often depends on your plan: every 15 minutes on the free one
When to use it
an online shop sends each new order row to its accounting or shipping process.
Watch out
the table needs a unique primary key, ideally auto-incremented; without it Zapier guesses a random column to sort out new rows from old ones.
3

New Row (Custom Query)

Polling trigger

In 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.

How it fires
Zapier goes and looks at regular intervals, and how often depends on your plan: every 15 minutes on the free one
When to use it
a finance team only wants invoices that are both unpaid and overdue.
Watch out
results need a unique id field, your own ordering and limit, a run time under 30 seconds, and ideally no more than 5000 rows.
4

New Table

Polling trigger

In 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.

How it fires
Zapier goes and looks at regular intervals, and how often depends on your plan: every 15 minutes on the free one
When to use it
an IT manager wants a log entry each time a new table is created, for instance for a new client environment.
Watch out
it reports the table, not its content; use New Row on that table afterwards to follow what goes into it.
5

New or Updated Row

Polling trigger

In 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.

How it fires
Zapier goes and looks at regular intervals, and how often depends on your plan: every 15 minutes on the free one
When to use it
a sales team mirrors every change to a customer record in its CRM.
Watch out
if a later step writes back into the same table, each update fires the Zap again, and the loop eats your tasks.
Actions

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.

1

New Row

Action

In Zapier“Adds a new row.”

Inserts a row into the table you choose, with each column filled from earlier steps of the Zap.

When to use it
a marketing team logs every form lead into a MySQL table that feeds its dashboards.
Watch out
do not write into the table a New Row or New or Updated Row trigger watches in the same Zap, or it restarts itself.
2

Update Row

Action

In 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.

When to use it
a subscription business marks a customer as churned when the cancellation arrives from billing.
Watch out
ID Column is required, so the Zap must know the exact row; a Find Row step usually comes first.
Searches

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.

1

Find Row

Search

In 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.

When to use it
before Update Row, to find the customer that matches an email coming from a form.
Watch out
Lookup Column is required; choose a column whose values are unique, or the first match may be the wrong row.
2

Find Row via Custom Query

Search

In 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.

When to use it
an operations team wants the latest open ticket of a customer, not just any ticket.
Watch out
add your own ordering and a limit, usually 1 record, and keep the run time under about 30 seconds.

The three settings every search exposes

  1. 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.
  2. 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.
  3. 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 it breaks

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

Need help automating MySQL with Zapier?

A person reads every message.

FAQ

MySQL Zapier integration: frequent questions

01Is the MySQL Zapier integration free?
No. MySQL is a premium app on Zapier, reserved for paid plans and the free trial. The free plan, with its 100 tasks per month and two-step Zaps, cannot use it at all. On a paid plan, the billing logic is the usual one: the trigger and its checks cost nothing, each successful action costs one task. Check the plan before you design anything around MySQL, since the free plan stops you at the first step.
02How many tasks does a MySQL Zap use?
One task per action that succeeds, nothing for the trigger. Zapier can check your table as often as the plan allows without spending anything. A Zap that copies each new order into a reporting table uses one task per order. If it first finds a row and then updates it, the update is the billed action. A failed action is not counted, which helps while you tune a query or fix a column mapping.
03Does MySQL on Zapier work in real time?
No, all five MySQL triggers are polling triggers. Zapier asks the database for new items at a fixed interval and keeps only what it has not seen before. That interval depends on the plan: 2 minutes on Professional, 1 on Team and Enterprise. On paid plans the interval can be changed, and a check can be run by hand from the editor when you need it sooner. The editor shows no lightning bolt on these Zaps.
04What does it take to connect MySQL to Zapier?
A MySQL database you can reach and a paid Zapier plan or a free trial. From the Apps page, click + Add connection, choose MySQL, sign in on the tab that opens and grant access. You need read or write rights on the tables the Zap will touch if you do not own them. If it fails, Zapier's help article on database connection problems is the first stop, before you touch the Zap itself.
05Why does the MySQL New Row trigger need a primary key?
Because that is how it tells rows apart. Zapier expects at least one unique primary key, usually auto-incremented, to know which rows it has already seen. Without one, it makes a best guess on a random column, and deduplication then depends on how good that guess is. Add a proper primary key, or use New Row (Custom Query) and return a unique id field. Zapier's article Database service deduplication covers the topic.
06What if the MySQL operation needed is not in the list?
Then the two custom query operations are the way round it. New Row (Custom Query) lets you decide exactly which rows start a Zap, and Find Row via Custom Query lets you look up a row with any condition you can write. Both need ordering and limiting in the query and must run in about 30 seconds. There is no delete action, so removing rows has to happen outside this integration.
07Zapier, Make or n8n for MySQL?
It depends on criteria, not on a winner. On Zapier, MySQL is a premium app with five polling triggers, two actions and two searches, and it bills one task per successful action on a paid plan. The questions to ask any platform are the same: does it need a paid plan for a database, how quickly does it see new rows, and can it run your own queries. The comparison pages on this site set the three side by side.