by Davide
This workflow integrates Flowise Multi-Agent Chatflows into a custom-branded n8n chatbot, enabling real-time interaction between users and AI agents powered by large language models (LLMs). Key Advantages: ✅ Easy Integration with Flowise: Uses a low-code HTTP node to send user questions to Flowise's API (/api/v1/prediction/FLOWISE_ID) and receive intelligent responses. Supports multi-agent chatflows, allowing for complex, dynamic interactions. 🎨 Customizable Chatbot UI: Includes pre-built JavaScript for embedding the n8n chatbot into any website. Provides customization options such as welcome messages, branding, placeholder text, chat modes (e.g., popup or embedded), and language support. 🔐 Secure & Configurable: Authorization via Bearer token headers for Flowise API access. Clearly marked notes in the workflow for setting environment variables like FLOWISE_URL and FLOW_ID. How It Works Chat Trigger: The workflow starts with the When chat message received node, which acts as a webhook to receive incoming chat messages from users. HTTP Request to Flowise: The received message is forwarded to the Flowise node, which sends a POST request to a Flowise API endpoint (https://FLOWISEURL/api/v1/prediction/FLOWISE_ID). The request includes the user's input as a JSON payload ({"question": "{{ $json.chatInput }}"}) and uses HTTP header authentication (e.g., Authorization: Bearer FLOWSIE_API). Response Handling: The response from Flowise is passed to the Edit Fields node, which maps the output ($json.text) for further processing or display. Set Up Steps Configure Flowise Integration: Replace FLOWISEURL and FLOWISE_ID in the HTTP Request node with your Flowise instance URL and flow ID. Ensure the Authorization header is set correctly in the credentials (e.g., Bearer FLOWSIE_API). Embed n8n Chatbot: Use the provided JavaScript snippet in the sticky notes to embed the n8n chatbot on your website. Replace YOUR_PRODUCTION_WEBHOOK_URL with the webhook URL generated by the When chat message received node. Customize the chatbot's appearance and behavior (e.g., welcome messages, language, UI elements) using the createChat configuration options. Optional Branding: Adjust the sticky note examples to include branding details, such as custom messages, colors, or metadata for the chatbot. Activate Workflow: Toggle the workflow to "Active" in n8n and test the chat functionality end-to-end. Ideal Use Cases: Embedding branded AI assistants into websites. Connecting Flowise-powered agents with customer support chatbots. Creating dynamic, smart conversational flows with LLMs via n8n automation. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Le Thua Phu
Overview This n8n workflow automates the process of crawling a website's sitemap to extract URLs, which is particularly useful for SEO analysis, website auditing, or content monitoring. By leveraging n8n's nodes, the workflow fetches the sitemap from a specified URL, processes the XML data, and extracts individual URLs, which can then be converted into a downloadable file or integrated with tools like Google Sheets. How It Works The workflow operates in a sequential manner, utilizing a series of nodes to fetch, parse, and process sitemap data: Trigger: Initiates when the user clicks "Test workflow" (Manual Trigger node). Set URL: Defines the base domain (e.g., https://phu.io.vn/) for the sitemap (Set URL node). Crawl Sitemap: Fetches the main sitemap file (sitemap.xml) from the specified domain using an HTTP request (Crawl sitemap node). Parse XML: Converts the sitemap XML into a JSON format for easier processing (XML node). Split Sitemap: Extracts individual sitemap entries (e.g., <sitemap> tags) from the parsed data (Split Out node). Crawl Sub-Sitemap: Fetches each sub-sitemap URL listed in the main sitemap (Crawl sitemap 2 node). Parse Sub-Sitemap XML: Converts the sub-sitemap XML into JSON (XML 2 node). Split URLs: Extracts individual URLs (e.g., <url> tags) from the sub-sitemap (Split Out 2 node). Convert to File: Saves the extracted URLs into a file for download or further use (Convert to File node). This workflow supports both single sitemap files and sitemap indexes that reference multiple sub-sitemaps, ensuring comprehensive URL extraction. How to Use To implement this workflow in n8n, follow these steps: Set Up n8n: Ensure you have an active n8n instance (Cloud, npm, or self-hosted). Refer to the n8n documentation for setup instructions. Import Workflow: Copy the JSON from the provided Extract Website URLs from Sitemap.XML for SEO Analysis.json file and import it into your n8n instance via the workflow editor. Configure the Domain: In the Set URL node, update the Domain parameter with the target website's base URL (e.g., https://example.com/). Alternatively, in the Crawl sitemap node, directly paste the full sitemap URL if known (e.g., https://example.com/sitemap.xml). Test the Workflow: Click "Test workflow" to execute the Manual Trigger node. Verify that the workflow fetches the sitemap and processes the URLs correctly. Download or Integrate: The Convert to File node generates a file containing the extracted URLs. Optionally, replace this node with a Google Sheets node to append URLs to a spreadsheet. Refer to the Google Sheets node documentation for setup. Save and Activate: Save the workflow and activate it for production use if needed, using a trigger like a schedule or webhook (see Trigger Node). Requirements n8n Instance**: An active n8n instance (version 1.0 or later recommended) on n8n Cloud, npm, or self-hosted (Docker). See Choose your n8n for details. Technical Knowledge**: Basic understanding of n8n's editor UI and node configuration. Familiarity with XML sitemaps is helpful but not mandatory. Permissions**: For self-hosted setups, ensure the n8n process has network access to fetch the sitemap URL. For Docker deployments, verify permissions as outlined in the n8n v1.0 migration guide. Optional**: If integrating with Google Sheets, valid Google Sheets credentials are required (see Credentials). Timeout Configuration**: The HTTP Request nodes (Crawl sitemap and Crawl sitemap 2) have a 10-second timeout. Adjust the timeout parameter in the node settings if dealing with slow-responding servers. FAQ Q: What happens if the sitemap is large or contains many sub-sitemaps? A: The workflow handles sitemap indexes by splitting and processing each sub-sitemap individually. For very large sitemaps, ensure your n8n instance has sufficient resources (memory and CPU) to avoid performance issues. See Scaling n8n for optimization tips. Q: Can I use this workflow with a specific sitemap URL instead of a domain? A: Yes, in the Crawl sitemap node, replace the url parameter ({{ $json.Domain }}sitemap.xml) with the direct sitemap URL (e.g., https://example.com/sitemap.xml). Update the node’s notes for clarity. Q: Why am I getting a timeout error? A: The HTTP Request nodes have a default timeout of 10 seconds. If the target server is slow, increase the timeout value in the options parameter of the Crawl sitemap or Crawl sitemap 2 nodes. Q: How can I save the URLs to Google Sheets instead of a file? A: Replace the Convert to File node with a Google Sheets node. Configure it with your Google Sheets credentials and map the loc field from the Split Out 2 node to the desired spreadsheet column. Refer to the Google Sheets node documentation. Q: Is this workflow compatible with older n8n versions? A: The workflow uses nodes compatible with n8n version 1.0 and later. For older versions, check for deprecated features (e.g., MySQL support) in the n8n v1.0 migration guide. Q: Can I automate this workflow to run periodically? A: Yes, replace the Manual Trigger node with a Schedule Trigger node to run the workflow at set intervals. See Trigger Nodes for configuration details. For further assistance, consult the n8n Community Forum or submit an issue on the n8n GitHub repository. Need help customizing? Contact me for consulting and support or add me on Facebook or email.
by Emmanuel Bernard
🎉 Do you want to master AI automation, so you can save time and build cool stuff? I’ve created a welcoming Skool community for non-technical yet resourceful learners. 👉🏻 Join the AI Atelier 👈🏻 This workflow exposes an API endpoint that lets you dynamically replace an image in Google Slides, perfect for automating deck presentations like updating backgrounds or client logos. *📺 Youtube Overview 📺 * Here's how to get started: Step 1: Set Up a Key Identifier in Google Slides Add a unique key identifier to the images you want to replace. Click on the image. Go to Format Options and then Alt Text. Enter your unique identifier, like client_logo or background. Step 2: Use a POST Request to Update the Image Send a POST request to the workflow endpoint with the following parameters in the body: presentation_id: The ID of your Google Slides presentation. You can find it in the URL of your Google presentation: https://docs.google.com/presentation/d/<this-part>/edit) image_key: The unique identifier you created. image_url: The URL of the new image. That's it! The specified image in your Google Slides presentation will be replaced with the new one from the provided URL. This workflow is designed to be flexible, allowing you to use the same identifier across multiple slides and presentations. I hope it streamlines your slide automation process! Example Curl Request to execute: curl --location 'https://workflow.url' \ --form 'presentation_id="google-presentation-id"' \ --form 'image_key="background"' \ --form 'image_url="https://picsum.photos/536/354"' Happy automating! The n8Ninja 🥷
by Khaled
🧾 Description: This automation uses GPT-4o to scan unread Gmail emails and intelligently classify them as: Action → Requires your attention (reply, review, schedule, or respond) No Action → Informational or promotional; no action needed The result? You eliminate inbox noise and gain a clear daily routine: only check what's in Action Required. ⚙️ How It Works: Trigger: Runs on a customizable schedule Fetch Emails: Pulls unread messages from Gmail Classify via GPT-4o: Determines if each email needs action or not Sort Emails: Labels actionable emails as Action Required Labels non-actionable ones as No Action Removes the Inbox label to clean your primary inbox view ✅ Emails stay in your account—just better organized 🚀 How to Use: Import the workflow into your n8n instance Set up Gmail and OpenAI credentials Create Gmail labels: Action Required No Action Activate the workflow Start your day by checking only the Action Required label 📦 Requirements: n8n (self-hosted or cloud) Gmail OAuth2 account OpenAI API key (GPT-4o or GPT-4o-mini) Gmail labels: Action Required, No Action 💡 Why It Matters: Stop manually filtering emails. This workflow helps you focus only on what matters while keeping everything else out of your way—without deleting or archiving anything.
by Airtop
LinkedIn Post Engagement Data Extractor Use Case This automation is designed to extract key engagement metrics and audience data from a LinkedIn post. It's useful for analyzing the impact of content and identifying engaged users for lead generation, marketing, or research purposes. What It Does Given a LinkedIn post URL and an Airtop profile, this automation extracts: Total number of reactions Total number of comments Total number of reposts A list of users who reacted or commented, including: Their full name Their job title A link to their LinkedIn profile Input Parameters | Name | Description | Required | |------------------|------------------------------------------------------------|----------| | airtop_profile | The name of an Airtop Profile that's logged into LinkedIn | Yes | | linkedin_post_url| The full URL of the LinkedIn post you want to analyze | Yes | How It Works The workflow starts when triggered manually or from another workflow/form. It maps input fields for Airtop profile and post URL. Airtop opens a browser session and loads the LinkedIn post. An AI agent is instructed to extract engagement data via prompt-based analysis. The response is parsed and output in a structured format. Output Format The output will be a structured JSON object with the following fields: { "interactors": [ { "name": "Jane Doe", "job_title": "Marketing Director at ExampleCorp", "profile_url": "https://linkedin.com/in/janedoe" } // ... more interactors ], "reactions_count": 153, "comments_count": 21, "reposts_count": 8 } Read more about how to extract Linkedin post comments and reactions.
by Agent Circle
This N8N template demonstrates how to use our tool to collect key information from any YouTube channel - including title, description, custom URL, stats (views, subscribers, videos), creation date, country, keywords, thumbnails, and channel ID. Everything is fetched and saved directly in a linked Google Sheet. Use cases are many: Whether you're part of an MCN or YouTube channel network, a digital marketing agency, an influencer analyst, or a growth-focused YouTube consultant, this tool helps you instantly access detailed channel data for scouting, benchmarking, and strategic planning. It's perfect for competitive research, brand vetting, or building your next performance dashboard. How It Works The workflow starts when you manually click Test Workflow or Execute Workflow in N8N. It reads through the list of full channel URLs or custom channel URLs from the Channel URLs tab in a connected Google Sheet. Only the URLs marked with the Ready status will be processed. The tool loops through each row and prepares the necessary data for the YouTube API call later. A Switch node detects the URL type of each input (whether it's a full or custom channel URL) and routes it accordingly. Based on the input type, the appropriate YouTube API endpoint is triggered to fetch channel metrics. It checks whether the API call is successful before continuing: If successful, the fetched data is written back to the connected Google Sheet in the same row and the row's status is updated to Finished. If it fails, the row's status is updated to Error. How To Use Download the workflow package. Import the workflow package into your N8N interface. Duplicate the YouTube - Get Channel Information Google Sheet template into your Google Sheets account. Set up Google Cloud Console credentials in the following nodes in N8N, ensuring enabled access and suitable rights to Google Sheets and YouTube services: For Google Sheets access, ensure each node is properly connected to the correct tab in your connected Google Sheet template: Node Google Sheets - Get Channel URLs → connected to Tab Channel URLs; Node Google Sheets - Update Data → connected to Tab Channel URLs; Node Google Sheets - Update Data - Error → connected to Tab Channel URLs. For YouTube access, set up a GET method to connect to YouTube API in the following nodes: Node HTTP Request - Get Comments For Video URLs 1; Node HTTP Request - Get Comments For Video URLs 2. In your connected Google Sheet, enter the full or custom channel URLs that you want to crawl and set the rows' status to Ready. Run the workflow by clicking Execute Workflow or Test Workflow in N8N. View the results in your Google Sheet: Successful fetches will update channel data in the same row in Channel URLs tab and the row's status is updated to Finished; otherwise, the row's status will be changed to Error. Requirements Basic setup in Google Cloud Console (OAuth or API Key method enabled) with enabled access to YouTube and Google Sheets. How To Customize By default, the workflow is manually triggered in N8N. However, you can automate the process by adding a Google Sheets trigger that monitors new entries in your YouTube – Get Channel Information template and starts the workflow automatically. Need Help? Join our community on different platforms for support, inspiration and tips from others. Website: https://www.agentcircle.ai/ Etsy: https://www.etsy.com/shop/AgentCircle Gumroad: http://agentcircle.gumroad.com/ Discord Global: https://discord.gg/d8SkCzKwnP FB Page Global: https://www.facebook.com/agentcircle/ FB Group Global: https://www.facebook.com/groups/aiagentcircle/ X: https://x.com/agent_circle YouTube: https://www.youtube.com/@agentcircle LinkedIn: https://www.linkedin.com/company/agentcircle
by Audun
Description This workflow reads a sitemap.xml file, extracts all URLs, and allows you to filter out specific types of links—such as PDF files, images, or any other content—based on your needs. Who Is This For? SEO Specialists** looking to analyze specific URLs in their sitemap. Developers** who need to extract links for automated processing. Content Managers** filtering out downloadable assets like PDFs or images. How It Works Fetch sitemap.xml – The workflow reads the sitemap file from a given URL. Extract URLs – Parses all the URLs listed in the sitemap. Filter URLs – Use a simple filter to extract only the links you need (e.g., *.pdf). Export or Process – The filtered list can be sent via email, stored in a database, or used in another workflow. Customization Edit the Set sitemap URL block and edit the sitemapUrl value to the sitemap you want to fetch. Edit the Filter URLs block and edit the filter conditions to meet your needs.
by Samir Saci
Tags*: Crypto, Currency Exchange, Alpha Vantage API, Google Sheets Context Hi! I’m Samir — a Supply Chain Engineer and Data Scientist based in Paris, and founder of LogiGreen Consulting. I help companies automate data pipelines using APIs, AI agents, and workflow automation to improve operational visibility and decision-making. This workflow is part of our financial monitoring toolkit, allowing businesses to track real-time cryptocurrency exchange rates for assets like BTC and ETH. > Monitor crypto rates in real time and log the data to Google Sheets. 📬 For business inquiries, feel free to connect with me on LinkedIn Who is this template for? This workflow is designed for crypto analysts, finance teams, or automation enthusiasts who want to collect and track crypto exchange rates automatically for reporting or analysis. Let’s imagine you want to monitor BTC and ETH prices against the EUR: The Alpha Vantage API is called every hour to collect the exchange rate, bid/ask prices, and timestamp. This data is saved in Google Sheets and can trigger a Telegram alert. How does it work? This workflow automates the hourly logging of crypto exchange rates: ⏰ Schedule Trigger launches the workflow every hour 🌐 Alpha Vantage API fetches BTC and ETH exchange rates (to EUR) 📄 Google Sheets node appends each result to a tab (BTC or ETH) 📲 Telegram node sends a summary alert with the latest rate info Steps: ⏰ Trigger every hour via Schedule node 🌐 Call Alpha Vantage API for BTC and ETH 📊 Append rates, bid/ask prices, and timestamp to Google Sheets 📲 Send formatted Telegram message with rate summary What do I need to get started? You’ll need: A free Alpha Vantage API key A Google Sheet with BTC and ETH tabs A Telegram bot and Chat ID to send notifications Next Steps 🗒️ Use the sticky notes in the n8n canvas to: Add your Alpha Vantage API key and Google Sheet credentials Set your Telegram Chat ID and bot connection Monitor and visualize real-time crypto prices with no manual input This template was built using n8n v1.93.0 Submitted: June 12, 2025
by Vitali
📌 Validate Seatable Webhooks with HMAC SHA256 Authentication This mini workflow is designed to securely validate incoming Seatable webhooks using HMAC SHA256 signature verification. 🔐 What it does: Listens for incoming Seatable webhook requests. Calculates a SHA256 HMAC hash of the raw request body using your shared secret. Compares the computed hash with the x-seatable-signature header (after removing the sha256= prefix). If the hashes match: responds with 200 OK and forwards the request to subsequent nodes. If the hashes don’t match: responds with 403 Forbidden. ⚠️ Important Notes: This workflow is provided as a template and is not intended to work standalone. Please duplicate it and integrate it with your custom logic at the "Add nodes for processing" node. Configuration steps: Set your secret key in the “Calculate sha256” crypto node (replace the placeholder). Adjust the webhook path to suit your environment (or set it to "manual" for testing). Connect your actual logic after the verification step.
by Hostinger
This workflow automates the routine check for upgradable packages on your Ubuntu server, ensuring you stay updated with the latest software patches and security improvements. By running a daily script, it efficiently monitors any available package upgrades and promptly notifies you via email, saving you time and enhancing your server’s security. How It Works: Daily Monitoring**: The workflow is configured to execute a script daily that connects to your Ubuntu server and checks for any upgradable packages. Email Notification**: If any upgradable packages are detected during the check, the workflow triggers an alert mechanism that automatically sends you a notification email detailing the available updates. Set Up Steps: SSH Credentials**: Provide the SSH login credentials for your Ubuntu server. This will allow the workflow to securely connect and perform checks for software updates. SMTP Credentials**: Provide SMTP login details for your email account. These credentials are used to configure the email notifications system, enabling it to send alerts about the upgradable packages. Benefits: Timeliness**: Receive prompt updates on critical software upgrades to maintain the optimal performance and security of your server. Automation**: Reduces the need for manual checks, allowing you to focus on other critical tasks with peace of mind. Customizable**: Easily adjust the checking frequency or update the notification settings according to your preferences.
by Afnan
This n8n workflow automates the process of finding, summarizing, and posting breaking news headlines on X (formerly Twitter). It combines Google Custom Search for finding the latest news articles with Groq's LLaMA 3 model to generate short, engaging headlines — complete with hashtags — and posts them on your X account. 🔧 Features Custom topic support (e.g., "AI", "health", "technology") Automated scheduling every few hours Google Custom Search to find the most recent news articles Groq LLaMA3-based headline generation with hashtags Auto-post to X (Twitter) Built-in credential separation for API keys and access tokens 📦 Included Nodes Schedule Trigger Set (Set Topic, Google API Key, Custom Search CX, etc.) HTTP Request (Google Search API) Code Node (Format prompt and extract article data) HTTP Request (Groq API for headline generation) Twitter Node (Post to X) ⚙️ How It Works (Step-by-Step) Trigger The workflow starts on a scheduled interval (default: every 5 hours, at a random minute within the hour). Set Topic You can define your own topic keyword (e.g., AI, mental health, climate change) by editing the Set Topic node. Build Search Query Constructs a Google search query like: latest {topic} news. Google API Config Injects your own Google API Key and Custom Search CX (replace the placeholders in the Google Config node). Search for News Performs a real-time search using Google Custom Search API and fetches the latest article result. Generate Prompt for AI A JavaScript Function node extracts the top article’s title and link, formats it into a clean prompt including instructions to append hashtags. Groq AI Request Sends the prompt to Groq’s LLaMA 3 model to generate a concise, tweet-length headline with 1–2 relevant hashtags. Post to Twitter (X) The generated headline is posted to your connected X account via the Twitter OAuth2 API. ✅ Requirements Google API Key Google Custom Search Engine (CX) Groq API Key Twitter Developer App with OAuth2 credentials 💡 Customization Tips Change the topic in the Set Topic node to anything you like. Adjust the posting frequency in the Schedule Trigger node. Modify prompt behavior in the Function node to fit a specific tone or brand voice. Add logging, filtering, or multiple post variations as needed.
by Pauline
This workflow automatically finds verified and nominative email and all information (with Dropcontact) to prospect properly from a Typeform. Typeform Trigger**: This node triggers the workflow when a new Typeform is submitted. Dropcontact**: This node fetches the new contact information and returns the data of the person and the company associated with the email address, job function, and all legal information. Airtable - List**: This will list all the entries from your table in order to check if the subscriber is new or not. If**: Does the contact exist in your Airtable yet? Set**: Set values on the Airtable values Airtable Update**: This node updates your record with new and up-to-date data Airtable - Create**: This node creates a new record when the subscriber is a new lead Slack**: This node sends an alert when the record is added or updated