How to set up automatic external backups for Airtable in 20 minutes


#1

Hi folks,

A few weeks back we shared a show and tell about a custom zapier connector for automating the Airtable environment, and the feedback has been awesome so far. Today, as part of the Openside team, I wanted to share how you can use that connector to solve a long standing missing feature with airtable: external backups. The whole process of setting up automatic backups should take less than 20 minutes.

But first, I want to verify that I’m on the right track. Who here needs/wants their Airtable backed up regularly?

POLL: How critical are backups to your business?

  • Need them daily (it would be bad if I lost even a day’s worth of changes)
  • Need them weekly/monthly (I need it, but this would be sufficient)
  • Not supercritical, I have my own way of backing up data manually
  • Not important, I don’t have any use for an Airtable data backup

0 voters

If you answered “yes” to either option above, or want backups to be set-up-and-automatic ever after, then give this a go:

Here’s what you’ll need to make it work:

Disclaimer: We are not associated with Airtable or Zapier (although we are an Expert Partner of Zapier). Setting up this backup requires entering your API key into Zapier and our connectors which means we technically do have access to it, however we do not store it on our systems anywhere. It is only stored on Zapier’s systems, similar to the existing connector.

Step #1: Schedule by Zapier (trigger)

Using the Schedule by Zapier trigger, set how often you want to run a backup.

Step #2: Add a search action with the Openside Airtable Connector

Select the Openside Airtable Connector. In the “choose action” menu, select the Search: Bulk Find Multiple Records option

Select your Base, then your first Table to be backed up

(At this point you can choose to customize the backup with a number of options, including filtering by view or formula, sorting the backup by field, or selecting only some fields to be returned. Ignore the Replace Commas option)

Select YES to output as JSON (return results as JSON):

  • JSON is a specialized formatting option that allows the data to transfer smoothly (note: you don’t have to know any JSON to use this option)
  • This will ensure the output data doesn’t have any formatting issues

Step #3: Convert Output to CSV (action)

Add a step to your Zapier workflow. Select the Openside Line Items action option.

Note: If you are OK backing up your data as JSON data instead of a CSV file, this step (and using the Openside Line Items connector) can be skipped. CSV is a more common format and can easily be opened in excel or Google Sheets. JSON is for more technical use cases.

Once you have that, select the option to Convert JSON string to CSV

Under the JSON Text option, use the Insert a Field button in the top right of the field, and select the bulk extract file output from Step #2 above (the result your previous Search in the Zap flow):

In the Output File Name field, specify your file output name. I usually just make it the same name of the table I’m backing up.

This returns a url to the csv file, which can then be attached to an email, input into email body, saved to Google Drive, or viewed later (see Step #4 below)

Repeat Steps #2 and #3 for as many tables are within your base

Depending on your base size, you’ll want to create additional Search and Actions within your Zapier workflow for each table you want backed up. If your base has 3 Tables within it that you want to backup, you’ll want to have a Search (Step #2 above) and Action (Step #3 above) for each: 3 tables x 2 steps for each = 6 steps.

This needs to be done for every table you want backed up

Step #4 Add a final output action

After all table backup steps are set up, you’ll want a final action to specify how the backup files will be output, and where.

A few options available to do this:

Option A:

Send yourself an email via Email by Zapier with all the .csv file links in the body. You can then download or auto-categorize them how you want.

Note: because of Zapier’s limits to files sizes and number of attachments, it’s not possible at this time to send yourself an email with all the backups attached to it. To accomplish this you’ll need to use an alternative Email solution such as Gmail, Sendgrid, Mailgun, etc. (Option C below)

Option B:

Send it to a Google Docs as a backup location (see Google Docs and Zapier documentation for how to do this)

Option C:

Send it to yourself via your own email service (see Zapier and your email service documentation for setting up this option)

Hope that helps! Would love to hear your feedback on it. If you need more details while setting up your backup, feel free to read the full documentation here.

For convenience, here again are the links to items you need to get this setup:


Download snapshots?
Automated CSV export via API?
How Can I Export an Entire Base with one Click?
Offline Local Backup?
#2

Does the JSON export include non-text items like images? I am guessing not since like CSV it is also a text, rather than binary, based format. That is the whole problem with the current CSV export, it only includes text based items so it is not a true export or backup. Hopefully Airtable will implement a true export to a common open source format like mysql or sqlite. When I wrote them they say a true backup solution is on the list of requested features.


#3

$50 bucks per month is more expensive than airtable itself hahaha


#4

Does the JSON export include non-text items like images? I am guessing not since like CSV it is also a text, rather than binary, based format. That is the whole problem with the current CSV export, it only includes text based items so it is not a true export or backup. Hopefully Airtable will implement a true export to a common open source format like mysql or sqlite. When I wrote them they say a true backup solution is on the list of requested features.

Dan from Openside here. Good question James - the JSON export contains the url of the images, so you’d have to run those through another process to grab the images via the URL. I would suggest something like https://cloudinary.com to perform that. We could explore doing that with you if interested.


#5

Maybe if you only have 1-2 people using airtable :slight_smile: We work with companies with much more than that. Keep an eye out in future for something that might be more what you’re looking for price wise.


#6

James - thinking more about this, it actually would be just as easy to set up backups for attachments. I’ll do a show and tell on it over next few days. But it essentially involves using the field comparison feature (see here) of our updated trigger to track when an attachment field has changed and when it has to receive a trigger update which then you can get the attachment url and send it to google drive where it will download the attachment and save in your google drive folder.

I think it would be overkill to backup the attachments every day/week/month since most times they wouldn’t change. By just backing up whenever there is a change to the attachments, you use the minimum amount needed.