Automate n8n Workflow Backups to Google Drive

This n8n workflow automates daily backups of your n8n workflows to Google Drive, ensuring your workflow data is always protected and up-to-date. It saves time and prevents data loss with scheduled backups and notification alerts.
scheduleTrigger
googleDrive
gmail
+11
Learn how to Build this Workflow with AI:
Workflow Identifier: 2133
NODES in Use: Schedule Trigger, n8n, SplitInBatches, Google Drive, If, Code, Limit, Gmail, Discord, Set, Execution Data, Execute Workflow, Execute Workflow Trigger, Sticky Note

Press CTRL+F5 if the workflow didn't load.

Visit through Desktop for Best experience

1. Opening Problem Statement

Meet Lisa, an automation specialist managing numerous production workflows in n8n for her company’s operations. Every day, she worries about manually backing up these workflows—an error-prone, tedious task that can take hours. Missed backups mean lost workflow versions and interruptions when workflows break, resulting in costly downtime and frustrated colleagues. Lisa needs a foolproof, automatic way to back up all her n8n workflows safely to Google Drive without manual intervention or risk.

She estimates spending up to 3 hours weekly just exporting workflows manually and uploading to backup locations. Sometimes files get overwritten incorrectly or forgotten. Lisa fears losing valuable historical versions and wants a systematic, scheduled backup process that notifies her of success or failure.

2. What This Automation Does

This n8n workflow turns Lisa’s manual backup headaches into a seamlessly automated, reliable process. When activated, it:

  • Triggers daily at 1:30 AM using the Schedule Trigger node.
  • Fetches all currently active n8n workflows via the n8n node connected to the n8n API.
  • Loops through each workflow efficiently with the SplitInBatches node to handle backups one-by-one.
  • Checks Google Drive for existing backup files using the Google Drive node to decide between creating new backup files or updating existing ones.
  • Converts each workflow’s JSON data into a downloadable file format via the Code node applying base64 encoding.
  • Uploads or updates backup files on Google Drive automatically in a specified backup folder.
  • Sends success or failure notifications via Gmail and Discord nodes, keeping Lisa informed effortlessly.

This setup means Lisa can rest easy knowing her backups are running daily without oversight, saving her multiple hours per week and mitigating risks of workflow data loss.

3. Prerequisites ⚙️

  • Active n8n account with API access configured.
  • Google Drive account with OAuth2 credentials enabled in n8n.
  • Gmail account connected via OAuth2 for sending email notifications.
  • Discord bot account setup with webhook URL for sending chat notifications.
  • Basic knowledge of n8n interface for node editing and deployment.
  • Optionally, self-host n8n for control and privacy (see Hostinger n8n hosting).

4. Step-by-Step Guide ✏️

Step 1: Set Up the Daily Trigger

Navigate to the “Schedule Trigger” node in your workflow. Configure the interval to trigger once daily at 01:30 AM by setting the hour to 1 and the minute to 30 under the “rule” options. This automates the start time for your backups every day early morning, minimizing disruptions.

Visual:** You should see the schedule set clearly for 01:30 AM daily.

Common mistake:** Setting wrong time zone can lead to unexpected trigger times; ensure your n8n server timezone matches your schedule intent.

Step 2: Connect to the n8n API to Get All Workflows

Use the n8n node named “Get all n8n Workflows” and configure it with your n8n credentials. Leave filters blank to pull all workflows. This node fetches all the workflows active in your n8n instance for backup.

Expected outcome: You will get JSON data array of all workflows including IDs and names.

Common mistake: Not setting up the API credentials correctly, which causes authentication failures.

Step 3: Loop Through Each Workflow

Add the SplitInBatches node named “Loop Over Items” next. Connect it to the previous node to process workflows one by one. This batching avoids overwhelming Google Drive and n8n resources.

Expected outcome: Workflows are passed sequentially to subsequent nodes.

Step 4: Check for Existing Backups in Google Drive

Use the Google Drive node named “getDriveFileData” to search your specified backup folder for existing backup files that match the current workflow by filename convention. Configure the folder URL in the “Parameters” node used as input here.

Expected outcome: Returns file metadata if backup exists or empty if it’s a fresh backup.

Step 5: Decide Whether to Create or Update Backup File

Add an If node named “ifDriveEmpty” to check if the previous Google Drive query found any file with that name. If no file exists, execute a node branch to create a new file. If yes, branch to update existing file.

Step 6: Convert Workflow JSON to File Buffer

In the Code node (“CodeJsonToFile1” for updates, “JsonToFile” for new files), insert this JavaScript code:

