by Mobder
This workflow automatically connects to a Cloudflare R2 bucket (via S3-compatible API), filters out files older than 14 days, deletes them, and then sends a Telegram notification for each deletion. It runs on a daily schedule. 🕘 Schedule Trigger Executes the workflow once a day at a specified hour (e.g., 9 AM). 📦 S3 Node – List Files Retrieves all objects from a specific folder (prefix) in a Cloudflare R2 bucket using the S3 API. 🔎 Code Node – Filter Files Older Than 2 Weeks Filters the retrieved files by comparing their LastModified timestamps to the current date. Files older than 14 days (2 weeks) are selected for deletion. 🗑️ S3 Node – Delete File Deletes each filtered file from the R2 bucket. 📨 Telegram Node – Notify Deletion Sends a Telegram message with the name of the deleted file to a specified chat ID. The message includes:
by Zacharia Kimotho
How to scrap emails from websites This workflow shows how to quickly build an Email scraping API using n8n. Email marketing is at the core of most marketing strategies, be it content marketing, sales, etc. As such, being able to find contacts in bulk for your business on a large scale is key. There are available tools available in the market that can do this, but most are premium; why not build a custom one with n8n? Usage The workflow gets the data from a website and performs an extraction based on the date around on the website Copy the webhook URL to your browser Add a query parameter eg ?Website=https://mailsafi.com . This should give you a URL like this {{$n8nhostingurl/webhook/ea568868-5770-4b2a-8893-700b344c995e?Website=https://mailsafi.com Click on the URL and wait for the extracted email to be displayed. This will return the email address on the website, or if there is no email, the response will be "workflow successfully executed." Make sure to use HTTP:// for your domains Otherwise, you may get an error.
by Ger Longstacks
contract input: length of the strings and number of copies output: random strings as specified. randomness determined by Crypto node (generate/base64) How to run the workflow Import the workflow into your n8n project Click the Form Trigger to specify the length of the strings and how many copies to generate The workflow runs then displays the generated random strings How to set up No additional set up is necessary to execute the workflow manually. integration Patterns of interests formTrigger node to submit a form, then use form (end) node to display results at the end of the triggered workflow. set(dup)-summarize(concatenate) to run a part of the workflow multiple times then merge the results to one piece of data
by n8n Team
This workflow demonstrates two ways of exporting data from SQL to XML. First, several random records are received from the MySQL database. Then, in the upper part of the workflow, the structure of an XML is defined in the Set node. After that, the ItemLists node combines all items into an array. This allows an XML node to create a simple XML file. The lower part of the workflow shows how to create an XML with attributes. It is almost identical except that a $ (dollar sign) JSON key is used to define XML attributes. Finally, both files are saved locally.
by n8n Team
This workflow is designed to compare two datasets (Dataset 1 and Dataset 2) based on a common field, "fruit," and provide insights into the differences. Here are the steps: Manual Trigger: The workflow begins when a user clicks "Execute Workflow." Dataset 1: This node generates the first dataset containing information about fruits, such as apple, orange, grape, strawberry, and banana, along with their colors. Dataset 2: This node generates the second dataset, also containing information about fruits, but with some variations in color. For example, it includes a "kiwi" with the color "mostly green." Compare Datasets: The "Compare Datasets" node takes both datasets and compares them based on the "fruit" field. It identifies any differences or matches between the two datasets. In summary, this workflow is used to compare two datasets of fruits and their colors, identify differences, and provide guidance on how to explore the comparison results.
by Tom
This workflow builds a valid RSS feed (which is an XML feed under the hood) for ARD Audiothek podcasts. This allows you to subscribe to such podcasts using your favourite podcatcher without using the ARD Audiothek app. The example builds a feed for Kalk & Welk, but the workflow can be easily adjusted by providing another podcast URL on the Get overview page HTTP Request node. To subscribe to the feed, active your n8n workflow and then use the Production URL from the intitial Feed Webhook node in your podcatcher. I've tested the resulting feed using Pocket Casts... ...and Miniflux: When using Miniflux, you can add your feed via this page to your account. Make sure you select Private when doing so to avoid sharing your n8n instance with the world. The resulting feed passes the W3C Feed Validation Service: The workflow can also be used as a foundation to free other podcasts from propriertary big media platforms, though not all of them will be as simple to deal with as the ARD Audiothek.
by Vishal Kumar
Problem Teams often struggle with email overload, leading to missed actions and inefficient meeting preparation. Solution This workflow automates email management using n8n and AI. It fetches emails, summarizes key points and actions, and sends two concise updates—one in the morning and one at night. How It Works Triggers at 7 AM and 9 PM: Automates the process to summarize emails received during specific time blocks. Fetches Emails: Retrieves emails from the last 24 hours or after a specific time. Summarizes with AI: Uses OpenAI to process the email content into actionable summaries. Sends Team Updates: Compiles the summaries into a concise, formatted email and sends it to the team. Expected Results Significant reduction in missed actions and follow-ups. Customizations Adjust timings, filters, and recipients to suit your team’s needs.
by Antonio Cheong
Run Apache Airflow DAG and Retrieve XCom Value What this workflow does This workflow integrates the Apache Airflow API DAGRun and XCom. It enables n8n to trigger Airflow DAGs and retrieve the execution results. Preparation: Update Airflow API Link Prefix Navigate to the airflow-api node. Update the prefix of the Airflow API link in the format: http(s)://ip:port. Example: https://airflow.example.com Configure Authentication Go to the Airflow: dag_run node. Update the Basic Auth credentials with your Airflow username and password. Repeat this step for Airflow: dag_run - state and Airflow: dag_run - get result nodes. Security Note: Using Basic Authentication requires storing credentials in plaintext. If possible, consider using API Keys or Tokens for enhanced security. An example is setting Airflow's API Authentication to basic\_auth. Choose other authentication methods if needed. Ensure the user account has the following permissions: can create on DAG Runs, can read on DAG Runs, can read on XComs, can edit on DAGs, and can read on DAGs. How to Use: To execute this workflow, use the Execute Sub-workflow node with the following input parameters: dag\_id**: The DAG ID (name) in Airflow that you want to trigger. task\_id**: The Task ID (name) from which you want to retrieve the XCom return\_value. conf**: Input data for the Airflow DAG run. wait**: Delay (in seconds) between each Airflow: dag_run - state check. wait\_time**: The maximum time (in seconds) to wait for Airflow: dag_run - state before returning an error. Output: The workflow returns the XCom result from Airflow: dag_run - get result. The XCom return_value is stored in the value field.
by Hugues Stock
What does this template do ? This workflow performs scheduled health checks on a list of URLs stored in a Google Sheet. Every X minutes, it retrieves the URLs, sends HTTP requests to check their availability, and notifies a Telegram chat if any request fails. You can easily replace Telegram with any other notification service supported by n8n, such as Slack, Discord, Email, or Microsoft Teams. Use Case Ideal for monitoring internal or external services, ensuring uptime and responsiveness. Integrate with your preferred messaging platform for real-time failure notifications—without setting up complex infrastructure. What the Workflow Does ⏰ Triggers at regular intervals using Schedule Trigger 📄 Reads URLs from a Google Sheet 🌐 Sends HTTP requests to check URL health 🚨 Sends failure alerts (including error code and URL) to Telegram (or any service of your choice) Apps & Services Used Google Sheets Telegram (or alternative notification service) HTTP Request Pre-requisites Telegram bot and chat ID (if using Telegram) Connected Google Sheet with a URLS column (template) Customization Tips Adjust the schedule interval in the trigger node Replace Telegram with Slack, Email, Discord, or any other notification node Customize alert messages with more context or formatting Add filters, retries, or logging as needed
by Oriol Seguí
This fun workflow automates the generation and delivery of personalized jokes by email based on the names or objects entered in the form. The process works as follows: On form submission The workflow starts when someone submits a form with the required names or objects to create the joke. You can modify the form fields to make the jokes more creative. Set the output language Manually define the language in which you want to receive the joke. OpenAI Message Model Uses the OpenAI model to generate the joke based on the prompt and in the chosen language. (The response is limited to around 200 tokens.) Gmail: send message The generated joke is automatically sent to the specified email address via Gmail.
by Jonathan
This workflow searches for mentions of a company's name on Twitter and shares the tweets that mention it in a Slack channel. Prerequisites A Slack account and credentials A Twitter account and credentials Nodes Cron node executes the workflow every 10 minutes. Note that if you change the Mode from "Every X" you will need to manually update the Date & Time node to subtract the interval you are using. Set nodes set the required values (name of the Slack channel, name of the Twitter account to search for, the tweet text and URL). Date & Time node subtracts 10 minutes from the workflow execution time. Twitter node gets the latest 50 tweets that mention the specified account. IF node filters tweets posted in the past 10 minutes. Slack node posts tweets in a Slack channel.
by Lorena
This workflow collects images from web search results on a specific query, analyzes the image for labels, formats the text, and adds the information in Google Sheets. HTTP Request node** gets images from the web. AWS Rekognition node** analyzes the images (in this case, it detects text in an image). Set node** sets the values necessary for the data set. Function node** transforms the text detected in the image to lower case. Google Sheets node** adds the image information to a sheet that serves as data set.