by PiAPI
Who is the template for? This workflow is specifically designed for content creators and social media professionals, enabling Instagram and X (Twitter) influencers to produce highly artistic visual posts, empowering marketing teams to quickly generate event promotional graphics, assisting blog authors in creating featured images and illustrations, and helping knowledge-based creators transform key insights into easily shareable card visuals. Set up Instructions Fill in your API key from PiAPI. Fill in Basic Params Node following the sticky note guidelines. Set up a design template in Canvas Switchboard. Make a simple template in Switchboard. Click Crul and get the API code to fill in JSON of Design in Canvas. Click Test Workflow and get a url result. Use Case Here we will provide some setting examples to help users find a proper way to use this workflow. User could change these settings based on specific purposes. Basic Params Setting: theme: Hope scenario: Don't know about the future, confused and feel lost with tech-development. style: Cinematic Grandeur, Sci-Tech Aesthetic, 3D style example: 1. March. Because of your faith, it will happen. 2. Something in me will save me. 3. To everyone carrying a heavy heart in silence. You are going to be okay. 4. Tomorrow will be better. image prompt: A cinematic sci-fi metropolis where Deep Neural Nets control a hyper-connected society. Holographic interfaces glow in the air as robotic agents move among humans, symbolizing Industry 4.0. The scene contrasts organic human emotion with cold machine precision, rendered in a hyper-realistic 3D style with futuristic lighting. Epic wide shots showcase the grandeur of this civilization’s industrial evolution. Output Image: More Example Results for Reference
by Lucas Walter
Who's it for This template is perfect for sales professionals, marketers, and business developers who need to quickly gather contact information from company websites. Whether you're building prospect lists, researching potential partners, or collecting leads for outreach campaigns, this automation saves hours of manual email hunting. What it does This workflow automatically discovers and extracts email addresses from any website by: Taking a website URL as input through a simple form Using Firecrawl's mapping API to find relevant pages (about, contact, team pages) Batch scraping those pages to extract email addresses Intelligently handling common email obfuscations like "(at)" and "(dot)" Returning a clean, deduplicated list of valid email addresses The automation handles rate limiting, retries failed requests, and filters out invalid or hidden email addresses to ensure you get quality results. How to set up Get Firecrawl API access: Sign up at firecrawl.dev and obtain your API key Configure credentials: In n8n, create a new HTTP Header Auth credential named "Firecrawl" with: Header Name: Authorization Header Value: Bearer YOUR_API_KEY Import the workflow: Copy the workflow JSON into your n8n instance Test the form: Activate the workflow and test with a sample website URL How to customize the workflow Search parameters: Modify the search parameter in the map_website node to target different page types (currently searches for "about contact company authors team") Extraction limits: Adjust the limit parameter to scrape more or fewer pages per website Retry logic: The workflow includes retry logic with a 12-attempt limit - modify the check_retry_count node to change this Output format: The set_result node formats the final output - customize this to match your preferred data structure Email validation: The JSON schema in start_batch_scrape defines how emails are extracted - modify the prompt or schema for different extraction rules The workflow is designed to be reliable and handle common edge cases like rate limiting and failed requests, making it production-ready for regular use.
by Joachim Brindeau
Are you looking to install external libraries for your self-hosted N8N instance? This automated workflow makes adding npm packages to your N8N environment quick and effortless. Beware, this workflow only works on self-hosted instances. What This Workflow Does This solution automatically installs npm packages like axios, cheerio, or node-fetch in your self-hosted N8N Docker container, making them immediately available in Code nodes. Key features ✅ Automated Installation: No manual npm commands needed ✅ Daily Updates: Scheduled trigger keeps packages current ✅ Smart Installation: Only installs missing packages ✅ Multiple Triggers: Manual, scheduled, and on startup of the N8N instance so you can upgrade your N8N version without worrying about external libraries. How to install and update external libraries automatically Step 1: Setting Up Your Environment Variables Before using external libraries in N8N Code nodes, configure these environment variables in your Docker comppose file. Option A to allow specific external npm packages in N8N Code nodes NODE_FUNCTION_ALLOW_EXTERNAL=axios,cheerio,node-fetch Option B to allow all external npm packages in Code nodes NODE_FUNCTION_ALLOW_EXTERNAL=* Step 2: Import the external packages workflow Import the workflow into your N8N instance by copy pasting all nodes. Step 3: Input the list of external libraries you need Edit the libraries_set node Change the comma-separated list (e.g., axios,cheerio,node-fetch). If you chose Option A above, update your NODE_FUNCTION_ALLOW_EXTERNAL variable with the same packages Step 4: Start the workflow! Run the workflow manually or let it trigger automatically Why use this to install NPM packages in N8N? Managing external packages manually in N8N can be time-consuming. This workflow automates the entire process, making sure your libraries are always installed and up-to-date.
by Danger
Automated Execution Pruning This workflow is designed to help you manage and optimize your n8n instance by automatically pruning old workflow executions, ensuring a cleaner environment and improved performance. You can customize the retention period to suit your needs. Key Features: Configurable Retention Period: The workflow is preconfigured to delete workflow executions older than 10 days. You can easily adjust this duration by modifying the condition in the If node. Daily Automation: Using the Schedule Trigger, the workflow runs daily at the specified time (default: 4:44 AM), retrieving all workflow executions and identifying those that are older than the defined retention period. On-Demand Testing: The Manual Trigger allows you to test the workflow at any time, ensuring everything is working as expected. Decision Making: The If node evaluates each execution based on its start date and determines whether it should be deleted or retained. Execution Pruning: Delete Action: Executions meeting the criteria are removed via the Delete Execution node. No-Operation: Executions that don't meet the criteria remain untouched. Workflow Nodes: Manual Trigger: Enables on-demand testing of the workflow. Schedule Trigger: Runs the workflow daily at the configured time. n8n List Execution: Fetches all executions in your n8n instance. If Node: Compares the execution's start date with the configured retention period. Delete Execution: Deletes executions older than the specified retention period. No Operation: Serves as a placeholder for executions that don't meet the pruning criteria. How to Customize: Retention Period**: Update the If node's condition to modify the retention period. For instance, change 10 * 24 * 60 * 60 * 1000 to the desired number of days in milliseconds. Schedule**: Adjust the timing of the Schedule Trigger to match your preferred automation schedule. This workflow ensures your instance remains efficient by keeping only the relevant execution logs. Use it to maintain a streamlined and clutter-free environment effortlessly.
by Davide
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This n8n workflow integrates the powerful Pipedream MCP server with AI capabilities to create a smart, extensible assistant that can interact with over 2,700 APIs and 10,000+ tools — all within a secure and modular structure. This setup seamlessly integrates Pipedream's MCP server with n8n, enabling your AI assistant to leverage thousands of APIs and tools securely. Benefits Massive Tool Access**: Instantly connect 2,700+ APIs using Pipedream MCP tools — from productivity apps to custom APIs — with zero-code integration. Dynamic AI Agent**: The use of a LangChain agent allows for flexible tool execution and contextual conversations, powered by GPT. Easy Customization**: Simply copy your MCP tool URL into the respective sseEndpoint field to extend the agent’s capabilities. Scalable and Modular**: Add or remove tools (like Slack, Notion, Stripe, etc.) without altering the core logic. Secure and Revocable**: Credentials and API access can be managed directly via Pipedream’s MCP dashboard. How It Works Chat Trigger: The workflow begins when a chat message is received via the When chat message received node, which acts as the entry point. AI Agent Processing: The message is passed to the AI Agent node, which orchestrates the interaction using the connected tools and memory. Language Model: The OpenAI Chat Model (GPT-4.1-mini) processes the user's input and generates responses or actions. Memory: The Simple Memory node retains context from the conversation to enable coherent multi-turn interactions. Tool Integration: The Calendly and Gmail nodes (connected via Pipedream's MCP server) allow the AI to perform actions like scheduling events or sending emails. These tools use SSE (Server-Sent Events) endpoints provided by Pipedream. Response: The AI Agent combines the model's output and tool responses to deliver a final reply to the user. Set Up Steps Sign Up for Pipedream: Create an account on and set up your MCP server. Configure MCP Tools: Connect your accounts (e.g., Calendly, Gmail) in Pipedream and obtain the SSE endpoints for each tool (e.g., https://mcp.pipedream.net/xxx/calendly_v2). Update n8n Nodes: Replace the placeholder SSE endpoints in the Calendly and Gmail nodes with your Pipedream MCP URLs. OpenAI Credentials: Ensure the OpenAI Chat Model node has valid API credentials (configured under "OpenAi account"). Activate Workflow: Enable the When chat message received node (currently disabled) and deploy the workflow. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Yaron Been
Description This workflow automatically collects weather data from multiple sources and compiles it into comprehensive reports. It helps you make informed decisions based on accurate weather forecasts without manually checking multiple weather services. Overview This workflow automatically scrapes weather data from multiple sources and compiles it into a comprehensive report. It uses Bright Data to access weather websites and can be configured to send you regular weather updates for your locations of interest. Tools Used n8n:** The automation platform that orchestrates the workflow. Bright Data:** For scraping weather websites and forecast data without getting blocked. Notification Services:** Email, messaging apps, or other platforms. How to Install Import the Workflow: Download the .json file and import it into your n8n instance. Configure Bright Data: Add your Bright Data credentials to the Bright Data node. Set Up Notifications: Configure how you want to receive weather reports. Customize: Add your locations of interest and reporting frequency. Use Cases Event Planners:** Get weather forecasts for upcoming outdoor events. Farmers:** Monitor weather conditions for agricultural planning. Travelers:** Check weather forecasts for destinations before trips. Connect with Me Website:** https://www.nofluff.online YouTube:** https://www.youtube.com/@YaronBeen/videos LinkedIn:** https://www.linkedin.com/in/yaronbeen/ Get Bright Data:** https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission) #n8n #automation #weather #weatherforecasts #brightdata #webscraping #weatherreports #weatheralerts #weatherdata #weathermonitoring #n8nworkflow #workflow #nocode #weatherautomation #weatherscraping #weathertracking #weathernotifications #weatherupdates #forecastdata #weatherplanning #weatherservice #outdoorevents #weatherapi #weatherinformation #climatedata #weathertech
by Julien DEL RIO
📌 Description This workflow serves a 1x1 transparent PNG image via a webhook, which can be embedded in an email to track when the email is opened. When the image is loaded by the recipient's email client, the webhook is triggered, optionally capturing a userId to identify who opened the email. 📂 Workflow Steps Webhook Trigger (Request img) Path: /webhook/change-with-your-id Triggered by an HTTP request (e.g. when the image is loaded in an email). Accepts a query parameter id to identify the recipient. Set Base64 Data (Create data pix) Creates a variable data containing a Base64-encoded transparent PNG image (1x1 pixel). Convert to Binary (Create img bin) Converts the Base64 data string into a binary file. Sets MIME type to image/png. Respond to Webhook (Respond to Webhook) Sends the binary image file in the HTTP response. Logging (Do anything to log) Placeholder node to log or process the id or request metadata. You can access the id using {{$json"query"}}. You can also use any parameter you want ✉️ How to Use in Emails Embed the image in an HTML email like this: When the email is opened and the image is loaded, the workflow will be triggered. 🛠️ Notes Some email clients block images by default; this may prevent tracking. You can enhance the workflow to store open events in a database, log the timestamp, IP, or user agent. Make sure to comply with data privacy and consent regulations (e.g. GDPR).
by Paul Taylor
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 📄 Post New Articles from Feeds to Slack Channel 🧠 What This Workflow Does This workflow automates the discovery and sharing of fresh articles from a curated list of RSS feeds. It performs the following steps: Reads a list of RSS feed URLs from a Google Sheet (Feeds tab). Fetches the latest articles from each feed. Checks for duplicates against previously published links stored in another sheet (Posted Articles tab). Filters out already shared articles. Posts the new articles to a designated Slack channel with formatted titles and links. Logs the newly shared articles back into the Google Sheet to prevent duplicates. 🛠️ Prerequisites To use this workflow, you must have: ✅ Google Sheets OAuth2 credentials set up in n8n (Used to access and update the RSS feed and post history sheets) ✅ Slack OAuth2 credentials (Used to post messages to a specific Slack channel) ✅ A Google Spreadsheet with: Feeds tab – Columns: title, link Posted Articles tab – Columns: title, link, pubDate 🔧 Environment Variables or Custom Values You will need to set the following n8n variable or replace with direct input: {{$vars.Daily_Industry_News_Automation_Google_Sheet}}: Reference to the Google Sheet Document ID (you can use a static ID if preferred) Also update: Slack channelId: Replace with your actual Slack channel ID if not dynamically referenced ⏰ Trigger & Scheduling Trigger type**: Cron node Default schedule: Every day at **7:00 AM You can modify this in the “Trigger Workflow” node to suit your own schedule. 🎯 Intended Use Case This workflow is ideal for: Marketing teams curating daily or weekly news digests Founders or industry professionals monitoring sector updates Automating internal Slack news updates Avoiding duplicate content when sourcing from multiple feeds
by Samir Saci
Tags*: Supply Chain, Logistics, Geocoding, Transportation, GPS API Context Hi! I’m Samir — a Supply Chain Engineer and Data Scientist based in Paris, and founder of LogiGreen Consulting. I help companies improve their logistics operations using data, AI, and automation to reduce costs and minimize environmental footprint. > Let’s use n8n to analyze geographical data! 📬 For business inquiries, you can add find me on LinkedIn Who is this template for? This workflow is designed for logistics and transport teams but also market analytics experts that need to process geocoding data (get GPS coordinates from addresses). Ideal for: Transportation Planning Supply Chain Network Design Route optimization studies How does it work? This n8n workflow connects to a Google Sheet where you store addresses with country codes, and uses the OpenRouteService API to calculate: 📏 GPS Coordinates (longitude, latitude) 🗺️ Neighbourhood, City and local information Steps: ✅ Load addresses with country codes 🔁 Loop through each record 🚚 Query OpenRouteService 🧾 Extract and store results: longitude, latitude, neighbourhood 📤 Update the Google Sheet with new values What do I need to get started? This workflow is beginner-friendly and requires: A Google Sheet with route pairs (departure and destination coordinates) A free OpenRouteService API key 👉 Get one here Next Steps 🗒️ Follow the sticky notes inside the workflow to: Select your sheet Plug in your API key Launch the flow! 🎥 Check the Tutorial 🚀 You can customise the workflow to: Add additional outputs from the API Connect to your TMS via API or EDI This template was built using n8n v1.93.0 Submitted: June 1, 2025
by Shiva
This workflow enables users to submit food images to a Telegram bot, which uses OpenAI’s GPT-4 Vision to identify the item and estimate its caloric value. The results are stored in Google Sheets and sent back to the user. What it does: Triggers on a photo sent via Telegram. Acknowledges the user with a sticky note message. Downloads the image file securely using Telegram's API. Sends the image to GPT-4 Vision with a prompt: “Describe this food and estimate its calories.” Logs the GPT response to a Google Sheet (with timestamp). Replies to the user with the result (e.g., food name and estimated calories). Use cases: Personal food tracking Nutrition logging via chat Meal journaling for fitness or health Requirements: Telegram Bot Token (via credentials) OpenAI GPT-4 Vision access Google Sheets credential with access to the target sheet Notes: You can extend this template to calculate daily totals, categorize meals (breakfast/lunch/dinner), or even integrate with calorie goals. The sticky note node confirms receipt to enhance UX. Ideal for wellness apps, chat-based food journals, or AI-powered health bots.
by MilanWR
Telegram N8N workflow (de)activator What does it do? This workflow helps you to quickly activate or deactivate a workflow through Telegram. Sometimes we are not able to access a PC to resolve an issue if something goes wrong with a workflow. If you, like me, use Telegram to send yourself error reports, you can quickly react in case of urgency. Just by sending '/stop' combined with the name you use for a workflow, you can deactivate a workflow, or reactivate it with '/start'. For example '/stop marketing'. Walkthrough: https://watch.screencastify.com/v/uWQ88gZKj57WTGOOqSW2 (6min) Instructions Create a Telegram API key through botfather (https://t.me/botfather). Add it to the telegram credentials. For the N8N nodes, go to settings in your n8n instance. Then 'n8n API' and 'create an API key'. To ensure that only we can send commands to the bot, we need the chat ID of our DM with our newly created bot. Open the the Telegram trigger and click on 'listen to events'. Go to Telegram and send a direct message to the bot, this will trigger the Telegram node. Go to the filter node and fill in the chat id you want to filter for with the data you got from the test event in the Telegram node. In the first Switch node you can find the commands, in this case it is '/start' and '/stop'. When you send a message to your bot starting with either of those, it will go to the next switch nodes. Next it will check what other word it contains. As an example I have used the words 'marketing' and 'sales', both corresponding to a marketing and sales workflow. The last nodes will either activate or deactivate a workflow.
by n8n Team
This workflow imports multiple CSV files and appends or updates them to a Google Sheets document. Here's a step-by-step breakdown: When clicked "Execute Workflow", the process starts. The "Read Binary Files" node reads all the '.csv' files from the specified directory. The files are then split into batches (one file in a batch) by the "Split In Batches" node. For each file, the "Read CSV" node reads the data from the CSV file. The "Assign source file name" node assigns the source file name to the data. The data is then processed by the "Remove duplicates" node. This removes any duplicate entries based on the 'user_name' field. The "Keep only subscribers" node filters the data to keep only those entries where the 'subscribed' field is set to 'TRUE'. The data is then sorted by the 'date_subscribed' field using the "Sort by date" node. Finally, the processed data is appended or updated to a specified Google Sheets document using the "Upload to spreadsheet" node. It checks for the 'user_name' field, if the data corresponding to that 'user_name' already exists, it updates the data, otherwise appends the new data.