Development & IT Workflows
Software development and IT operations
Restore and Recover n8n Credentials from Google Drive Backups with Duplication Protection
**This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n.** ## **Restore n8n Credentials from Google Drive Backup** This template enables you to **restore your n8n credentials from a backup file in Google Drive**. It's an essential companion to a credential backup workflow, ensuring you can recover your setup in case of data loss, instance migration, or disaster recovery. The workflow **intelligently checks for existing credentials to prevent accidental overwrites of credentials** with the same name that are already present. This workflow is manually triggered. We recommend you use this restore workflow in conjunction with a backup solution like our [Auto Backup Credentials to Google Drive template](https://aiautomationpro.org/products/n8n-auto-backup-credentials-to-google-drive/). For more powerful n8n templates, visit our website or contact us at [**AI Automation Pro**](https://aiautomationpro.org/). We help your business build custom AI workflow automation and apps. ### Who is this for? This workflow is for n8n administrators and users who have backed up their n8n credentials to Google Drive (e.g., using a companion backup template) and need to restore them to the same or a different n8n instance. It's crucial for those managing self-hosted instances. ### What problem is this workflow solving? / use case If an n8n instance becomes corrupted, needs to be migrated, or if credentials are accidentally deleted, a manual re-creation of all credentials can be extremely time-consuming and error-prone. This workflow automates the restoration process from a known backup, saving significant time and ensuring accuracy. It's particularly useful for: - Disaster recovery. - Migrating n8n instances. - Quickly setting up a new n8n instance with existing credentials. ### What this workflow does The workflow is manually triggered and performs the following operations: 1. **Fetch Current Credentials:** - An On Click trigger starts the process. - It executes the command `npx n8n export:credentials --all --decrypted` via the Execute Command Get All Credentials node to get a list of all credentials currently in your n8n instance. - This list is then processed by JSON Formatting Data and Aggregate Credentials nodes to extract just the names of existing credentials for comparison. 2. **Download Backup File from Google Drive:** - The Google Drive Get Credentials File node searches your Google Drive for the `n8n_backup_credentials.json` file. - The Google Drive Download File node then downloads the found file. 3. **Process Backup Data:** - The Convert Files to JSON (an Extract From File node) converts the downloaded file content, expected to be JSON, into a usable JSON object. - Split Out nodes then process this data to handle individual credential entries from the backup file. 4. **Loop and Restore Credentials:** - The Loop Over Items (a SplitInBatches node) iterates through each credential from the backup file. - **Duplicate Check:** For each credential, an IF node (Check For Skipped Credentials) checks two conditions using an OR combinator: - If the credential name from the backup (`$(Loop Over Items).item.json.name`) is empty. - If a credential with the same name already exists in the current n8n instance (by checking against the list from the Aggregate Credentials node). - **Conditional Restore:** If the credential name is NOT empty AND it does NOT already exist (i.e., the conditions in the IF node are false), the workflow proceeds to the Restore N8n Credentials node (an n8n API node). This node uses the `name`, `type`, and `data` for each new credential from the backup file to create it in the n8n instance. Credentials with empty names or those already present are skipped as they take the true path of the IF node, which loops back. - A Wait node introduces a 1-second delay after each restoration attempt, to prevent API rate limiting before looping to the next item. ### Step-by-step setup 1. **n8n Instance Environment (for current credentials check):** - The n8n instance must have access to `npx` and `n8n-cli` for the Execute Command Get All Credentials node to function. 2. **Google Drive Credentials:** - Configure the Google Drive Get Credentials File and Google Drive Download File nodes with your Google OAuth2 credentials. 3. **n8n API Credentials:** - Configure the Restore N8n Credentials node with your n8n API credentials. This API key needs permissions to manage credentials. 4. **Backup File Name:** - The workflow is configured to search for a file named `n8n_backup_credentials.json` in the Google Drive Get Credentials File node. If your backup file has a different name or you want to specify a path, update the Query String parameter in this node. ### How to customize this workflow to your needs * **Backup**
n8n$9.99Automate Squarespace Code Injection Backups to GitHub
This workflow automates the backup of Squarespace header and footer code injections to a GitHub repository, ensuring your customizations are securely stored and versioned.
n8n$14.99Retrieve and Aggregate Public IP Addresses for n8n Instance
Automatically fetch and aggregate the public IP addresses of your n8n instance for integration with services requiring firewall whitelisting.
n8n$4.99Automate Expired AWS ACM Certificate Cleanup with Slack Approval
Streamline the management of expired AWS ACM certificates by automating their cleanup process with Slack-based approval. This workflow ensures a secure AWS environment by notifying admins of expired certificates, awaiting approval, and deleting them upon confirmation.
n8n$9.99Back Up Your Credentials to GitHub
Based on [Jonathan's](https://n8n.io/creators/jon-n8n/) work. Check out his templates. This workflow will backup your credentials to GitHub. It uses a CLI command to export all credentials. It then loops over the data, checks in GitHub to see if a file exists that uses the credentials ID. Once checked, it will: - Update the file on GitHub if it exists; - Create a new file if it doesn't exist; - Ignore if it's the same. ### Config Options **repo.owner** - GitHub owner **repo.name** - GitHub repository name **repo.path** - Path within the GitHub repository **The credentials are all decrypted. Make sure you save them safely or tweak the CLI command to store them encrypted.** ### Check out my other templates ☀️🌊 [**https://n8n.io/creators/solomon/**](https://n8n.io/creators/solomon/)
n8n$14.99Automate n8n Workflow Backup with Versioning and Notion Tracking
This workflow automates the backup of n8n workflows with versioning and tracks details in Notion. It ensures multiple versions are maintained on the destination instance, with each workflow prefixed by the date for easy tracking.
n8n$14.99Automate Website Screenshot Generation via Webhooks with ScreenshotMachine API
This n8n workflow allows you to automate the generation of high-quality website screenshots by sending a webhook request. It is ideal for developers, marketers, and content creators who need on-demand visual captures of web pages with built-in security measures.
n8n$9.99Automate Critical Error Alerts with Slack and Jira Integration
This workflow automates the detection and handling of critical errors in production environments by sending real-time alerts to Slack and creating Jira tickets for immediate resolution.
n8n$4.99Provide Real-time Updates for Notion Databases via Webhooks with Supabase
## Purpose This enables webhooks for nearly real-time updates (every 5 seconds) from Notion Databases. ## Problem Notion does not offer webhooks. Even worse, the “Last edited time” property, which we could use for polling, only updates every minute. This gives us a polling interval only as low as 2 minutes, and we still need to implement a comparing mechanism to detect changes. ## Solution This workflow caches states in between while doing efficient polling & comparing. It brings down the update latency from 2 minutes to 5 seconds and also provides the output of the changes only. ## Demo [](https://youtu.be/BROsXafy9Uw) ## How it works - Database Pages are frequently polled while filtered by a last modified timestamp for more efficiency. - Retrieved pages get compared with previously cached versions in Supabase. - Only new and changed pages are pushed to a registered webhook. ## Setup - Create a new project in Supabase and import the DB schema (provided through Gumroad). - Add a Last edited time property to your Notion Database, if it has none yet. - Define the dynamically generated settings_id from the settings table (Supabase) in the Globals node. - Define the Notion Database URL in the Globals node. - Define your custom Webhook URL in the last node where the results should be pushed to. - It is recommended to call this workflow using [this](https://n8n.io/workflows/2270-prevent-simultaneous-workflow-executions-with-redis/) template to prevent simultaneous workflow executions. - Set the Schedule trigger to every 5 seconds or less frequent. - More detailed instructions provided within the workflow file and the illustrated instructions provided during the download. ## Example output ```json [ { "action": "changed", "changes": { "property_modified_at": "2024-06-04T17:59:00.000Z", "property_priority": "important" }, "data": { "id": "ba761e03-7d6d-44c2-8e8d-c8a4fb930d0f", "name": "Try out n8n", "url": "https://www.notion.so/Try-out-n8n-ba761e037d6d44c28e8dc8a4fb930d0f", "property_todoist_id": "", "property_id": "ba761e037d6d44c28e8dc8a4fb930d0f", "property_modified_at": "2024-06-04T17:59:00.000Z", "property_status": "Backlog", "property_priority": "important", "property_due": { "start": "2024-06-05", "end": null, "time_zone": null }, "property_focus": false, "property_name": "Try out n8n" }, "updated_at": "2024-06-04T17:59:42.144+00:00" } ] ```
n8n$14.99Automate Lead Generation and Qualification with Google Maps, OpenAI, and HubSpot
This n8n workflow automates the process of generating and qualifying leads by scraping data from Google Maps and Yellow Pages, enriching it with AI, and exporting qualified leads to HubSpot.
n8n$14.99Automated Website Downtime Alerts with LINE Notifications and Supabase Logging
This workflow monitors website uptime using the UptimeRobot API. It sends humorous downtime alerts to a LINE group and logs incidents in a Supabase database, ensuring timely notifications and record-keeping.
n8n$9.99Generate JSON and Send HTTP Request via SendGrid
Create a JSON data structure using the JSON Generator and send an HTTP POST request to SendGrid for email delivery.
MakeFreeAutomate JavaScript Security Scanning and Reporting via Email
This workflow automates the detection of sensitive information in JavaScript files from a specified URL and sends a detailed security report via email. Ideal for developers and ethical hackers to ensure code security and compliance.
n8n$9.99Streamline User Authentication with Auth0 and n8n
Simplify user login processes by integrating Auth0 with n8n to enable authentication via Gmail or any email address. This workflow provides a quick and efficient setup for user verification and login.
n8n$14.99Automate AWS Security Misconfiguration Alerts with AI Triage and Gmail Notifications
This workflow automatically triages AWS security misconfigurations using AI to prioritize alerts and sends notifications to your team via Gmail. It integrates with AWS Security Hub and AWS Config to streamline incident management.
n8n$9.99Automate Bug Tracking with GitHub Issues and Telegram Alerts Using AI
Streamline bug tracking by creating GitHub issues from webhook inputs, classifying them with AI, and sending alerts via Telegram. This workflow enhances efficiency by automating the classification and notification of critical issues.
n8n$14.99Automate Threat Intelligence Ingestion and Triage with OpenAI and Email Alerts
This workflow automates the ingestion of threat intelligence from CVE and IOC feeds, evaluates risks using OpenAI, and sends actionable alerts via email.
n8n$14.99Automated GitHub Scanner for Exposed AWS IAM Keys
# Automated GitHub Scanner for Exposed AWS IAM Keys ## Overview This n8n workflow automatically scans GitHub for exposed AWS IAM access keys associated with your AWS account, helping security teams quickly identify and respond to potential security breaches. When compromised keys are found, the workflow generates detailed security reports and sends Slack notifications with actionable remediation steps. ## Key Features - **Automated AWS IAM Key Scanning**: Regularly checks for exposed AWS access keys on GitHub - **Real-time Security Alerts**: Sends immediate Slack notifications when compromised keys are detected - **Comprehensive Security Reports**: Generates detailed reports with exposure information and risk assessment - **Actionable Remediation Steps**: Provides clear instructions for securing compromised credentials - **Continuous Monitoring**: Maintains ongoing surveillance of your AWS environment ## Workflow Steps 1. **List AWS Users**: Retrieves all users from your AWS account 2. **Split Users for Processing**: Processes each user individually 3. **Get User Access Keys**: Retrieves access keys for each user 4. **Filter Active Keys Only**: Focuses only on currently active access keys 5. **Search GitHub for Exposed Keys**: Scans GitHub repositories for exposed access keys 6. **Aggregate Search Results**: Consolidates and deduplicates search findings 7. **Check For Compromised Keys**: Determines if any keys have been exposed 8. **Generate Security Report**: Creates detailed security reports for compromised keys 9. **Extract AWS Usernames**: Extracts usernames from AWS response for notification 10. **Format Slack Alert**: Prepares comprehensive Slack notifications 11. **Send Slack Notification**: Delivers alerts with actionable information 12. **Continue Scanning**: Maintains continuous monitoring cycle ## Setup Requirements ### Prerequisites - Active n8n instance - AWS account with IAM permissions - GitHub account/token for searching repositories - Slack workspace for notifications ### Required Credentials 1. **AWS Credentials**: - IAM user with permissions to list users and access keys - Access Key ID and Secret Access Key 2. **GitHub Credentials**: - Personal Access Token with search permissions 3. **Slack Credentials**: - Webhook URL for your notification channel ## Configuration 1. **AWS Configuration**: - Configure the List AWS Users node with your AWS credentials - Ensure proper IAM permissions for listing users and access keys 2. **GitHub Configuration**: - Set up the Search GitHub for Exposed Keys node with your GitHub token - Adjust search parameters if needed 3. **Slack Configuration**: - Configure the Slack node with your webhook URL - Customize notification format if desired ## Usage ### Running the Workflow 1. **Manual Execution**: Click Execute Workflow to run an immediate scan 2. **Scheduled Execution**: Set up a schedule to run periodic scans (recommended daily or weekly) ### Repository Compatibility This workflow is compatible with both public and private GitHub repositories to which you have access. It will scan all repositories you have permission to view based on your GitHub credentials. ### Handling Alerts When a compromised key is detected: 1. Review the Slack notification for details about the exposure 2. Follow the recommended remediation steps: - Deactivate the compromised key immediately - Create a new key if needed - Investigate the exposure source - Update any services using the compromised key ## Disclaimer This workflow template is provided for reference purposes only to demonstrate how to automate AWS IAM key exposure scanning. Please note: - The scanning process may produce false positives as it only matches potential AWS access key patterns - Always verify any reported exposures manually before taking action - Disabling or deleting access keys without proper verification could have significant negative impacts on your environment - Understand which systems and applications rely on identified access keys before deactivating them - This template should be customized to fit your specific environment and security policies **IMPORTANT**: Use this workflow with caution and only after thoroughly understanding your AWS environment. The authors of this template are not responsible for any disruptions or damages resulting from its use. ## Security Considerations - This workflow requires access to sensitive AWS credentials - Store all credentials securely within n8n - Review and rotate access keys regularly ## Customization Options - Adjust GitHub search parameters for more targeted scanning - Customize Slack notification format and content - Modify security report generation for your specific needs - Integrate with additional notification channels (email, MS Teams, etc.) ### Optional: Enabling Interactive Slack Buttons The Slack Block Kit notification format supports interactive
n8n$14.99Analyze & Sort Suspicious Email Contents with ChatGPT
### Analyze & Sort Suspicious Email Contents with ChatGPT and Jira #### Who is this for? This workflow is tailored for IT security teams, managed service providers (MSPs), and organizations aiming to streamline the detection and reporting of phishing emails. It's especially useful for teams handling high email volumes and requiring quick, automated analysis. #### What problem is this workflow solving? Phishing emails pose a significant cybersecurity threat, and manual review processes are time-consuming and prone to human error. This workflow automates the identification of malicious emails, provides AI-driven insights, and generates structured reports, enabling faster and more efficient responses to email-based threats. #### What this workflow does This workflow integrates Gmail or Microsoft Outlook to monitor and capture incoming emails. It processes the email content and headers, converts the email body to a visual screenshot for clarity, and uses ChatGPT's advanced AI to analyze the email for phishing indicators. Based on the analysis, it categorizes emails as potentially malicious or benign, creating detailed Jira tickets for each case. Attachments, including the email body and screenshots, are automatically uploaded for comprehensive reporting. **Key steps include:** 1. **Email Integration**: Captures emails from Gmail or Microsoft Outlook. 2. **Content Processing**: Extracts and organizes email content and metadata. 3. **AI Analysis**: Uses ChatGPT to evaluate email content and headers. 4. **Classification**: Categorizes emails as malicious or benign. 5. **Automated Reporting**: Creates Jira tickets with detailed analysis and attachments. #### Setup 1. **Authentication**: Configure Gmail or Microsoft Outlook credentials in n8n. 2. **API Keys**: Add credentials for the HTML screenshot service (`hcti.io`) and OpenAI. 3. **Jira Configuration**: Set up project and issue types in the Jira nodes. 4. **Customization**: Update sticky notes and nodes to fit your organizational requirements, such as modifying the AI prompt or Jira ticket fields. #### How to customize this workflow to your needs - Adjust email triggers to include or exclude specific senders or subjects. - Refine the AI prompt in the ChatGPT node to tailor phishing detection criteria. - Modify Jira ticket content to include additional fields or match specific workflows. This workflow is ideal for automating email threat detection, reducing response times, and enhancing overall cybersecurity processes. By leveraging AI-powered insights, it helps organizations stay ahead of phishing attacks.
n8n$14.99Automate PostgreSQL & MySQL Management on Linux Servers
This n8n workflow automates the installation, configuration, and management of PostgreSQL and MySQL databases on Linux servers, enabling efficient setup, creation, and deletion of databases with user access in just 10 seconds.
n8n$9.99Secure API Endpoint with Bearer Token Authentication and Field Validation
A reusable and production-ready n8n workflow that secures public webhooks using **Bearer token authentication** and **dynamic request validation**. --- ## What It Does - **Verifies Bearer Token**: Compares the `Authorization` header with a configured secret token. - **Validates Required Fields**: Checks that all expected fields are present in the incoming request body. - **Returns Standardized JSON Responses**: - `401 Unauthorized` if token is missing or invalid - `400 Bad Request` if required fields are missing - `200 OK` with a custom success payload --- ## Who It's For - Developers exposing n8n workflows as APIs - No-code/low-code builders integrating with external forms or tools - Anyone needing simple authentication and validation on incoming webhooks --- ## Why Use It - **Secure**: Prevents unauthorized access to your public workflows - **Clean**: Centralized configuration for token and required fields - **Flexible**: Easy to extend and customize for any use case --- ## Setup Instructions 1. **Configure Values in the `Configuration` Node** - Set your secret token: `config.bearerToken = YOUR_TOKEN` - Define required request fields by key: Example: ``` config.requiredFields.message = true; config.requiredFields.email = true; ``` **Note**: Only the **keys** matter - values can be anything. 2. **Plug in Your Business Logic** Replace the `Add workflow nodes here` with your own logic. 3. **Customize the Success Response** Edit the `Create Response` node to shape your success payload. --- ## Use Cases - Securing public form submissions - Creating internal API endpoints - Validating data from external services --- Use this as a base for building secure, API-style workflows in n8n. --- **Hello! I'm [Audun / xqus](https://xqus.com)**. If my n8n workflows saved you time or sparked ideas, [consider sending a little support](https://donate.stripe.com/9AQ6ps6Kna3t8Vi28b) my way. It helps me keep building cool stuff and maybe grab a coffee along the way!
n8n$14.99Automatically Update n8n Version
# n8n Workflow: Check and Update n8n Version This workflow automatically **checks if the local n8n version is outdated** and, if so, **creates a file to signal an update is needed**. --- ## Working Environment - **Operating System:** Ubuntu 24.04 - **n8n Installation:** Docker container --- ## Project Directory Structure n8n/ ├── check_update.txt ├── check-update.sh ├── compose.yml └── update_n8n.cron --- ## File Descriptions ### `check_update.txt` Contains a single word: - `true`: Update is needed - `false`: No update required --- ### `check-update.sh` ```bash #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin if grep -q true /home/sysadmin/n8n/check_update.txt; then # Place your update logic here echo "Update needed - please insert update logic" echo true > /home/sysadmin/n8n/check_update.txt fi ``` **Purpose:** - Checks the contents of `check_update.txt` - If it contains `true`, executes update logic (currently a placeholder) - Resets `check_update.txt` to `true` --- ### `update_n8n.cron` ```cron SHELL=/bin/sh 10 5 * * * /bin/sh /home/sysadmin/n8n/check-update.sh ``` **Purpose:** - Runs the `check-update.sh` script daily at 5:10 AM - Uses `/bin/sh` as the shell environment ## n8n Workflow Breakdown ### 1. Schedule Trigger - **Purpose:** Triggers the workflow every day at 5:00 AM - **Node Type:** Schedule Trigger --- ### 2. Get the latest n8n version - **Purpose:** Fetches the latest version of n8n from npm - **Endpoint:** `https://registry.npmjs.org/n8n/latest` - **Node Type:** HTTP Request --- ### 3. Get Local n8n version - **Purpose:** Retrieves the currently running n8n version - **Endpoint:** `http://192.168.100.18:5678/rest/settings` - **Node Type:** HTTP Request --- ### 4. If - **Purpose:** Compares the local and latest versions - **Condition:** If not equal, an update is needed --- ### 5. SSH - **Purpose:** Writes the result to a file on the host via SSH - **Logic:** ```bash echo {{ $(If).params.conditions ? false : true }} > check_update.txt ``` **Effect**: Updates `check_update.txt` with `true` if an update is needed, `false` otherwise. ## Setting up Crontab on Ubuntu ### 1. Register the cron job with: ```bash crontab update_n8n.cron ``` ### 2. Verify that your cron job is registered: ```bash crontab -l ``` ## Result - **5:00 AM** - n8n workflow checks versions and writes result to `check_update.txt` - **5:10 AM** - Cron runs `check-update.sh` to respond to update flag
n8n$4.99Automate Image Uploads to Postimages.org with Airtop
Streamline the process of uploading screenshots to Postimages.org using Airtop browser automation, ideal for repetitive QA tasks and archiving visual data.
n8n$9.99Automated Security Alert Analysis with Sophos, Gemini AI, and VirusTotal
## **How It Works** This workflow automates the analysis of security alerts from Sophos Central, turning raw events into actionable intelligence. It uses the official Sophos SIEM integration tool to fetch data, enriches it with VirusTotal, and leverages Google Gemini to provide a real-time threat summary and mitigation plan via Telegram. Prerequisite (Important): This workflow is triggered by a webhook that receives data from an external Python script. You must first set up the Sophos-Central-SIEM-Integration script from the official Sophos GitHub. This script will fetch data and forward it to your n8n webhook URL. Tool Source Code: [Sophos/Sophos-Central-SIEM-Integration](Sophos/Sophos-Central-SIEM-Integration) ## **The n8n Workflow Steps** **Webhook**: Receives enriched event and alert data from the external Python script. **IF (Filter)**: Immediately filters the incoming data to ensure only events with a high or critical severity are processed, reducing noise from low-priority alerts. **Code (Prepare Indicator)**: Intelligently inspects the Sophos event data to extract the primary threat indicator. It prioritizes indicators in the following order: File Hash (SHA256), URL/Domain, or Source IP. **HTTP Request (VirusTotal)**: The extracted indicator is sent to the VirusTotal API to get a detailed reputation report, including how many security vendors flagged it as malicious. **Code (Prompt for Gemini)**: The raw JSON output from VirusTotal is processed into a clean, human-readable summary and a detailed list of flagging vendors. **AI Agent (Google Gemini)**: All collected data—the original Sophos log, the full alert details, and the formatted VirusTotal reputation—is compiled into a detailed prompt for Gemini. The AI acts as a virtual SOC analyst to: - Create a concise incident summary. - Determine the risk level. - Provide a list of concrete, actionable mitigation steps. **Telegram**: The complete analysis and mitigation plan from Gemini is formatted into a clean, easy-to-read message and sent to your specified Telegram chat. ## **Setup Instructions** Configure the external Python script to forward events to this workflow's Production URL. In n8n, create Credentials for Google Gemini, VirusTotal, and Telegram. Assign the newly created credentials to the corresponding nodes in the workflow.
n8n$9.99
Related categories
Custom AI Systems & Services
Our team of experienced AI builders will help build custom AI systems, workflows, and solutions.
Request Custom Work