by Audun
Who is this for? Security professionals Developers Individuals interested in data breach awareness Use Case Automated monitoring for new breaches Proactive identity protection Demonstration of simple cache mechanism What this workflow does Checks the Have I Been Pwned API every 15 minutes for the latest breaches. Compares new breach data against previously notified breaches. Demonstrates a simple cache mechanism to track previously seen breaches. How the Cache Functionality Works Read from Cache**: Retrieves the last known breach from cache.json to avoid redundant alerts for the same breach. Compare Against Current Breach**: The workflow checks if the latest fetched breach differs from the cached one. Update the Cache**: If a new breach is detected, it updates cache.json with the latest breach data. Setup instructions The endpoint used in this workflow does not require an API key. Add your desired alert mechanism in the red box attached to the New breach node. How to customize this workflow to your needs Modify Notification Settings**: Tailor where alerts are sent (email, Slack, etc.). Add the desired node after the New breach node. This node contains all the data from the breach so it is eaisily available. You can choose from a variety of n8n nodes to send alerts when a new breach is detected. Below are a few common options you might consider adding after the New breach node: Email Node What it does: Sends an email notification to one or more recipients. Use case: Great for simple alerts to your inbox or a team distribution list. Customization: You can include breach details in the subject or body of the email, using data from the New breach node. Slack Node What it does: Sends a message to a Slack channel or user. Use case: Perfect for real-time alerts to your team in Slack. Customization: You can post breach details directly in a channel or DM. You can also format the message (bold, code blocks, etc.). Microsoft Teams Node What it does: Sends a message to a Teams channel. Use case: For organizations that use Microsoft Teams for communication. Customization: Similar to Slack, you can customize the message content and include all relevant breach information. Discord Node What it does: Sends an alert message to a Discord channel. Use case: Useful for teams or communities that coordinate via Discord. Customization: Add formatted messages with breach details for easy viewing. Telegram Node What it does: Sends messages to a Telegram chat or group. Use case: Good for mobile notifications and fast alerts. Customization: You can include breach summaries or detailed information, and even use bots to automate this. Webhook Node (as a sender) What it does: Sends breach data to another service via a webhook. Use case: If you have an external system or app that handles alerts, you can push the data directly to it. Customization: Send JSON payloads with detailed breach information to trigger actions in other systems. SMS Nodes (like Twilio) What it does: Sends an SMS notification to one or more phone numbers. Use case: For urgent alerts that need to be seen immediately. Customization: Keep messages concise, including key breach details like the time, type of breach, and affected system. Adjust Check Frequency**: Change the interval in the Schedule Trigger node (e.g., hourly or daily).
by Sweenu
Who is this template for? You are in the bad habit of always checking your feed to see if there are new videos? This workflow will help you get rid of this habit by delivering an email notification for each new video posted from the channels you are subscribed to. No need to check your feed again: no email = no new video. Example email How it works Every hour (by default), we: Fetch all your YouTube subscriptions from the YouTube Data v3 API. Get a list of the latest videos of each channel through RSS (we don't use YouTube's API for this step as it would put us over the daily quota). Send you a simple yet beautiful email for each new video that was published since the last run of the workflow. To go to the video, simply click on the thumbnail. Caveats Because of the way this workflow is implemented, if your n8n instance stops, you will not get emails for the videos you missed when your instance is back online. The situation could be improved if n8n gave us an easy way to access the last successful execution's timestamp. Set up instructions Complete the Set up credentials step when you first open the workflow. You'll need YouTube OAuth2 API and SMTP credentials. In the Send an email for each new video step, set the email address from which the email will be sent (an email address that your SMTP credentials allow sending from) and the email address to which you are going to send the email to (can be the same). Optional steps From the Schedule Trigger step, you can change the check frequency (default: every hour). If there are channels that you do not want notifications from, you can add their channel ID to the list in the Filter out channels step. To get a channel's ID, go to its main page, click on the description, then "Share channel" and finally "Copy channel ID". By default, shorts are excluded. But if you want them, simply remove the Filter out shorts step from the workflow. Template was created in n8n v1.84.0
by Jimleuk
If you have a shared or personal drive location with a high frequency of files created by humans, it can become difficult to organise. This may not matter... until you need to search for something! This n8n workflow works with the local filesystem to target the messy folder and categorise as well as organise its files into sub directories automatically. Disclaimer Unfortunately due to the intended use-case, this workflow will not work on n8n Cloud and a self-hosted version of n8n is required. How it works Uses the local file trigger to activate once a new file is introduced to the directory The new file's filename and filetype are analysed using AI to determine the best location to move this file. The AI assess the current subdirectories as to not create duplicates. If a relevant subdirectory is not found, a new subdirectory is suggested. Finally, an Execute Command node uses the AI's suggestions to move the new file into the correct location. Requirements Self-hosted version of n8n. The nodes used in this workflow only work in the self-hosted version. If you are using docker, you must create a bind mount to a host directory. Mistral.ai account for LLM model Customise this workflow If the frequency of files created is high enough, you may not want the trigger to active on every new file created event. Switch to a timer to avoid concurrency issues. Want to go fully local? A version of this workflow is available which uses Ollama instead. You can download this template here: https://drive.google.com/file/d/1iqJ_zCGussXpfaUBYGrN5opziEFAEQMu/view?usp=sharing
by Sarfaraz Muhammad Sajib
๐ง Email Validation Workflow Using APILayer API This n8n workflow enables users to validate email addresses in real time using the APILayer Email Verification API. It's particularly useful for preventing invalid email submissions during lead generation, user registration, or newsletter sign-ups, ultimately improving data quality and reducing bounce rates. โ๏ธ Step-by-Step Setup Instructions Trigger the Workflow Manually: The workflow starts with the Manual Trigger node, allowing you to test it on demand from the n8n editor. Set Required Fields: The Set Email & Access Key node allows you to enter: email: The target email address to validate. access_key: Your personal API key from apilayer.net. Make the API Call: The HTTP Request node dynamically constructs the URL: https://apilayer.net/api/check?access_key={{ $json.access_key }}&email={{ $json.email }} It sends a GET request to the APILayer endpoint and returns a detailed response about the email's validity. (Optional): You can add additional nodes to filter, store, or react to the results depending on your needs. ๐ง How to Customize Replace the manual trigger with a webhook or schedule trigger to automate validations. Dynamically map the email and access_key values from previous nodes or external data sources. Add conditional logic to filter out invalid emails, log them into a database, or send alerts via Slack or Email. ๐ก Use Case & Benefits Email validation is crucial in maintaining a clean and functional mailing list. This workflow is especially valuable in: Sign-up forms where real-time email checks prevent fake or disposable emails. CRM systems to ensure user-entered emails are valid before saving them. Marketing pipelines to minimize email bounce rates and increase campaign deliverability. Using APILayerโs trusted validation service, you can verify whether an email exists, check if itโs a role-based address (like info@ or support@), and identify disposable email servicesโall with a simple workflow. Keywords: email validation, n8n workflow, APILayer API, verify email, real-time email check, clean email list, reduce bounce rate, data accuracy, API integration, no-code automation
by Oneclick AI Squad
This automated n8n workflow tracks booked flight fares post-purchase using Amadeus and Skyscanner APIs to detect drops for refund or credit opportunities. It streamlines fare monitoring, updates booking statuses, and notifies users via SMS or email. Fundamental Aspects Fare Check Trigger** - Initiates the workflow Get Tracked Bookings** - Retrieves existing booking data Prepare Fare Query** - Prepares query parameters Search Current Fares** - Queries Skyscanner for current fares Analyze Fare Drops** - Identifies significant fare reductions Update Fare Tracking** - Updates fare tracking records Update Booking Status** - Updates status based on fare changes Check if Notification Needed** - Determines if alerts are required Send Fare Drop Email** - Notifies users via email Notify Slack Team** - Alerts the team via Slack Check Refund Eligible** - Assesses refund eligibility Initiate Refund Process** - Starts refund procedure if eligible Check if SMS Needed** - Decides if SMS alert is necessary Send SMS Alert** - Sends SMS notification Setup Instructions Import the workflow into n8n Configure API credentials for Amadeus and Skyscanner Run the workflow Verify notifications and refund processes Features Fare Monitoring** - Tracks and compares fares using Amadeus and Skyscanner Alert System** - Sends email and SMS notifications for fare drops Refund Management** - Checks and initiates refund processes Trend Analysis** - Analyzes fare trends for strategic decisions DB Queries Get Tracked Bookings Columns:** - booking_id, passenger_name, email, phone, flight_number, departure_date, origin, destination, airline, booking_class, original_fare, booking_date, confirmation_code, tracking_enabled, last_checked, current_lowest_fare, trend. Update Fare Tracking Columns:** - booking_id, check_date, lowest_fare, fare_source, savings_amount, savings_percentage, fare_trend, priority_level, action_recommended, refund_eligible, available_fares_json, updated_at. Update Booking Status: Columns** - last_checked, current_lowest_fare, booking_id. DB Setup: Create tables 'bookings' and 'fare_tracking' with above columns, set 'booking_id' as primary key, and ensure proper indexing for performance. Run queries after configuring DB connection in n8n with appropriate credentials. Parameters to Configure amadeus_api_key**: Amadeus API key skyscanner_api_key**: Skyscanner API key email_recipients**: List of email addresses for alerts sms_recipients**: List of phone numbers for SMS alerts slack_channel**: Slack channel for team notifications refund_threshold**: Minimum fare drop for refund eligibility
by Dr. Firas
Who Is This For This workflow is ideal for content creators, solo founders, marketers, and AI enthusiasts who want to automate the full process of blog content creation. It is especially useful for professionals in tech, AI, and automation who publish frequently and need SEO-ready content fast. What Problem Does This Workflow Solve Creating SEO-optimized blog content is time-consuming and requires consistency. Manually researching trending topics slows down the content pipeline. Formatting, publishing, and promoting across multiple platforms takes effort. This workflow automates the entire process from research to publication. What This Workflow Does Research: Uses Perplexity AI to gather up-to-date content ideas via form input. Content Generation: GPT-4 creates a short, SEO-optimized article (max 20 lines) with H1, H2 structure and meta-description. Publishing: Automatically posts the content to WordPress. Email Notification: Sends the article title and URL via Gmail. Slack Notification: Notifies a specified Slack channel when the article is live. Database Logging: Saves the article details to a Notion database. Setup Guide Prerequisites WordPress account with API access OpenAI API Key Perplexity API Key Slack Bot Token Notion integration (Database ID) Gmail API credentials (optional) Community Node Required: This workflow uses n8n-nodes-mcp, which only works on self-hosted instances of n8n. > To install: Go to Settings > Community Nodes > Install n8n-nodes-mcp Steps Import the workflow into your n8n instance Install the required community node (n8n-nodes-mcp) Set up API credentials for OpenAI, Perplexity, WordPress, Slack, Gmail, and Notion Customize the form trigger with your preferred prompt Run a test using a sample topic How to Customize This Workflow Modify the research prompt to match your niche or industry Adjust GPT-4 settings for tone, structure, or content length Customize Notion fields (e.g., add tags, categories, or labels) Add logic for generating or assigning featured images automatically
by Jaber Zare
Who is this for? This workflow is for DevOps engineers, system administrators, and Docker users who want to automate the process of checking for updates, verifying them, and applying updates to their Docker-based deployment in a controlled manner. For example, this workflow is used to update the n8n Docker image. What does this workflow do? Fetches the latest Docker image version from GitHub. Compares it with the currently running version on the server. Sends a Telegram message requesting confirmation if an update is available. If confirmed, pulls the latest n8n Docker image, updates the container, and restarts it. Sends a Telegram message confirming the update is completed. Schedules automatic checks, Uses a cron trigger in n8n to check for updates at regular intervals. Setup Ensure n8n is installed and running in a Docker container. Create a Telegram bot using BotFather. Set up Telegram credentials. Set up SSH credentials (ensure the SSH user has sudo access). Obtain the bot token and chat ID. Set the Default variable node telegram-id (You can find it by messaging @get_id_bot). n8n-container-name (Specify the name of the n8n container.) working-directory (The directory where your docker-compose.yml is). You can use a manual trigger or a schedule trigger to update (for n8n, I use Cron every 3 days to check for a new version). How to customize this workflow Change the update mechanism: Modify the Docker commands if using a different container runtime or orchestration tool. Modify the confirmation flow: Add extra validation steps, such as checking for breaking changes before updating. Use a different notification method: Replace Telegram with Slack, email, or another notification service.
by Lucas Peyrin
How it works This template is an interactive, hands-on tutorial designed to demystify what an API is and how it works, right inside your n8n canvas. It uses a simple restaurant analogy to explain the core concepts: You* are the "Client" (an *HTTP Request** node). The Kitchen is the "Server" (a Webhook node). The API is the Menu and the Waiterโthe set of rules for how you can ask for things and get a response. The workflow is a series of self-contained lessons. Each lesson pairs an HTTP Request node (the customer placing an order) with a Webhook node (the kitchen receiving and responding to the order) to demonstrate a key concept: The Basics: Making a simple GET request to a URL. Customizing: Using Query Parameters to filter or modify your request. Sending Data: Using the POST method and a Body to send information to the server. Identification: Using Headers and simple Authentication to prove who you are. Handling Delays: Understanding how Timeouts prevent your workflow from getting stuck. Set up steps Setup time: < 1 minute This workflow is a self-contained tutorial and requires no external services or credentials. You may want to check the Base URL. Click "Execute Workflow" to run the entire tutorial. Follow the flow from top to bottom, exploring each "Lesson". For each lesson, click on the HTTP Request node and its corresponding Webhook node to see how they are configured and what they do. Read the sticky notes next to each lessonโthey contain the core explanations! That's it! Explore and have fun learning the fundamentals of APIs in an interactive way.
by Wyeth
Learn n8n: Interactive Lesson 1 This interactive tutorial teaches you how to build in n8n from scratch, using a live walkthrough with real-time examples. Rather than static documentation, this guided workflow explains key n8n concepts while you execute each step. It is ideal for developers new to n8n but experienced with programming, JSON, and APIs. Requirements An active n8n instance (cloud or self-hosted) Basic programming experience (JavaScript or TypeScript, JSON, and APIs) Web browser with console access (for log inspection) What This Workflow Covers Triggers, Form nodes, and data flow How n8n executes nodes one step at a time How data moves between nodes (variables, context, side effects) Merge, Split, Aggregate, and Loop patterns Code nodes in single vs multiple execution modes Debugging using Logs and console output Step-by-Step Setup Manual Setup Before starting, create your n8n account and optionally enable dark mode. A video link is included with suggested background material. Form-Based Progression The tutorial uses Form Trigger and Form nodes as interactive checkpoints. You will execute the workflow, follow the browser prompts, and observe what happens in the visual editor. Live Code and Flow Examples Key concepts like branching, merging, and data references are shown in action. Sticky notes in the workflow explain what to look for and how things work. Execution Behavior You will see how multiple items affect execution count, and how to control it using options like Execute Once, batching, and aggregation. Debugging with Logs Toward the end, the workflow encourages you to inspect inputs and outputs of each node, and use console.log() inside Code nodes to understand the data being passed around. How to Use This Workflow This workflow is meant to be a long-term reference. If you get stuck building in n8n, return to it. Each section focuses on a core concept such as how data flows, how execution counts behave, or how to merge parallel branches. You can copy and paste working examples from this tutorial directly into your own workflows to solve common problems. This is not just a lesson. It's a toolbox.
by Ventsislav Minev
Google Drive Duplicate File Manager ๐งน๐ Purpose: Automate the process of finding and managing duplicate files in your Google Drive. Who's it for? Individuals and teams aiming to streamline their Google Drive. Anyone tired of manual duplicate file cleanup. What it Solves: Saves storage space ๐พ. Reduces file confusion ๐โก๏ธ๐. Automates tedious cleanup tasks ๐ค. How it works: Trigger: Monitors a Google Drive folder for new files. Configuration: Sets rules for keeping and handling duplicates. Find Duplicates: Identifies duplicate files based on their content (MD5Checksum). Action: Either moves duplicates to trash or renames them. Setup Guide: Google Drive Trigger โฐ: Set up the trigger to watch a specific folder or your entire drive (use caution with the root folder! โ ๏ธ). Configure the polling interval (default: every 15 minutes). Config Node โ๏ธ: keep: Choose whether to keep the "first" or "last" uploaded file (default: "last"). action: Select "trash" to delete duplicates or "flag" to rename them with "DUPLICATE-" (default: "flag"). owner & folder: Taken from the trigger. Only change if needed. Key Considerations: Google Drive API limits:** Be mindful of API usage. Folder Scope:* The workflow handles one folder depth by default. (WARNING: If configured to work with the Root folder / all files in all sub-directories are processed so *USE THIS OPTION WITH CAUTION** since the workflow might trash/rename important files) Google Apps:** Google docs are ignored since they are not actual binary-files and their content can't be compared. Enjoy your clean Google Drive! โจ
by Hubschrauber
Fetches workflow definitions from within n8n, selecting only the ones that have one or more (configurable) assigned tags and then: Derives a suitable backup filename by reducing the workflow name to a string with alphanumeric characters and no-spaces Note: This isn't bulletproof, but works as long as workflow names aren't too crazy. Determines which workflows need to be backed up based on whether each one: has been modified. (Note: Even repositioning a node counts.) ...or... is new. (Note: Renaming counts as this.) Commits JSON copies of each workflow, as necessary, to a Gitlab repository with a generated, date-stamped commit message. Setup Credentials Create a Gitlab Credentials item and assign it to all Gitlab nodes. Create an n8n Credentials item and assign it to the n8n node Note: This was tested with http://localhost:5678/api/v1 but should work with any reachable n8n instance and API key. Modify these values in the "Globals" Node gitlab_owner - {{your gitlab account}} gitlab_project - {{ your gitlab project name }} gitlab_workflow_path - {{ subdirectory in the project where backup files should be saved/committed }} tags_to_match_for_backup - {{tag(s) to match for backup selection}} *ALERT: According to the n8n node's Filters -> tags field annotations, and API documentation, this supports a CSV list of multiple tags (e.g. tag1,tag2), but the API behavior requires workflows to have all-of the listed tags, not any-of them.* See: https://github.com/n8n-io/n8n/issues/10348 TL/DR - Don't expect a multiple tag list to be more inclusive. Possible workaround: To match more than one tag value, duplicate the n8n node into multiple single-tag matches, or split and iterate multiple values, and merge the results. Possible Enhancements Make the branch ("Reference") for all the gitlab nodes configurable. Fixed on all as "main" in the template. Add an n8n node to generate an audit and store the output in gitlab along with the backups. Extend the workflow at the end to create a Gitlab release/tag whenever any backup files are actually updated or created.
by Sk developer
๐ฅ Bulk TikTok Video Download Without Watermark to Google Drive This workflow automates the process of downloading TikTok videos and uploading them to Google Drive. It reads TikTok URLs from a Google Sheet, downloads the video using the TikTok Video Downloader โ a tool for downloading TikTok videos without watermark in HD quality โ uploads it to Drive, makes it public, and updates the same sheet with the Drive link. ๐ง What It Does โ Manually triggered when ready to run. ๐ Reads TikTok URLs from a Google Sheet. ๐ Loops through each URL one at a time. ๐ Fetches video download links using the TikTok Video Downloader โ a reliable TikTok video downloader without watermark. โฌ๏ธ Downloads each video in high-definition (HD) format using the direct media link. โ๏ธ Uploads the video to Google Drive. ๐ Sets public sharing permission for the video. โ๏ธ Updates the original Google Sheet with the public Drive URL. ๐ Google Sheet Example Make sure your sheet has at least these columns: | url | drive_link (to be auto-filled) | |-------------------------------------|--------------------------------| | https://www.tiktok.com/@user1... | (blank initially) | | https://www.tiktok.com/@user2... | (blank initially) | > The workflow reads from url and fills in drive_link after upload. ๐งฉ Nodes Used | Node Name | Type | Purpose | |------------------------------|-------------------|-------------------------------------------------------| | When clicking โExecuteโ | Manual Trigger | Starts the workflow manually | | Get Data From Google Sheets | Google Sheets | Fetches rows (TikTok URLs) | | Loop Over Items | Split In Batches | Iterates over each row | | Call TikTok Downloader | HTTP Request | Gets video download link from TikTok Video Downloader | | Wait | Wait | Optional delay to prevent overload | | Download File | HTTP Request | Downloads HD video using media link | | Upload File In Google Drive | Google Drive | Uploads the video to Google Drive | | Set Public Permission | Google Drive | Makes the uploaded file publicly accessible | | Update Row In Google Sheet | Google Sheets | Adds Drive link to the same row | | Sleep | Wait | Small delay between each iteration | ๐ Requirements โ Google API credentials (Service Account) with access to: Google Sheets Google Drive ๐ RapidAPI Key for TikTok Video Downloader โ a TikTok video downloader without watermark (HD supported) ๐ A Google Sheet with a url column containing TikTok video URLs ๐งฉ Challenges Solved | โ Challenge | โ Solution | |-------------|-------------| | TikTok video URLs often have watermarks and low quality | Used TikTok Video Downloader API for HD + no watermark download links | | No easy way to bulk download and organize TikToks | Automated fetching, downloading, and uploading using n8n + Google Drive | | Manual video saving and re-uploading to Drive is time-consuming | Eliminated all manual steps with a fully automated workflow | | Tracking which videos are already processed | Automatically updates the Google Sheet row with the final Drive link | | Drive files are private by default | Automatically sets public sharing permission on uploaded videos | | Risk of API rate limits or throttling | Added Wait nodes and batch processing to avoid overload | ๐ Benefits | ๐ Benefit | ๐ฌ Description | |------------|----------------| | ๐ Saves Time | Fully automates a previously manual workflow | | ๐ฅ High Quality Content | Videos downloaded are HD + watermark-free โ ready for reuse or archives | | ๐ Reusable Setup | Can process unlimited TikTok URLs via the Google Sheet | | ๐ Organized Output | Keeps track of source URL and uploaded Drive link in a single sheet | | ๐ Secure but Shareable | Drive links are auto-shared publicly while remaining under your control | | ๐ Scalable | Can be run daily, weekly, or triggered by new rows โ completely scalable | | ๐ธ Cost-Effective | No need for paid tools or manual freelancers โ runs on n8n + free APIs | ๐ก Use Cases Content curation from TikTok Archiving user-submitted TikToks Automating social-to-cloud workflows Bulk migration of video content Saving TikTok videos in HD without watermark for sharing or archiving ๐ Tips Replace manual trigger with Cron for full automation. Use the TikTok Video Downloader responsibly โ check API limits. Store metadata (e.g., uploader, hashtags) in additional Google Sheet columns. This tool helps ensure you're always downloading high-quality TikTok videos without watermark.