I self-host my n8n instance on a Hostinger VPS. When I set it up, there was an option to pay for full VPS backups, and I said no. I had the usual self-hoster brain about it: backups are easy, I’ll figure out my own thing, save the money.
Then about a week later I started thinking about how many workflows I’d already built. I had no copy of any of them outside my n8n instance. If anything happened to the VPS, the database, or my own brain on a Tuesday afternoon, those workflows were gone.
And there’s a second, more honest reason I built this: I forget what I’ve even built. The list got long enough where my own catalog was outpacing my memory of it.
So I built the workflow this post is about. It runs every day at the same time, grabs every workflow on my n8n instance, saves each one as a JSON file to a Google Drive folder, and logs the backup to Airtable. Six nodes. Free to run. Quiet in the background since late 2025.
What the workflow does, in plain order
| Step | Node | What it does |
|---|---|---|
| 1 | Schedule Trigger | Fires once a day on a schedule I set in the node |
| 2 | Get many workflows | Uses n8n’s own n8n API node to fetch every workflow on the instance |
| 3 | Prepare backup data | Code node, massages the workflow object into something clean to write out |
| 4 | Convert to File | Turns each workflow into a JSON file |
| 5 | Upload JSON | Drops the file into a Google Drive folder, timestamped |
| 6 | Create or update record | Logs the backup in Airtable so I have a queryable history |
The Drive folder is the rollback material. The Airtable record is the searchable index. Two storage layers, two reasons.

Why I added Airtable in addition to Drive
Drive on its own does the job of holding files. Airtable does two extra things I wanted:
- A queryable history. I can search, sort, and filter every workflow I’ve ever backed up. Drive is fine for one file at a time, but it’s not great when you want to ask “which version did I have before I broke the auth flow.”
- Claude Code access via the Airtable MCP. With the workflows logged in Airtable, I can ask Claude Code in my editor to read across all of them, find patterns, suggest cleanups, or compare older versions to newer ones. The MCP makes my workflow library queryable in a way it wouldn’t be sitting only in Drive. Well, Claude can probably do the same with Drive, but I love my Airtable databases!
If you don’t have Airtable in your stack already, you can skip the Airtable step and just send to Drive. The workflow keeps running cleanly without it.
Honest take: is this better than a real VPS backup?
I’m not sure. A real VPS backup would also preserve credentials, execution history, my own database, and the n8n version I was running. This workflow only catches the workflow JSON files. If my VPS evaporated tomorrow, I’d still have to re-set up a new n8n instance, recreate every credential, and re-import each JSON one by one.
So this isn’t an argument for skipping VPS backups. It’s a way to know, no matter what else goes wrong, my workflow files are sitting somewhere safe and dated. It’s the cheap version of insurance, not the comprehensive one.
If I had to do it over, I’d still skip the VPS-level backup on Hostinger and pair this with a manual export of credentials once a month. Honestly a Tuesday decision, not a clearly-better-architecture call.
The duplicate file problem I keep putting off
Daily backups mean the Drive folder grows by exactly as many workflows as I have, every single day. After 5 months of running this, the folder is now sitting on something like 6,000-8,000 JSON files. Most of them are identical to the previous day’s copy because the underlying workflow didn’t change.
Cleaning the Drive folder is on my list. A future version of this workflow will either:
- Hash each workflow’s content before writing, skip the upload when the hash matches yesterday’s
- Run a weekly cleanup pass deleting anything older than 30 days unless it’s a unique version
- Or both
For now, I’m paying for a few extra gigabytes of Drive storage with my attention. It’s fine. It’s also a reminder: “backup” without retention rules turns into “hoarding with a different name.”
Has it ever saved me?
Not yet. Knock on wood. The peace-of-mind value is the whole point. Knowing the workflows are there is what lets me push edits to my live workflows without flinching.
Last week I did almost lose a different tool’s source code (a Cloudflare Worker I’d built and never pushed to GitHub). Not n8n, not this backup. But the experience was a reminder: “I’ll set up a backup later” is the road to “I had to rebuild it from the deployed bundle.” Set up the backup before you need it.

Frequently asked questions
How do I back up my n8n workflows?
The simplest version: build a small n8n workflow running on a schedule, fetches every workflow via n8n’s own n8n API node, converts each one to a JSON file, and uploads to a cloud storage destination like Google Drive, Dropbox, or S3. Total node count: 5-6. Build time: roughly 20 minutes if you have your credentials ready.
Where should I store n8n workflow backups?
Anywhere outside the same VPS your n8n is running on. Google Drive, Dropbox, S3, R2, and OneDrive all work. The point is, if your VPS goes down, the backups don’t go down with it. I use Drive because it’s free at my volume and the n8n Drive node is simple. Bonus: paired with Airtable so the history is queryable.
Should I back up n8n workflows daily or weekly?
Daily if you actively edit workflows. Weekly is fine if your workflows are stable and rarely change. Mine runs daily because I tinker constantly, and yesterday’s backup is the version I want when I break today’s workflow. The tradeoff is storage growth, which you can solve with a hash-and-skip step or a periodic cleanup job.
Will this back up my credentials and execution history?
No. n8n’s API exposes workflow definitions but not the credentials they use, and execution history lives in the n8n database. For credentials, export them manually from the n8n UI on a schedule you trust. For execution history, you’d need a VPS-level backup or a separate database dump workflow.
How much storage do n8n workflow backups take?
Each workflow JSON is typically 5-50 KB. With 40 workflows backed up daily, you’re at roughly 1-2 MB per day, or 365-730 MB per year. Google Drive’s free 15 GB tier covers this comfortably for a decade unless your workflows get unusually large.
What happens if a backup fails?
n8n logs failed executions in its own execution history. The simplest pattern is to add an error-trigger workflow which emails you when the backup workflow fails. Otherwise, you find out only when you check the Airtable log and notice yesterday’s row is missing. Adding the error trigger is on my list too.
How to build a version of this for your own n8n
- Create a Schedule Trigger set to fire once a day (pick a time when nothing else is running)
- Add an n8n node set to “Get many workflows” (n8n itself ships with a node connected to its own API)
- Add a Code node to clean up the workflow object (rename fields, strip unused metadata, add a timestamp)
- Add a Convert to File node to turn each cleaned workflow into a JSON file
- Add an upload destination, like Google Drive, Dropbox, S3, whatever you use
- Optionally add an Airtable Create node to log each backup so you have a queryable history
If you’re going to add cleanup later, the easiest spot is between steps 3 and 4: hash the cleaned workflow JSON, compare to the most recent backup in Airtable, and skip the upload if the hash matches. Hash-and-skip is how I’ll fix my own duplicate file pile.
Set this up before you need it
If you self-host n8n and don’t have any kind of workflow backup running yet, this is the cheap version. Twenty minutes of setup, free storage, daily insurance against the kind of “oh no” capable of ruining a Tuesday. Worst case: you build it and never need it. Best case: you don’t end up rebuilding a Cloudflare Worker from a deployed bundle the way I almost did with my Webhook Tester last week.
If you’re also weighing whether to stay on n8n cloud or self-host (which is where the no-VPS-backup decision started for me), the self-host vs cloud math post walks through the cloud-vs-self-host decision in detail.
More n8n workflow blueprints are coming. Subscribe if you haven’t yet, and in the meantime, go set up your backup workflow. Future you will thank present you.