return items.map(item => {
  const jsonData = JSON.stringify(item.json);
  const binaryData = Buffer.from(jsonData).toString('base64');
  item.binary = {
    data: {
      data: binaryData,
      mimeType: 'application/json',
      fileName: 'data.json'
    }
  };
  return item;
});

This converts JSON workflow representations into base64 encoded files ready for upload.

Step 7: Upload or Update Backup File on Google Drive

Connect the output from the code nodes to respective Google Drive nodes:

  • “Backup to Google Drive2” node updates existing backup files.
  • “Backup to Google Drive4” node creates new backup files in your specified backup folder.

Configure these nodes with appropriate credentials and folder IDs linked in the Parameters node.

Step 8: Handle Backup Errors Gracefully

If any Google Drive upload steps fail, the workflow uses error forwarding to send failure notifications using Gmail node titled “failureEmail” to alert the admin immediately.

Step 9: Send Success Notifications

Upon completion, the Limit node restricts excessive notifications and triggers Gmail and Discord nodes to send success messages with timestamps, ensuring Lisa knows the backup succeeded without checking manually.

5. Customizations ✏️

  • Change Backup Time: In “Schedule Trigger,” modify the hour and minute to suit your preferred backup schedule.
  • Backup Folder Location: Edit the “directory” value in the “Parameters” node to switch to any Google Drive folder URL you want.
  • Email Recipients: Update the “sendTo” field in the Gmail nodes to notify different team members.
  • Notification Channel: Change Discord channel ID in the “Discord” node to send messages to other Slack or MS Teams integrations if preferred.
  • Batch Size in Loop: Customize batch size in the “SplitInBatches” node for performance tuning based on your workflow count.

6. Troubleshooting 🔧

Problem: “Google Drive API authentication failed”

Cause: Incorrect or expired OAuth2 credentials in Google Drive nodes.

Solution: Go to n8n Credentials section, re-authenticate Google Drive OAuth2 API with proper permissions. Test access by listing files manually first.

Problem: “No workflows received from n8n node”

Cause: API credentials missing or incorrect, or n8n API URL configured wrong.

Solution: Double check API credentials, ensure URL in n8n configuration is reachable and authorized.

Problem: “Error converting JSON to file in Code node”

Cause: Workflow JSON structure changes or node misconfiguration.

Solution: Verify the object used for JSON.stringify matches expected data; add debugging nodes to inspect data if necessary.

Problem: “Email notifications not sent”

Cause: Gmail OAuth2 credentials invalid or node parameters wrong.

Solution: Reconnect Gmail OAuth2 credentials, ensure “sendTo” address is correct and server allows outbound mail.

7. Pre-Production Checklist ✅

  • Verify Google Drive OAuth2 credentials by manually listing files in the backup folder.
  • Test n8n node to confirm it returns your current workflows.
  • Run the workflow manually first to observe correct JSON conversion and Google Drive uploads.
  • Check email addresses in Gmail “successEmail” and “failureEmail” nodes.
  • Confirm Discord webhook URLs and permissions for the notification node.
  • Backup existing workflow JSON files outside of this automation as a safety net.

8. Deployment Guide

Activate your workflow in n8n by switching it “On.” Monitor the first automated run at the scheduled time (1:30 AM) via execution logs.

Use built-in n8n execution logs to watch for errors or warnings in each node. Confirm email and Discord notifications arrive promptly to validate success.

For scaling, tune the “SplitInBatches” node batch size to manage system resource load if you have hundreds of workflows.

9. FAQs

Q: Can I use Dropbox instead of Google Drive for backups?

A: Absolutely, but you would need to replace Google Drive nodes with Dropbox nodes and adjust their configurations accordingly.

Q: Does this workflow consume a lot of API credits?

A: Mostly, it uses Google Drive and n8n API calls moderately. With daily backups, it stays well within typical free tier limits.

Q: Is my workflow data secure in Google Drive?

A: Yes, Google Drive uses strong encryption. Ensure your Google account uses 2FA and secure OAuth2 credentials.

Q: How do I handle more workflows as my team expands?

A: Increase batching window or split your backups into smaller groups for better performance.

10. Conclusion

You’ve just implemented a robust, automated backup solution that saves hours per week and protects your n8n workflows with reliable versioned backups to Google Drive. Daily notifications via Gmail and Discord keep you informed without manual checking. Lisa now enjoys peace of mind, knowing her workflows are safe and recoverable anytime.

Next steps? Consider enhancing your backup with encryption, integrating with Slack or MS Teams for alerts, and automating restore procedures to further streamline your workflow management process.

Happy automating!

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n (Beginner Guide)

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free