by Henri
Description This template will help you verify that incoming calls from a Slack webhook actually come from Slack and not some unknown third-party services. It is mainly used to prevent attacks from malicious bots or individuals. This is a Sub-Workflow, so it should be used inside the main workflow that contains the webhook listening for Slack requests. How to Use What to Edit You should set the Slack Signing Secret that you can find on your Slack App dashboard in the general tab. It should be located under the following URL: https://api.slack.com/apps/[SLACK_APP_ID]/general Input The input should be the received Slack request. This workflow should then be placed directly after the Slack Webhook. Outputs Success Output If the signature was verified successfully, we return a key verified_signature set to true along with data from the Slack request itself. Error Output When the signature could not be verified, we raise an error. You can handle this case in your main workflow by using an Error Workflow or by changing your node settings and choosing some actions in case of an error. Changelog Version 1.0.1 (2023-12-11) Changed replace by replaceAll in JS code in case of several arguments. Added some custom replacements that encodeURIComponent does not take into account
by Joachim Hummel
This workflow automates the daily backup of all your n8n workflows to a designated folder in Nextcloud. It ensures that you always have the last 7 days of backups available while automatically deleting older ones to save space. 🔧 Features Scheduled Trigger: Runs automatically once per day (can be executed manually as well). Directory Management: Creates the /N8N-Backup directory in Nextcloud if it doesn't already exist. Backup Collection: Retrieves all workflows from the n8n instance. JSON Conversion: Converts each workflow into a JSON file. Upload to Nextcloud: Saves each backup file into the specified backup directory. Retention Control: Keeps only the latest 7 backups and deletes the rest from Nextcloud. 📌 Notes Make sure to manually create the /N8N-Backup directory in your Nextcloud account before using this flow. Update the Backup Path node if you wish to change the upload directory. Ideal for teams using n8n with self-hosted instances and requiring offsite backup via Nextcloud. 🔒 Requirements n8n instance with access to the Nextcloud node. Valid credentials for your Nextcloud account with API access. Update: 08/11/2025 “Backup Flows to Nextcloud” – Import format fixed Summary: The workflow now exports one clean JSON object per workflow (no arrays, no backup/meta fields), so files can be imported 1:1 via the n8n UI. What changed: Switched from “Convert to File” to a Set node that builds the JSON in binary data. Enabled filters.include = "all" on Get many workflows to include nodes, connections, settings, pinData, and tags. Sanitized filenames and removed IDs/metadata that can break UI imports. Fixed Nextcloud path and binary property mapping (data). Verification: Generated multiple backups and imported each via UI (“Import from file”) without errors. Each file begins with { (single object) and loads with full workflow structure. Notes: Keep “Binary Property” set to data in the Nextcloud node. Filenames are sanitized to avoid special-character issues.
by Michael Gullo
A Customizable n8n Automation That Turns Your Inbox Into A Daily Digest. The goal of this workflow is to offer a highly customizable foundation that users can tailor to fit their specific platform and setup. While the current version uses Gmail, it can easily be adapted to work with other providers by replacing the email node with alternatives such as IMAP Email Trigger, Microsoft Outlook, or any compatible Email node. This workflow can also be extended to work with platforms like Telegram, WhatsApp, or any service that supports bots and n8n integration. The core objective is to generate scheduled email summaries whether it’s the most recent email, emails from a specific sender, or all emails received within a day. I built this workflow as a flexible building block for anyone looking to develop a more advanced email agent. It’s designed to reduce the mental load of reviewing emails each day by automatically delivering a summarized version of your inbox. Currently, the summary is saved to Google Docs, chosen for its simplicity and accessibility. However, users can easily modify this to integrate with other document management systems or destinations. I plan to continue updating and expanding this workflow to better serve the needs of users. If you have suggestions, ideas, or feedback, I’d love to hear them your input helps make this tool even more useful. Workflow Components Schedule Node – Triggers the workflow daily at a specified time. Gmail: Get Messages Node – Retrieves the latest email. Can be changed for any amount of emails. Limit Node – Ensures only one or any number emails is processed at a time. If Node – Checks if any emails were retrieved. Code Node – Cleans and formats the email content. Code Node – Provides a fallback message if no emails are found. OpenAI Summary Node – Summarizes the email using CharGPT. Create Google Doc Node – Creates a new Google Document for the summary. Update Google Doc Node – Inserts the summarized content into the document. Expanding The Workflow This workflow is fully modular and easy to extend. To send summaries via Telegram, Slack, or any other emails simply add the respective node after the summary is generated and connect your bot or webhook credentials. To use Outlook instead of Gmail, just swap the email input node with the Microsoft Outlook node or an IMAP Email Trigger, depending on your preferred setup. Need Help? Have Questions? For consulting and support, or if you have questions, please feel free to connect with me on LinkedIn or via email.
by Eduard
🎲 Random Data Generator 🎲 This beginner-friendly workflow allows you to generate random mock data effortlessly, without any programming or external dependencies. 🚀 Here's how it works: 📝 Provide some default values for the random generator using the "Code" node. Don't worry, no coding is needed, it's just a simple JSON! You can even use the "Ask AI" in the cloud version of n8n to generate mock values for you. These values are permanently stored in the workflow ensuring swift and reliable execution. 🔀 The "Firstname," "Lastname," and "Occupation" nodes extract invividual variables. Two Merge nodes create a combination of all possible values. Adapt this section based on your needs. 🎲 The "Random" node shuffles the generated data. 🔢 Use the "Limit" node to control the number of output items. ✨ Perform additional post-processing, such as deriving email addresses based on the user's name and surname. And there you have it! With just a few clicks, you'll have a set of realistic mock data ready to test your workflows. 🎉 Want to learn more? Check out the full tutorial on YouTube! 📺 Happy data generating! 😄
by Dhrumil Patel
Stay ahead in your trading game with this powerful n8n automation workflow. Designed for real-time efficiency, this setup continuously scans your Gmail inbox for trading alerts from TradingView and ensures you never miss a signal. Every minute, this workflow will: 📩 Check Gmail for new messages using a trigger. 🔍 Identify emails coming specifically from TradingView. 📊 Extract key trading signals like BUY or SELL along with the company name. 🕒 Capture the exact date and time of the alert. 📄 Log all extracted signals neatly into a Google Sheet for easy tracking and analysis. 📲 Instantly notify you on Telegram with a custom message so you can act fast. Perfect for traders who want an automated assistant to handle alerts, record them for analysis, and provide timely updates — all without lifting a finger.
by Mutasem
Use case Automatically create todo items in Todoist every morning. This workflow has two flows At 5am, delete any uncompleted tasks every morning At 5:10 am, copy all template tasks into Inbox In each template task, set the due dates and days to add the task. You can do that like this days:mon,tues; due:8pm which will add the task every Monday and Tuesday and make it due at 8pm. How to setup Add Todoist creds Create a template list to copy from in Todoist. Add days and due times on each task as necessary. Set the projects to copy from and to write to in each Todoist node
by Juan Carlos Cavero Gracia
This automated workflow template transforms a single product image into a complete professional advertisement video with dynamic motion and custom soundtrack. Perfect for e-commerce businesses, marketing agencies, and content creators who need to quickly produce high-quality video ads for social media platforms like TikTok, Instagram Reels, and YouTube Shorts. Note: This workflow uses FAL.ai API for AI image generation with Gemini Bano Banana and video creation with Wan, Google Gemini for intelligent storyboarding, ImgBB for image hosting, and Upload-Post.com for automated social media publishing.* Who Is This For? E-commerce Businesses:** Transform product photos into engaging video advertisements that drive sales and increase conversion rates across social media platforms. Marketing Agencies:** Scale video ad production for multiple clients without expensive video equipment or extensive editing time. Social Media Managers:** Create consistent, professional video content for brands that stands out in crowded social feeds. Content Creators & Influencers:** Generate eye-catching product showcase videos for sponsored content and affiliate marketing campaigns. Small Business Owners:** Compete with larger brands by creating professional-quality video ads on a budget. What Problem Does This Workflow Solve? Creating professional video advertisements traditionally requires expensive equipment, design skills, and hours of editing time. This workflow addresses these challenges by: AI-Powered Visual Enhancement:** Automatically generates 4 unique variations of your product image with different lighting, backgrounds, and visual effects. Intelligent Motion Generation:** Converts static images into dynamic 5-second video clips with smooth camera movements, rotations, and visual effects. Automated Storyboarding:** Uses AI to create a cohesive visual narrative that showcases your product from multiple appealing angles. Professional Audio Integration:** Automatically generates and adds suitable background music that matches your product and brand aesthetic. Seamless Video Composition:** Combines all video clips into a single 20-second advertisement with smooth transitions. Multi-Platform Publishing:** Automatically uploads finished videos to TikTok, Instagram, and YouTube with optimized formatting. How It Works Product Upload: Submit a single product image and brief description through the web form interface. AI Storyboard Creation: Google Gemini AI analyzes your product and creates a 4-frame visual story with lighting enhancements, background changes, and cinematic effects. Image Generation: FAL.ai Gemini 2.5 Flash creates 4 unique variations of your product image based on the AI-generated prompts. Video Animation: Each enhanced image is converted into a 5-second video clip with specific motion patterns (rotation, zoom, lighting sweeps, camera orbits). Quality Control: The system monitors video generation progress and ensures all clips are successfully created before proceeding. Video Sequencing: FFmpeg API combines all 4 video clips into a seamless 20-second advertisement with smooth transitions. Audio Enhancement: AI generates appropriate background music that matches your product category and brand style. Final Composition: Audio and video are merged to create the complete advertisement. Automated Publishing: The finished video is automatically uploaded to TikTok, Instagram Reels, and YouTube with your product description. Setup FAL.ai API Setup: Create account at fal.ai and obtain API credentials Add your API token to the HTTP request authentication nodes Google Gemini API: Set up Google AI Studio account and get API key Configure the Google Gemini Chat Model node with your credentials ImgBB Configuration: Register at imgbb.com for image hosting Update the imgbb_api_key in the "Set APIs Vars" node Upload-Post Integration: Create account at upload-post.com Connect your social media accounts (TikTok, Instagram, YouTube) Add your Upload-Post credentials to the final upload node Workflow Configuration: Adjust video parameters (resolution, frame rate, duration) in the image-to-video nodes Customize audio prompts in the "Create Sounds" node Modify social media posting settings in the "Upload Post" node Requirements Accounts:** n8n, FAL.ai, Google AI Studio, ImgBB, Upload-Post.com API Keys:** FAL.ai API token, Google Gemini API key, ImgBB API key, Upload-Post credentials Social Media:** Connected TikTok, Instagram, and YouTube accounts for automated publishing Features AI-Powered Image Enhancement:** Creates 4 professional variations with lighting, background, and effect improvements Dynamic Video Generation:** Converts static images to engaging videos with camera movements and visual effects Intelligent Audio Matching:** Generates background music that complements your product and target audience Multi-Platform Optimization:** Automatically formats videos for TikTok, Instagram Reels, and YouTube Shorts (9:16 aspect ratio) Progress Monitoring:** Built-in status checking ensures reliable video generation before proceeding to next steps Automated Publishing:** Direct upload to social media platforms with optimized descriptions and formatting Scalable Processing:** Handles multiple video generations simultaneously for efficient batch processing Professional Quality:** Produces broadcast-ready videos suitable for paid advertising campaigns Use this template to revolutionize your product marketing strategy, automatically converting any product photo into multiple high-quality video advertisements ready for immediate social media deployment.
by Dataki
This workflow serves as a solid foundation when you need an AI Agent to return output in a specific JSON schema, without relying on the often-unreliable Structured Output Parser. What It Does The example workflow takes a simple input (like a food item) and expects a JSON-formatted output containing its nutritional values. Why Use This Instead of Structured Output Parser? The built-in Structured Output Parser node is known to be unreliable when working with AI Agents. While the n8n documentation recommends using a “Basic LLM Chain” followed by a Structured Output Parser, this alternative workflow completely avoids using the Structured Output Parser node. Instead, it implements a custom loop that manually validates the AI Agent's output. This method has proven especially reliable with OpenAI's gpt-4.1 series (gpt-4.1, gpt-4.1-mini, gpt-4.1-nano), which tend to produce correctly structured JSON on the first try, as long as the System Prompt is well defined. In this template, gpt-4.1-nano is set by default. How It Works Instead of using the Structured Output Parser, this workflow loops the AI Agent through a manual schema validation process: A custom schema check is performed after the AI Agent response. A runIndex counter tracks the number of retries. A Switch node: If the output does not match the expected schema, it routes back to the AI Agent with an updated prompt asking it to return the correct format. The process allows up to 4 retries to avoid infinite loops. If the output does match the schema, it continues to a Set node that serves as chat response (you can customize this part to fit your use case). This approach ensures schema consistency, offers flexibility, and avoids the brittleness of the default parser.
by bangank36
This workflow scrapes Trustpilot reviews for a given profile and saves them into Google Sheets. How It Works Clone this Google Sheets template, which includes two sheets: trustpilot A raw collection of Trustpilot reviews. You can customize it as needed. helpfulcrowd This sheet follows the format from this HelpfulCrowd guide, with a slight modification: an added review_id column to support the upsert process. Once the workflow is complete, export the sheet as a CSV and upload it to HelpfulCrowd. For detailed steps, see this post. Running the Workflow You can trigger the workflow on-demand or schedule it to run at a set interval. Requirements Trustpilot business name** (e.g., n8n.io in https://www.trustpilot.com/review/n8n.io). Update this name and pagination settings in the Global node. Google Sheets API credentials** Check out my other templates: 👉 My n8n Templates
by Artem Boiko
Estimate embodied carbon (CO2e) for grouped BIM/CAD elements. The workflow accepts an existing XLSX (grouped element data) or, if missing, can trigger a local RvtExporter.exe to generate one. It detects category fields, filters out non-building elements, infers aggregation rules with AI, computes CO2 using densities & emission factors, and exports a multi-sheet Excel plus a clean HTML report. What it does Reads or builds XLSX** (from your model via RvtExporter.exe when needed). Finds category/volumetric fields**; separates building vs. annotation elements. Uses AI to infer aggregation rules (sum/mean/first) per header. Groups** rows by your group_by field and aggregates totals. Prepares enhanced prompts and calls your LLM to classify materials and estimate CO2 (A1-A3 minimum). Computes project totals* and generates a *multi-sheet XLSX* + *HTML** report with charts and hotspots. Prerequisites LLM credentials** for one provider (e.g., OpenAI, Anthropic, Gemini, Grok/OpenRouter). Enable one chat node and connect credentials. Windows host* only if you want to auto-extract from .rvt/.ifc via RvtExporter.exe. If you already have an XLSX, Windows is *not required**. Optional: mapping/classifier files (XLSX/CSV/PDF) to improve material classification. How to use Import this JSON into n8n. Open the Setup/Parameters node(s) and set: project_file — path to your .rvt/.ifc or to an existing grouped *_rvt.xlsx path_to_converter — C:\\DDC_Converter_Revit\\datadrivenlibs\\RvtExporter.exe (optional) group_by — e.g., Type Name / Category / IfcType sheet_name — default Summary (if reading from XLSX) Enable one LLM node and attach credentials; keep others disabled. Execute (Manual Trigger). The workflow detects/builds the XLSX, analyzes, classifies, estimates CO2, then writes Excel and opens the HTML report. Outputs Excel** (CO2_Analysis_Report_YYYY-MM-DD.xlsx, ~8 sheets): Executive Summary, All Elements, Material Summary, Category Analysis, Impact Analysis, Top 20 Hotspots, Data Quality, Recommendations. HTML**: executive report with key KPIs and charts. Per-group fields include: Material (EU/DE/US), Quantity & Unit, Density, Mass, CO2 Factor, Total CO2 (kg/tonnes), CO2 %, Confidence, Assumptions. Notes & tips Input quantities (volumes/areas) are already aggregated per group — do not multiply by element count. Use -no-collada upstream if you only need XLSX in extraction. Prefer ASCII-safe paths and ensure write permissions to output folder. Categories Data Extraction · Files & Storage · ETL · CAD/BIM · Carbon/ESG Tags cad-bim, co2, carbon, embodied-carbon, lca, revit, ifc, xlsx, html-report, llm Author DataDrivenConstruction.io info@datadrivenconstruction.io Consulting and Training We work with leading construction, engineering, consulting agencies and technology firms around the world to help them implement open data principles, automate CAD/BIM processing and build robust ETL pipelines. If you would like to test this solution with your own data, or are interested in adapting the workflow to real project tasks, feel free to contact us. Docs & Issues: Full Readme on GitHub
by n8n Team
This n8n workflow, which runs every Monday at 5:00 AM, initiates a comprehensive process to monitor and analyze network security by scrutinizing IP addresses and their associated ports. It begins by fetching a list of watched IP addresses and expected ports through an HTTP request. Each IP address is then processed in a sequential loop. For every IP, the workflow sends a GET request to Shodan, a renowned search engine for internet-connected devices, to gather detailed information about the IP. It then extracts the data field from Shodan's response, converting it into an array. This array contains information on all ports Shodan has data for regarding the IP. A filter node compares the ports returned from Shodan with the expected list obtained initially. If a port doesn't match the expected list, it is retained for further processing; otherwise, it's filtered out. For each such unexpected port, the workflow assembles data including the IP, hostnames from Shodan, the unexpected port number, service description, and detailed data from Shodan like HTTP status code, date, time, and headers. This collected data is then formatted into an HTML table, which is subsequently converted into Markdown format. Finally, the workflow generates an alert in TheHive, a popular security incident response platform. This alert contains details like the title indicating unexpected ports for the specific IP, a description comprising the Markdown table with Shodan data, medium severity, current date and time, tags, Traffic Light Protocol (TLP) set to Amber, a new status, type as 'Unexpected open port', the source as n8n, a unique source reference combining the IP with the current Unix time, and enabling follow and JSON parameters options. This comprehensive workflow thus aids in the proactive monitoring and management of network security.
by n8n Team
This n8n workflow serves as an incident response and notification system for handling potentially malicious emails flagged by Sublime Security. It begins with a Webhook trigger that Sublime Security uses to initiate the workflow by POSTing an alert. The workflow then extracts message details from Sublime Security using an HTTP Request node, based on the provided messageId, and subsequently splits into two parallel paths. In the first path, the workflow looks up a Slack user by email, aiming to find the recipient of the email that triggered the alert. If a user is found in Slack, a notification is sent to them, explaining that they have received a potentially malicious email that has been quarantined and is under investigation. This notification includes details such as the email's subject and sender. The second path checks whether the flagged email has been opened by inspecting the read_at value from Sublime Security. If the email was opened, the workflow prepares a table summarizing the flagged rules and creates a corresponding issue in Jira Software. The Jira issue contains information about the email, including its subject, sender, and recipient, along with the flagged rules. Issues that someone might encounter when setting up this workflow for the first time include potential problems with the Slack user lookup if the user information is not available or if Slack API integration is not configured correctly. Additionally, the issue creation in Jira Software may not work as expected, as indicated by the note that mentions a need for possible node replacement. Thorough testing and validation with sample data from Sublime Security alerts can help identify and resolve any potential issues during setup.