🎨 Interactive image editor with FLUX.1 fill tool for inpainting
> Like this template? Connect with Eduard via LinkedIn. This workflow is a prototype of an AI-powered image editing interface, similar to Photoshop's Generative Fill feature, but running entirely in the browser. It provides a web-based editor that allows users to: Select areas in images using an adjustable brush tool Input text prompts to guide the AI generation Compare original and generated images side by side Iterate on edits with different prompts and settings Save or reuse generated images > 🎨 Perfect for product catalog management, seasonal content updates, and creative image editing tasks! 📋 Requirements -------------- FLUX API Access: You'll need API credentials from FLUX to use this workflow. Configure the HTTP Header Auth credential in n8n with your FLUX API key 🔧 Key Components ---------------- FLUX Fill API for AI-powered image generation Konva.js for canvas manipulation img-comparison-slider for result visualization Custom CSS/JS for editor functionality Simple Editor Interface HTML page with an editor is served on the Webhook call Adjustable brush selection tool Provides several mock examples and allows uploading custom images Basic prompt and FLUX model parameter controls Image Processing Pipeline Handles image and mask separately Processes FLUX Fill API requests Delivers results back to the editor Result Viewer Split-screen comparison of original and generated images Interactive slider for before/after comparison Options to save or continue editing Support for multiple iteration cycles 🎯 Use Cases ----------- This prototype is particularly useful for: Testing AI-powered image editing concepts Quick product visualization experiments Exploring creative image variations Demonstrating inpainting capabilities > 💡 Pro Tip: Save masks for frequently edited areas to quickly generate variations with different prompts! The workflow can be extended to integrate with various data sources and can be customized for specific business needs.
Realtime Notion Todoist 2-way sync with Redis
Purpose This solution enables you to manage all your Notion and Todoist tasks from different workspaces as well as your calendar events in a single place. All tasks can be managed in Todoist and additionally Fantastical can be used to manage scheduled tasks & events all together. Demo & Explanation [](https://youtu.be/k66j6ZspjCg) How it works The realtime sync consists of two workflows, both triggered by a registered webhook from either Notion or Todoist To avoid overwrites by lately arriving webhook calls, every time the current task is retrieved from both sides. Redis is used to prevent from endless loops, since an update in one system triggers another webhook call again. Using the ID of the task, the trigger is being locked down for 15 seconds. Depending on the detected changes, the other side is updated accordingly. Generally Notion is treaded as the main source. Using an "Obsolete" Status, it is guaranteed, that tasks never get deleted entirely by accident. The Todoist ID is stored in the Notion task, so they stay linked together An additional full sync workflow daily fixes inconsistencies, if any of them occurred, since webhooks cannot be trusted entirely. Since Todoist requires a more complex setup, a tiny workflow helps with activating the webhook. Another tiny workflow helps generating a global config, which is used by all workflows for mapping purposes. Mapping (Notion >> Todoist) Name: Task Name Priority: Priority (1: do first, 2: urgent, 3: important, 4: unset) Due: Date Status: Section (Done: completed, Obsolete: deleted) <page_link>: Description (read-only) Todoist ID: <task_id> Current limitations Changes on the same task cannot be made simultaneously in both systems within a 15-20 second time frame Subtasks are not linked automatically to their parent yet Recurring tasks are not supported yet Tasks names do not support URL’s yet Prerequisites Notion A database must already exist (get a basic template here) with the following properties (case matters!): Text: "Name" Status: "Status", containing at least the options "Backlog", "In progress", "Done", "Obsolete" Select: "Priority", containing the options "do first", "urgent", "important" Date: "Due" Checkbox: "Focus" Text: "Todoist ID" Todoist A project must already exist with the same sections like defined as Status in Notion (except Done and Obsolete) Redis Create a Free Redis Cloud instance or self-host Setup [](https://youtu.be/73jhyU0t4c4) The setup involves quite a lot of steps, yet many of them can be automated for business internal purposes. Just follow the video or do the following steps: Setup credentials for Notion (access token), Todoist (access token) and Redis - you can also create empty credentials and populate these later during further setup Clone this workflow by clicking the "Use workflow" button and then choosing your n8n instance - otherwise you need to map the credentials of many nodes. Follow the instructions described within the bundle of sticky notes on the top left of the workflow How to use You can apply changes (create, update, delete) to tasks both in Notion and Todoist which then get synced over within a couple of seconds (this is handled by the differential realtime sync) The daily running full sync, resolves possible discrepancies in Todoist and sends a summary via email, if anything needed to be updated. In case that contains an unintended change, you can jump to the Task from the email directly to fix it manually.
Website lead capture with Apollo.io enrichment, HubSpot storage & Gmail notifications
What problem does this workflow solve? Capture leads from your website, enrich them via Apollo, store them in HubSpot, send a personalized thank-you email, and notify your team—all automatically. What does this workflow do? Capture leads from website forms automatically. Send a personalized thank-you email to each new lead. Enrich lead data using Apollo for deeper insights. Create or update a contact/lead in HubSpot CRM. Notify the internal team via email about the new lead. Setup Gmail Setup Create Gmail Credentials by creating a project in Google Cloud Console. Hubspot Setup Create Hubspot Credentials with App Token. How it Works: This workflow automates your lead capture, enrichment, and follow-up process to ensure no opportunity is missed. Here's how it works: Website Form Submission A visitor submits a lead form on your website. Lead details like name, email, company, and message are captured instantly. Personalized Thank-You Email A customized thank-you email is automatically sent to the lead, building trust and confirming receipt of their inquiry. Apollo Lead Enrichment The captured data is enriched using Apollo to fetch additional information like job title, LinkedIn profile, and other details. This helps you better understand and qualify your leads. Create Lead in HubSpot The enriched lead information is pushed into HubSpot as a new contact or lead. Duplicate checks ensure that there are no repeat entries. Internal Notification An email notification with enriched lead details is sent to your team. Your team can follow up immediately with a complete profile. Who can use it? This workflow can be used by any website owner with a "Get In Touch" or "Contact Us" button.
2-way sync Google Contacts and Notion
Sync your Google Contacts with your Notion database. You can filter contacts by label or sync all contacts. All contact information is kept in sync between Google and Notion. What happens if I delete a contact? It gets deleted on the other end. Google Contact deleted → Notion page deleted Notion page deleted → Google contact deleted But you can easily change this behavior by disabling the respective deletion nodes. Who is this template for? Service providers looking to keep track of client information Organized individuals who like to centralize their lives in Notion Automation nerds who enjoy creating interesting projects How it works First, you perform an initial import to bring your contacts from Google to Notion. After that, the workflow listens for changes in both Notion and Google and keeps everything in sync. How to set up Instructions are included within the workflow itself. Check out my other templates 👉 https://n8n.io/creators/solomon/
Baserow campaign database to Shopify with image upload & dynamic template update
Automating your marketing campaign management process can streamline your workflow and save you valuable time. With the combination of Baserow and n8n, you can efficiently handle your campaign data and seamlessly publish content to your Shopify store. In this workflow template, I demonstrate how to leverage Baserow as a centralized platform for organizing your marketing campaign assets, including copy and images. By utilizing n8n, we automate the process of fetching images and campaign descriptions from Baserow and uploading them directly to your Shopify store. With this automated solution, you can expedite the publishing process, ensuring that your campaigns are launched swiftly across your sales channels. Additionally, this workflow serves as a foundational step towards further automation in campaign management, allowing you to dynamically generate and upload content to your Shopify store with ease. This template will help you: Use n8n to get images for marketing campaigns from Baserow and upload them to your Shopify media library Dynamically inject data from Baserow into a template file Upload a template file to your Shopify theme This template will demonstrate the follwing concepts in n8n: use the Webhook node use the IF node to control the execution flow of the workflow do time calculation using expressions and javascript use the GraphQL node to upload images to your Shopify media files create a dynamic template file for your Shopify theme use the HTTP Reqest node to upload your template file to your Shopify store How to get started? Create a custom app in Shopify get the credentials needed to connect n8n to Shopify This is needed for the Shopify Trigger Create Shopify Acces Token API credentials n n8n for the Shopify trigger node Create Header Auth credentials: Use X-Shopify-Access-Token as the name and the Acces-Token from the Shopify App you created as the value. The Header Auth is neccessary for the GraphQL nodes. You will need a running Baserow instance for this. You can also sign up for a free account at https://baserow.io/ Please make sure to read the notes in the template. For a detailed explanation please check the corresponding video: https://youtu.be/Ky-dYlljGiY
Send a Discord message when a certain Onfleet event happens
Summary Onfleet is a last-mile delivery software that provides end-to-end route planning, dispatch, communication, and analytics to handle the heavy lifting while you can focus on your customers. This workflow template listens to an Onfleet event and communicates via a Discord message. You can easily streamline this with your Discord servers and users. Configurations Update the Onfleet trigger node with your own Onfleet credentials, to register for an Onfleet API key, please visit https://onfleet.com/signup to get started You can easily change which Onfleet event to listen to. Learn more about Onfleet webhooks with Onfleet Support Update the Discord node with your Discord server webhook URL, add your own expressions to the Text field
Automate CVE monitoring with OpenAI processing for ServiceNow security incidents
This n8n workflow automatically fetches the latest CVE data at scheduled intervals, extracts relevant security details, and creates a corresponding Security Incident in ServiceNow for each new vulnerability. Schedule Trigger – Runs at predefined intervals. Jina Fetch – Retrieves the latest CVE feed. Information Extractor (OpenAI Chat Model) – Processes and extracts key details from the CVE data. Split Out – Separates each CVE entry for individual processing. Create Incident – Generates a ServiceNow Security Incident with the extracted CVE details. Ideal for security teams to ensure timely tracking and remediation of new vulnerabilities without manual monitoring.
Discover trending topics with Bright Data MCP, GPT analysis & Trello integration
This workflow automatically identifies trending topics and hashtags across social media platforms to keep you informed of current trends and viral content. It saves you time by eliminating the need to manually research trending topics and provides data-driven insights for content strategy and social media planning. Overview This workflow automatically scrapes trending hashtag platforms and social media sites to extract currently trending topics, hashtags, and viral content themes. It uses Bright Data to access trend data sources without restrictions and AI to intelligently analyze trending content and provide actionable insights for content creators and marketers. Tools Used n8n: The automation platform that orchestrates the workflow Bright Data: For scraping trend platforms and social media without being blocked OpenAI: AI agent for intelligent trend analysis and content insights Google Sheets: For storing trending topics data and analysis results 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 set up your trending topics tracking spreadsheet Customize: Define target trend platforms and topics of interest Use Cases Content Marketing: Discover trending topics for timely and relevant content creation Social Media Strategy: Plan posts around viral hashtags and trending themes Brand Monitoring: Track if your brand or industry topics are trending Influencer Marketing: Identify trending content opportunities for collaborations 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 trendingtopics hashtags brightdata webscraping contentmarketing n8nworkflow workflow nocode socialmediatrends trendanalysis viralcontent contentresearch socialmediamonitoring trendtracking contentdiscovery hashtagresearch socialmediamarketing contentautomation trendmonitoring socialmediainsights contentplanning trendalerts viralmarketing socialtrends contentoptimization trendingcontent socialmediadata contentintelligence
Multi-agent personal assistant orchestration with GPT-4o & WhatsApp
Description 'Elena AI' is a powerful n8n workflow that transforms your automation platform into a full-fledged, multi-agent AI hub. 🤖✨ By combining Redis state management with specialized “tool” sub-workflows, you can build contextual, scalable, and highly personalized conversational automations for WhatsApp, Telegram, email, and more. 🔥 Key Features Unified Ingestion 📥 • Webhook trigger for text, audio, image, or document messages • Automatic extraction of remoteJid, user ID, and payload metadata Stateful Context 🔄 • Redis push/get queue to preserve conversation history • Seamless handling of follow-ups and multi-turn dialogs Dynamic Routing 🔀 • Smart Switch logic directs messages to the right agent workflow • Agents available: 🗓️ Malu: Google Calendar scheduling & reminders 💰 Maria: Expense logging & budget tracking in Baserow 👥 Mafalda: Contact CRUD operations in Baserow 📸 Marcela: Audio transcription & image analysis ✉️ Martina: Gmail send/receive & template replies Bite-Sized Responses ✂️ • Splits long AI replies into line-by-line messages • Loop node controls rate & order for best UX Flexible Output 📤 • HTTP Request node to deliver text, media, or files • Customize headers, payloads, and endpoints 🎯 Use Cases AI-powered customer support bots Automated lead qualification & follow-up Intelligent scheduling & reminders Expense approval workflows Multimedia content analysis & response 📋 Requirements n8n ≥ 1.0 with Webhook, Redis, SplitInBatches, HTTP Request & Workflow nodes Redis server (connection credentials in n8n) Service accounts / API keys for: Google Calendar (OAuth2) Baserow (API token) Gmail (OAuth2) Messaging API endpoint (HTTP) Environment variables set in n8n: REDISHOST, REDISPORT, REDIS_PASSWORD GOOGLECLIENTID, GOOGLECLIENTSECRET BASEROWAPITOKEN GMAILCLIENTID, GMAILCLIENTSECRET MSGAPIURL, MSGAPIKEY 🚀 Quick Start Import the ElenaAI.json into n8n. Configure credentials and environment variables under Settings → Credentials. Link sub-workflows (Malu, Maria, Mafalda, Marcela, Martina) by updating their Workflow IDs in the main node. Test via Execute node or send a sample webhook payload. Deploy by exposing the Webhook endpoint to your messaging platform. Unlock seamless, AI-driven conversations across any channel—get MavenBot 2.0 running in minutes! 🚀
Verify email deliverability with Hunter
Companion workflow for Hunter node docs
Automate Google Ads copy optimization with Channable feed and Relevance AI
🧠 Google Ads Monthly Performance Optimization (Channable + Google Ads + Relevance AI) 🚀 Overview This workflow automatically analyzes your Google Ads performance every month, identifies top-performing themes and categories, and regenerates optimized ad copy using Relevance AI — powered by insights from your Channable product feed. It then saves the improved ads to Google Sheets for review and sends a detailed performance report to your Slack workspace. Ideal for marketing teams who want to automate ad optimization at scale with zero manual intervention. --- 🔗 Integrations Used Google Ads → Fetch campaign and ad performance metrics using GAQL. Relevance AI → Analyze performance data and regenerate ad copy using AI agents and tools. Channable → Pull updated product feeds for ad refresh cycles. Google Sheets → Save optimized ad copy for review and documentation. Slack → Send a 30-day performance report to your marketing team. --- 🧩 Workflow Summary | Step | Node | Description | | ---- | --------------------------------------------------- | --------------------------------------------------------------------------- | | 1 | Monthly Schedule Trigger | Runs automatically on the 1st of each month to review last 30 days of data. | | 2 | Get Google Ads Performance Data | Fetches ad metrics via GAQL query (impressions, clicks, CTR, etc.). | | 3 | Calculate Performance Metrics | Groups results by ad group and theme to find top/bottom performers. | | 4 | AI Performance Analysis (Relevance AI) | Generates human-readable insights and improvement suggestions. | | 5 | Update Knowledge Base (Relevance AI) | Saves new insights for future ad copy training. | | 6 | Get Updated Product Feed (Channable) | Retrieves the latest catalog items for ad regeneration. | | 7 | Split Into Batches | Splits the feed into groups of 50 to avoid API rate limits. | | 8 | Regenerate Ad Copy with Insights (Relevance AI) | Rewrites ad copy with the latest product and performance data. | | 9 | Save Optimized Ads to Sheets | Writes output to your “Optimized Ads” Google Sheet. | | 10 | Generate Performance Report | Summarizes the AI analysis, CTR trends, and key insights. | | 11 | Email Performance Report (Slack) | Sends report directly to your Slack channel/team. | --- 🧰 Requirements Before running the workflow, make sure you have: A Google Ads account with API access and OAuth2 credentials. A Relevance AI project (with one Agent and one Tool setup). A Channable account with API key and project feed. A Google Sheets document for saving results. A Slack webhook URL for sending performance summaries. --- ⚙️ Environment Variables Add these environment variables to your n8n instance (via .env or UI): | Variable | Description | | -------------------------------- | ------------------------------------------------------------------- | | GOOGLEADSAPI_VERSION | API version (e.g., v17). | | GOOGLEADSCUSTOMER_ID | Your Google Ads customer ID. | | RELEVANCEAIAPI_URL | Base Relevance AI API URL (e.g., https://api.relevanceai.com/v1). | | RELEVANCEAGENTPERFORMANCE_ID | ID of your Relevance AI Agent for performance analysis. | | RELEVANCEKNOWLEDGESOURCE_ID | Knowledge base or dataset ID used to store insights. | | RELEVANCETOOLADCOPYID | Relevance AI tool ID for generating ad copy. | | CHANNABLEAPIURL | Channable API endpoint (e.g., https://api.channable.com/v1). | | CHANNABLECOMPANYID | Your Channable company ID. | | CHANNABLEPROJECTID | Your Channable project ID. | | FEED_ID | The feed ID for product data. | | GOOGLESHEETID | ID of your Google Sheet to store optimized ads. | | SLACKWEBHOOKURL | Slack Incoming Webhook URL for sending reports. | --- 🔐 Credentials Setup in n8n | Credential | Type | Usage | | ----------------------------------------------- | ------- | --------------------------------------------------- | | Google Ads OAuth2 API | OAuth2 | Authenticates your Ads API queries. | | HTTP Header Auth (Relevance AI & Channable) | Header | Uses your API key as Authorization: Bearer <key>. | | Google Sheets OAuth2 API | OAuth2 | Writes optimized ads to Sheets. | | Slack Webhook | Webhook | Sends monthly reports to your team channel. | --- 🧠 Example AI Insight Output json { "insights": [ "Ad groups using 'vegan' and 'organic' messaging achieved +23% CTR.", "'Budget' keyword ads underperformed (-15% CTR).", "Campaigns featuring 'new' or 'bestseller' tags showed higher conversion rates." ], "recommendations": [ "Increase ad spend for top-performing 'vegan' and 'premium' categories.", "Revise copy for 'budget' and 'sale' ads with low CTR." ] } --- 📊 Output Example (Google Sheet) | Product | Category | Old Headline | New Headline | CTR Change | Theme | | ------------------- | -------- | ------------------------ | -------------------------------------------- | ---------- | ------- | | Organic Protein Bar | Snacks | “Healthy Energy Anytime” | “Organic Protein Bar — 100% Natural Fuel” | +12% | Organic | | Eco Face Cream | Skincare | “Gentle Hydration” | “Vegan Face Cream — Clean, Natural Moisture” | +17% | Vegan | --- 📤 Automation Flow Run Automatically on the first of every month (cron: 0 0 1 ). Fetch Ads Data → Analyze & Learn → Generate New Ads → Save & Notify. Every iteration updates the AI’s knowledge base — improving your campaigns progressively. --- ⚡ Scalability The flow is batch-optimized (50 items per request). Works for large ad accounts with up to 10,000 ad records. AI analysis & regeneration steps are asynchronous-safe (timeouts extended). Perfect for agencies managing multiple ad accounts — simply duplicate and update the environment variables per client. --- 🧩 Best Use Cases Monthly ad creative optimization for eCommerce stores. Marketing automation for Google Ads campaign scaling. Continuous learning ad systems powered by Relevance AI insights. Agencies automating ad copy refresh cycles across clients. --- 💬 Slack Report Example 30-Day Performance Optimization Report Date: 2025-10-01 Analysis Period: Last 30 days Ads Analyzed: 842 Top Performing Themes Vegan: 5.2% CTR (34 ads) Premium: 4.9% CTR (28 ads) Underperforming Themes Budget: 1.8% CTR (12 ads) AI Insights “Vegan” and “Premium” themes outperform baseline by +22% CTR. “Budget” ads underperform due to lack of value framing. Next Optimization Cycle: 2025-11-01 --- 🛠️ Maintenance Tips Update your GAQL query occasionally to include new metrics or segments. Refresh Relevance AI tokens every 90 days (if required). Review generated ads in Google Sheets before pushing them live. Test webhook and OAuth connections after major n8n updates. --- 🧩 Import Instructions Open n8n → Workflows → Import from File / JSON. Paste this workflow JSON or upload it. Add all required environment variables and credentials. Execute the first run manually to validate connections. Once verified, enable scheduling for automatic monthly runs. --- 🧾 Credits Developed for AI-driven marketing teams leveraging Google Ads, Channable, and Relevance AI to achieve continuous ad improvement — fully automated via n8n.
GPT-4.1-mini Powered Invoice Processing from Gmail to Google Sheets with Slack
AI-Powered Invoice Processing from Gmail to Google Sheets with Slack Approval This workflow completely automates your invoice processing pipeline. It triggers when a new invoice email arrives in Gmail, uses AI to extract key data from the PDF attachment, logs it in a Google Sheet, and sends a request to Slack with simple links for one-click approval or rejection. Who's it for? This template is perfect for small business owners, finance teams, freelancers, and anyone looking to eliminate the manual work of processing invoices. It saves hours of data entry, reduces human error, and streamlines the approval process. How it works Trigger: The workflow starts when an email with a specific subject (e.g., "Invoice") arrives in Gmail. Extraction: It automatically downloads the first PDF attachment from the email and extracts all its text content. AI Processing: The extracted text is sent to an AI model, which intelligently identifies and pulls out key details: invoice number, issue date, company name, total amount, and due date. Logging: This structured data is appended as a new row in your Google Sheet. The status is automatically set to "pending". The full, raw text from the PDF is also saved for easy verification. Approval Request: A formatted message is sent to a designated Slack channel. This message includes the key invoice details and two unique links: one to approve and one to reject the invoice. Handle Response: When a user clicks either the "Approve" or "Reject" link, the corresponding Webhook in the workflow is triggered. Update Sheet: The workflow finds the correct row in the Google Sheet using the invoice number and updates its status to "approved" or "rejected". Confirmation: A final confirmation message is sent to the Slack channel, closing the loop and informing the team of the action taken. How to set up Credentials: Add your credentials for Gmail, OpenAI, Google Sheets, and Slack in the designated nodes. Gmail Trigger: In the "1. New Invoice Email Received" node, change the search query q from "incoice" to the keyword you use for invoice emails (e.g., "invoice"). Google Sheets: In the three Google Sheets nodes ("6. Log Invoice...", "9a. Update Status to Approved", and "9b. Update Status to Rejected"), enter your Google Sheet ID and the name of the sheet. Slack: In the three Slack nodes ("7. Send Approval Request...", "10a. Send Approval Confirmation", and "10b. Send Rejection Confirmation"), enter your Slack Channel ID. Webhook URLs: First, activate the workflow using the toggle in the top-right corner. Open the "Webhook (Approve)" node, go to the Production URL tab, and copy the URL. Paste this URL into the "7. Send Approval Request to Slack" node, replacing the https://YOURWEBHOOKBASE_URL/webhook/approval part of the approval link. Repeat this process for the "Webhook (Reject)" node and the rejection link. Activate Workflow: Ensure the workflow is active for the Webhooks to work continuously. How to customize AI Prompt: You can modify the prompt in the "5. Extract Invoice Data with AI" node to extract different or additional fields to match your specific invoice formats. Slack Messages: Feel free to customize the text in all three Slack nodes to better fit your team's tone and communication style.