by Marcel Claus-Ahrens
This automation syncs your Invoice PDFs from Stripe to a (AWS) S3 Bucket each month, in a folder of your choice, with the following subPath: yourFolder/invoiceYear/invoiceMonth/fileName Fill in your Credentials and Settings in the Nodes marked with "*". You can adjust this Workflow to your needs. You can also override the yearand month in the ENV* Node for manual syncs. It will sync every Invoice PDF which created-date is greater then the provided year and month. It will automatically set the day to the first day of the desired month. Enjoy the Workflow! ❤️ https://let-the-work-flow.com Workflow Automation & Development
by Zacharia Kimotho
Remember when you were doing some large research and wanted to quickly bookmark a page and save it, only to find premium options? Worry not; n8n got you covered. You can now create a simple bookmarking app straight to your browser using simple scrips on your browser called bookmarklets. A bookmarklet is a bookmark stored in a web browser that contains JavaScript commands that add new features to the browser. To create one, we need to add a short script to the bookmark tab of our browser like below A simple hack is to open a new tab and click on the star that appears on the right side Now that we have our bookmark, it's time for the fun part. Right-click on the bookmark we just created and select the edit option. This will allow you to set the name you want for your bookmark and the destination URL. The URL used here will be the script that shall "capture" the page we want to bookmark. The code below has been used and tested to work for this example javascript:(() => { var currentUrl = window.location.href; var webhookUrl = 'https://$yourN8nInstanceUrl/webhook/1rxsxc04b027-39d2-491a-a9c6-194289fe400c'; var xhr = new XMLHttpRequest(); xhr.open('POST', webhookUrl, true); xhr.setRequestHeader('Content-Type', 'application/json'); var data = JSON.stringify({ url: currentUrl }); xhr.send(data); })(); Your Bookmark should look like something like this Now that we have this setup, we are now going to n8n to receive the data sent by this script. Create a new webhook node that receives the POST request as in the workflow and replace $yourN8nInstanceUrl with your actual n8n instance. This workflow can then be configured to send this data to a notion database. Make sure the notion database has all the required permissions before executing the workflow. Otherwise the URLs will not be saved
by Davide
This workflow streamlines your WooCommerce product creation process by integrating directly with Google Sheets. Simply input product details into your spreadsheet, and the workflow takes care of the rest-automatically creating new products on your WooCommerce store with inventory management. But it doesn’t stop there. A dedicated SEO expert chain analyzes each product’s content and generates optimized meta titles and meta descriptions for the plugin Yoast SEO, enhancing visibility and ranking potential on search engines. Key Benefits: 🔄 Automation: No more manual uploads—save time and reduce errors by syncing Google Sheets directly with WooCommerce. ⚡ Speed: Instantly publish multiple products with just one action. 🧠 Built-in SEO Intelligence: Automatically generate SEO-friendly meta titles and descriptions tailored to each product. 📈 Improved Search Visibility: Boost your store's traffic with optimized product listings. 🧩 Customizable: Easily adapt the workflow to your specific needs or integrate with other platforms. How It Works This workflow automates the creation of WooCommerce products and generates optimized SEO meta tags (title and description) using AI. Here’s the step-by-step process: Data Retrieval**: The workflow starts by fetching product details (title, category, description, price, etc.) from a Google Sheets document. Product Creation**: Each product is created in WooCommerce using the retrieved data, including categories, pricing, stock details, and images. AI-Powered SEO Optimization**: An AI model (Google Gemini via OpenRouter) analyzes the product details and generates SEO-optimized meta titles (≤60 chars) and meta descriptions (≤160 chars). Meta Tag Assignment**: The generated meta tags are saved back to the Google Sheets and applied to the WooCommerce product using Yoast SEO metadata. Completion Tracking**: The workflow marks completed entries in Google Sheets and sends a Telegram notification upon finishing all products. Set Up Steps Before running the workflow, ensure the following steps are completed: Step 1**: Install the Yoast SEO plugin on WordPress and add the provided PHP code to functions.php to enable meta tag API support. Step 2**: Enable the WooCommerce REST API in WordPress and configure the Telegram node with a valid CHAT_ID for notifications. Step 3**: Prepare a Google Sheet with product data (columns A-I in specific formats) and share its ID in the workflow. Ensure columns B, E, and F are in text format, and column I is numeric. Once set up, the workflow can be triggered manually or scheduled to run automatically, streamlining product creation and SEO optimization. Who is it useful for? Ideal for eCommerce managers, digital marketers, or anyone managing large product catalogs-this workflow turns your spreadsheet into a powerful product launcher. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Angel Menendez
Have you ever wanted to throttle Plex when connecting remotely to your server? Well here is the script for you! The instructions to deploy are below: You will need: A plex server with Plex Pass (for webhooks) n8n running locally (either in docker on via the desktop app) Qbittorent with WebUI enabled Begin by installing n8n by visiting n8n.io. You can install the desktop version or the docker version, whichever works best for your but I'm doing this on my desktop version of n8n. Copy the code from this page into your n8n install canvas. You should see the script appear before your eyes. From there, you Double click on the Webhook node at the beginning of the script. Copy both the Test and Production URLs that appear there. Now make your way to Plex and visit your settings. On the left, you should see the webhooks option if you have Plex Pass. This will setup your triggers. Next visit your qBitTorrent instance and enable WebUI. Notate your Username, Password, and Port. You will also need to know the IP of the machine that qbittorent is running on. If you have an iPhone you can connect to the same wireless network as your computer and use the Fing app to scan the network for the IP. Open up the script and edit the Global Variables to reflect the values you copied. Hit save at the top right, and then activate the script. Enjoy!!
by Shahrear
📜 AI-Powered Contract Management Pipeline (Google Drive + VLM Run + Sheets + Calendar + Slack) ⚙️ What This Workflow Does This workflow automatically extracts, organizes, and tracks legal contract details from documents uploaded to Google Drive. Using VLM Run’s Execute Agent, it parses key metadata such as contract ID, parties, dates, and terms — then stores, alerts, and schedules reminders through Google Sheets, Calendar, and Slack. 🧩 Requirements Google Drive OAuth2** for monitoring and downloads VLM Run API credentials** with Execute Agent access Google Sheets OAuth2** for structured record storage Google Calendar OAuth2** for key date reminders Slack API credentials** for team notifications A reachable Webhook URL (for receiving parsed contract data) ⚡Quick Setup Configure Google Drive OAuth2 and create upload folder and folder for saving extracted images. Install the verified VLM Run node by searching for VLM Run in the node list, then click Install. Once installed, you can start using it in your workflows. Add VLM Run API credentials for document parsing. Configure Google Sheet and Calendar. For Google Sheet, from the document list, pick your Google Sheet (e.g., test). Then select the sheet inside it (e.g., Sheet1). Set the operation to Append Row — this will add new contract details as new rows. Turn on Map Each Column Manually. Match each contract field (like Contract ID, Title, Parties, Effective Date, Termination Date) to its corresponding column in your Google Sheet. Configure Slack for notifications. ⚙️ How It Works Monitor Contract Uploads – Watches a target Google Drive folder for new file uploads (PDFs, images, or scans). Download Contract File – Automatically downloads new contracts for AI analysis. VLM Run ContractParser – Sends the file to the VLM Run Execute Agent, which extracts structured contract data, including: Contract ID Title Parties (with roles) Property address Effective date Termination date Rent, deposit, payment terms, and governing law Receive Contract Data – The webhook endpoint receives the structured JSON response. Format Contract Data – Normalizes fields, formats dates, and prepares for storage. Save to Expense Database (Google Sheets) – Appends extracted data to a master Google Sheet for centralized contract tracking. Notify via Slack – Posts a concise summary to a Slack channel, showing key contract details for visibility. Create Calendar Events – Automatically schedules Google Calendar events for: Effective Date Termination Date Renewal Reminder (60 days before termination) 💡 Why Use This Workflow Manual contract management is error-prone and time-consuming key details like renewal dates, payment terms, or termination clauses often get lost in email threads or folders. This workflow ensures: Zero missed deadlines** automatic Google Calendar reminders keep your team on track. Instant team visibility** - Slack notifications keep legal, finance, and operations aligned. End-to-end automation** no need for manual parsing, data entry, or follow-ups. 🧠 Perfect For Legal teams automating contract intake and tracking Real estate or lease management workflows Finance or procurement teams needing expiration alerts Organizations centralizing contract metadata in Sheets 🛠️ How to Customize Modify Extraction Fields Edit the VLM Run Execute Agent schema to add fields like contract value, payment schedule, department, or contact email. Change Storage Swap Google Sheets for Airtable, Notion, or BigQuery if you manage large datasets or need relational tracking. Customize Notifications Send Slack alerts only for high-value or expiring contracts, and tag relevant teams (e.g., @legal, @finance). Add Calendar Events Auto-create events for reviews or payment milestones using extra date fields. Add Approvals or Signatures Insert a Google Form or Slack approval step, or trigger DocuSign for e-signature automation. ⚠️ Community Node Disclaimer This workflow uses community nodes (VLM Run) that may need additional permissions and custom setup.
by Davide
This workflow is designed to generate SEO-friendly content with DeepSeek R1 (or V3), publish it on WordPress, and update a Google Sheets document with the details of the created post. Below is a detailed analysis of what each node in the workflow does: How It Works Triggering the Workflow: The workflow starts with a Manual Trigger node, which is activated when the user clicks "Test workflow" in the n8n interface. Fetching Data: The Get Ideas node retrieves data from a Google Sheets document. It reads a specific sheet and filters the data based on the "ID POST" column, returning the first matching row. Setting the Prompt: The Set your prompt node extracts the PROMPT field from the Google Sheets data and assigns it to a variable for use in subsequent steps. Generating Content: The Generate article node uses an AI model (DeepSeek) to create an SEO-friendly article based on the prompt. The article includes an introduction, 2-3 chapters, and a conclusion, formatted in HTML. The Generate title node uses the same AI model to generate a concise, SEO-optimized title for the article. Publishing on WordPress: The Create post on WordPress node creates a new draft post on WordPress using the generated title and article content. Generating and Uploading an Image: The Generate Image node creates a photorealistic image based on the article title using an AI model (OpenAI). The Upload image node uploads the generated image to WordPress as a media file. The Set Image node assigns the uploaded image as the featured image for the WordPress post. Updating Google Sheets: The Update Sheet node updates the original Google Sheets document with the post details, including the title, post ID, creation date, and row number. Set Up Steps Configure Google Sheets Integration: Set up the Google Sheets node to connect to your Google account and specify the document ID and sheet name to read from and update. Set Up AI Models: Configure the OpenAI nodes (for generating the article, title, and image) with the appropriate API credentials and model settings (e.g., deepseek-reasoner for text generation). Configure WordPress Integration: Set up the WordPress node with your WordPress site's API credentials to allow creating posts and uploading media. Define the Prompt and Content Structure: In the Set your prompt node, ensure the prompt variable is correctly mapped to the data from Google Sheets. In the Generate article and Generate title nodes, define the instructions for the AI model to generate the desired content. Set Up Image Generation: Configure the Generate Image node with the appropriate prompt and image settings (e.g., size, quality, style). Configure HTTP Requests for Media Upload: Set up the Upload image and Set Image nodes to use the WordPress REST API for uploading and assigning the featured image. Map Data for Google Sheets Update: In the Update Sheet node, map the relevant fields (e.g., title, post ID, date) to the appropriate columns in the Google Sheets document. Test and Activate the Workflow: Run the workflow manually to ensure all steps execute correctly. Once verified, activate the workflow for automated execution. Overall purpose of the workflow This workflow automates the creation of SEO-friendly content for a WordPress blog. Starting from a prompt extracted from a Google Sheets document, it generates an article, a title, and an image, publishes the post on WordPress, and updates the Google Sheets document with the details of the created post. This process is useful for blog managers who want to automate content creation and publishing. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Yaron Been
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This workflow automatically discovers and collects information about Stack Overflow user profiles for lead generation. It saves you time by eliminating the need to manually browse through developer profiles and provides a centralized database of potential leads with their technical expertise. Overview This workflow automatically scrapes Stack Overflow user profiles and extracts key information like developer names, locations, reputation scores, and technical tags. It uses Bright Data to access Stack Overflow without being blocked and AI to intelligently parse user data into structured format. Tools Used n8n**: The automation platform that orchestrates the workflow Bright Data**: For scraping Stack Overflow user profiles without being blocked OpenAI**: AI agent for intelligent data extraction and parsing Google Sheets**: For storing and organizing lead information 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 MCP Client node Set Up OpenAI: Configure your OpenAI API credentials Configure Google Sheets: Connect your Google Sheets account and specify the target spreadsheet Customize: Adjust the Stack Overflow URL and user criteria you want to target Use Cases Recruitment Teams**: Find developers with specific technical skills for hiring Business Development**: Identify potential clients or partners in the tech industry Sales Teams**: Build targeted outreach lists for developer-focused products Research**: Gather data on developer communities and skill distributions 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 #stackoverflow #leadgeneration #brightdata #webscraping #developers #recruitment #businessdevelopment #salesleads #n8nworkflow #workflow #nocode #leadautomation #developerscraping #techtalent #userprofiles #aiautomation #datamining #prospecting #outreach #techrecruiting #developerleads #stackoverflowscraping #profilescraping #leadcollection #techcommunity #developerdatabase #automatedleads #intelligentscraping
by Angel Menendez
Automate Report Generation with n8n & Qualys Introducing the Save Qualys Reports to TheHive Workflow—a robust solution designed to automate the retrieval and storage of Qualys reports in TheHive. This workflow fetches reports from Qualys, filters out already processed reports, and creates cases in TheHive for the new reports. It runs every hour to ensure continuous monitoring and up-to-date vulnerability management, making it ideal for Security Operations Centers (SOCs). How It Works: Set Global Variables:** Initializes necessary global variables like base_url and newtimestamp. This step ensures that the workflow operates with the correct configuration and up-to-date timestamps. Ensure to change the Global Variables to match your environment. Fetch Reports from Qualys:** Sends a GET request to the Qualys API to retrieve finished reports. Automating this step ensures timely updates and consistent data retrieval. Convert XML to JSON:** Converts the XML response to JSON format for easier data manipulation. This transformation simplifies further processing and integration into TheHive. Filter Reports:** Checks if the reports have already been processed using their creation timestamps. This filtering ensures that only new reports are handled, avoiding duplicates. Process Each Report:** Loops through the list of new reports, ensuring each is processed individually. This step-by-step handling prevents issues related to bulk processing and improves reliability. Create Case in TheHive:** Generates a new case in TheHive for each report, serving as a container for the report data. Automating case creation improves efficiency and ensures that all relevant data is captured. Download and Attach Report:** Downloads the report from Qualys and attaches it to the respective case in TheHive. This automation ensures that all data is properly archived and easily accessible for review. Get Started: Ensure your Qualys and TheHive integrations are properly set up. Customize the workflow to fit your specific vulnerability management needs. Need Help? Join the discussion on our Forum or check out resources on Discord! Deploy this workflow to streamline your vulnerability management process, improve response times, and enhance the efficiency of your security operations.
by Harshil Agrawal
This workflow handles the incoming issues and issues comments for your open-source project. If a contributor is interested, the workflow will assign them the issue. Note: For organizations, you will have to use the Webhook node to trigger the workflow. You will also have to use the HTTP Request node instead of the regular GitHub node. You can learn more about this workflow by reading the blog on https://n8n.io/blog.
by Edoardo Guzzi
This template integrates OpenAI's image generation and editing endpoints via the GPT-Image-1 model to visually create and manipulate images based on prompts. It features base64 conversion, binary handling, and prompt chaining. Perfect for marketing, design, product visuals and creative workflows. 🛠️ Requirements OpenAI account with access to gpt-image-1(probably you need organizations verifications for access to that model) OpenAI API credentials configured in n8n A self-hosted or cloud n8n instance Basic familiarity with the n8n UI (no programming required) 🔧 Step-by-step Instructions Step 1: Manual Trigger Starts the workflow on click. Ideal for testing the generation and edit logic. Step 2: Generate Image The Create image call node sends a prompt to OpenAI and returns a base64 image. Example prompt: A cyberpunk city at night with flying cars and neon lights Step 3: Convert to Binary The base64 image is converted into a usable binary PNG file with the Convert json binary to File node. Step 4: Edit the Image The binary file is passed to OpenAI’s /images/edits endpoint. A new prompt applies changes to the image. Example: Add a glowing robot in the foreground with a neon sword ✅ Supports model: gpt-image-1 ⚠️ Requires binary file (not base64) Step 5: Final Conversion Converts the final edited image from base64 to file so it can be downloaded or used in other nodes. 🎯 Real-World Use Cases 🎨 Artists & Creators: concept art and illustration variations 🛍️ E-commerce: auto-generate product mockups 📰 Marketing: create eye-catching blog or social visuals 💡 Bonus Ideas Add a Telegram or Slack node to generate or edit images via chat Use a Webhook to feed prompts from a form or frontend Add a mask to restrict edits to specific areas (e.g., background only)
by Priya Jain
This workflow provides an OAuth 2.0 auth token refresh process for better control. Developers can utilize it as an alternative to n8n's built-in OAuth flow to achieve improved control and visibility. In this template, I've used Pipedrive API, but users can apply it with any app that requires the authorization_code for token access. This resolves the issue of manually refreshing the OAuth 2.0 token when it expires, or when n8n's native OAuth stops working. What you need to replicate this Your database with a pre-existing table for storing authentication tokens and associated information. I'm using Supabase in this example, but you can also employ a self-hosted MySQL. Here's a quick video on setting up the Supabase table. Create a client app for your chosen application that you want to access via the API. After duplicating the template: a. Add credentials to your database and connect the DB nodes in all 3 workflows. Enable/Publish the first workflow, "1. Generate and Save Pipedrive tokens to Database." Open your client app and follow the Pipedrive instructions to authenticate. Click on Install and test. This will save your initial refresh token and access token to the database. Please watch the YouTube video for a detailed demonstration of the workflow: How it operates Workflow 1. Create a workflow to capture the authorization_code, generate the access_token, and refresh the token, and then save the token to the database. Workflow 2. Develop your primary workflow to fetch or post data to/from your application. Observe the logic to include an if condition when an error occurs with an invalid token. This triggers the third workflow to refresh the token. Workflow 3. This workflow will handle the token refresh. Remember to send the unique ID to the webhook to fetch the necessary tokens from your table. Detailed demonstration of the workflow: https://youtu.be/6nXi_yverss
by Brian Burnett
Basics Provides a mechanism to save all your workflows into a github repository and path (of your choosing). These can then be shared through your entire org and used to track changes (if you make any sad 'oopsies'. Flow Obtains and creates listing of currently configured workflows. Iterates through each workflow looking at the following Github source (if present) Actual workflow code (from N8N) Workflow code is sorted and compared for any changes If changed (or new) the workflows are saved / archived into github. Configuration Most of the configuration is done in the Globals node which houses the repo detail for github nodes. The only other dependency is that it by default looks for a GitHub credential, if you use something other than that precise wording you will need to change the credential used on the respective nodes. We gave it 'Manage' rights, but that was only so that it was able to override a requirement for checks to complete? Most would probably only need 'Write' privileges. Background Well, so we initially started using N8N just as a kubernetes-based service housed with its DB running inside the pod. Worked great for getting to know N8N and we jut kept all our workflows and credentials listed in a readme. Fast forward about a year... We have migrated this into our 'production' toolsets and maintain a bunch of team worflows inside it (not company-wide, but LOTS of team fun). While trying to spin a copy of our production RDS database, the ++actual++ production database was deleted, and in doing so AWS was nice enough to wipe our snapshots too!! Yea! Thankfully it only took us a few hours to get everything back up and running thanks to this, so I'm sharing it for everyone to benefit. We have used it to restore old workflows, changes, and now to test our full DR proceedures! (Ok, I might have taken that a bit far)