MySQL Help & Support

  • How to Get Started with MySQL
  • Can't Connect to My Database
  • New Rows Don't Trigger!
  • Database Service De-duplication
  • Popular Things To Do With MySQL

How to Get Started with MySQL

About the MySQL Integration#

  • Admin/owner permissions: Yes, must allow Zapier to connect in multiple places (Network, Server, SQL server itself)
  • Custom field support: Yes

Setting up the MySQL Integration#

The hardest part of connecting to MySQL is getting the connection settings right. When connecting a new MySQL account these are the fields you are presented with:

Connect Fields

Host The IP address or hostname ( of where your database instance resides. Make sure it is accessible from outside your network. We send out database connections from three IP address, listed here.

Port 3306 is the default, change it if you're using a non-standard port.

Database Name of the database to read data out of.

Username Username with access to the database. We recommend creating a brand new Zapier-specific user with highly limited permission scope.

Password Similar to the username, make this a unique strong password (check out

SSL Client Certificate and SSL Private Key These are fields you can use if you'd like to use MySQL certificate authorization instead of username/password authorization. Notice that you still need to provide a username since the field is required.

Note: all fields are stored encrypted in our database. Of course, we have the encryption keys on hand but they are stored separately to minimize risk. Nonetheless, we recommend not hooking a production database to Zapier. Instead, set up an intermediary database to connect with Zapier then dump data back to your main production database using some out-of-band process.

Can't Connect to My Database

Database connections can be very fickle. Here are a few things you can re-check:

What version of MySQL are you using?#

The Zapier MySQL integration doesn't currently support version 8.0+ Your database will need to use an earlier version in order to use it with Zapier.

Is your database IP restricted?#

This is useful if you use a non-AWS host, for example: Rackspace, HostGator, Linode, DigitalOcean, etc. Zapier connections currently come from static IP addresses. Zapier will make connections to your database from the following IP address:


Important: Don't forget to do both things: open up your firewall and add the IPs to your user GRANT permissions.

For example, if you wanted to grant SELECT access to a user called zapier on a your_database.your_table in PostgreSQL, you'll need to use the following command:

If you plan to insert, make sure to add the insert statement to the grant:

You might try granting all privileges to verify the Zap is working, then narrow down on just the permissions you actually need.

For PostgreSQL, you'll need to configure the server to accept logins from remote IPs (in pg_hba.conf), and create a user for Zapier to use.

Important: If you are hosting your database on Amazon AWS please follow the steps for using Amazon RDS/EC2 below.

Is your database listening on a public interface?#

Be sure your database isn't bound to only listening to - commonly you want to bind it to or * or remove that restriction completely. Check your my.conf, postgresql.conf or similar configuration.

Using Amazon RDS/EC2 or Heroku?#

You need to make sure we can access the database from

Amazon RDS/EC2#

If you are using Amazon RDS or EC2 for your database, you need to add to your security group.

First, find out if you are on the VPC or Classic Platform.

If you are on the classic platform, navigate to RDS and click "Security Groups" on the left hand navbar. You should see the following:

security groups

Select the security group that you are using for your database instance and add the above IP as a CIDR/IP authorization.


Test your connection and if the steps above were completed correctly you should be good to go!

If you are on the VPC platform, please make sure that it is publicly accessible and within a public subnet in addition to whitelisting the above IP.

See Scenarios for Accessing a DB Instance in a VPC for more details on for both VPC and Classic.

Using Google Cloud Platform (GCP) and CloudSQL?#

If hosting MySQL on GCP you need to add the IP ( to the "Authorised networks" section on the "connections" tab within CloudSQL.

Additional information and instructions here:

Check username, password, SSL certificates#

Check for typos, permissions, and spaces at the end of fields and make sure they are all entered correctly.

Is your database very slow?#

It isn't uncommon to see queries take much too long for Zapier to correctly operate - you should ensure your queries run well under the 30-second limit we impose. Remember, if you are doing WHERE clauses to add indexes on those columns, please be sure your id column has an index as well (normally that is a primary key and is automatic).

New Rows Don't Trigger!

You may setup a Zap and discover that new rows aren't triggering. Or perhaps they were triggering but all of the sudden stopped triggering. What's going on?

You should double check your Zap's filters to make sure you have selected an Order By field. You can find this where you 'edit options' for the MySQL trigger.


It is very important that you select a field here. When we query your database we'll only pull a set number of records at a time (since we cannot pull all of them) and with no field to order by we'll most likely get the default ordering.

Your primary key would be an excellent choice here if it is auto incremented. Creation dates are also good candidates as well. But leaving this field empty could lead your Zap to stop triggering on new rows because it can't see them anymore.

Database Service De-duplication

The "New Row" trigger sees the most recent 50 items which affects how the maximum amount of rows your Zap can trigger on at one time. See deduplication for more information.

A common problem with database services on Zapier is deduplication. You can read more about deduplicate in general, here.

This applies for all the database services on Zapier like MySQL, MSSQL, Postgres, etc.

Zapier deduplicates off of the primary keys on the table you are triggering new items from. If you have multiple primary keys then a concatenation of all of them is used to deduplicate.

The ramification is if you make a sweeping change to the primary keys on your table, you'll inadvertently Trigger tons of things through your Zap. Sometimes this is caught by Zapier's flood protection feature. Nonetheless, you should turn your off Zap before you make changes and turn it On again after the changes have been made. This allows Zapier to establish a new "baseline".

If your table has no primary keys, Zapier will guess which column to use, usually looking for column names with id in it.

I Don't Have A Unique "ID" Column#

If you don't have an id by default, you must create one or return one manually with the query, for example:

Or whatever technique most closely approximates how you want Zapier to consider your rows unique!

Popular Things To Do With MySQL

  • Save Typeform form entries to a MySQL Database

    Typeform + MySQL

    Try It
  • Create Google Sheets rows from new MySQL rows

    MySQL + Google Sheets

  • Add new Facebook Lead Ads respondents to your MySQL database

    Facebook Lead Ads + MySQL

  • Send new Google Sheets rows to a MySQL database

    Google Sheets + MySQL

  • Add subscribers from MySQL into Mailchimp

    MySQL + Mailchimp

  • Copy MySQL rows from custom queries into a Google Sheets spreadsheet

    MySQL + Google Sheets

Connect the apps you use every day

Get started with a Free account

By signing up, you agree to Zapier’s Terms of Service