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 WeblineIndia
Ensure you never miss a birthday with this automated workflow designed by WeblineIndia. It retrieves your Google Contacts, identifies birthdays happening today, and sends personalized reminders directly to a designated Slack channel. This daily automation keeps your team informed and makes birthday celebrations effortless. Steps Set Daily Schedule (Cron Node) Configure a Cron node to trigger the workflow daily at a specific time (e.g., 8 AM). This ensures the workflow runs consistently every day to check for birthdays. Retrieve Contacts (Google Contacts - Get Contact Node) Use the Google Contacts (Get Contact) node to fetch your contact list. Ensure your contacts have birthday details stored for accurate filtering. Filter Birthdays (IF Node) Add an IF Node to compare the current date with each contact’s birthday. Only contacts whose birthdays match today’s date will move to the next step. Send Birthday Notifications to Slack (Slack - Send Message Node) Use the Slack node to send a personalized birthday message to your chosen Slack channel (e.g., #general or #birthdays). Customize the message to include the contact’s name, e.g., "🎉 Today is John Doe's birthday! Let’s celebrate!" Configure the node to target a specific Slack channel for seamless notifications. Activate Workflow Save and activate the workflow. From now on, the workflow will automatically check for birthdays daily and send timely reminders to your Slack team. Outcome This hassle-free automation keeps your team engaged and ensures no birthday goes unnoticed. Celebrate special days of your contacts effortlessly and maintain meaningful connections. About WeblineIndia This workflow showcases our commitment to delivering innovative automation solutions that enhance productivity and foster better relationships. Let us help you build the AI automation tools that make a difference.
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 Yang
Who is this for? This workflow is ideal for sales teams, marketers, and virtual assistants who manage outbound campaigns and want to improve their cold outreach personalization. It helps automate the research and writing process for each lead, saving time while improving quality. What problem is this workflow solving? Cold outreach often lacks personalization because manually reviewing each lead's website takes time. This workflow eliminates that bottleneck by using AI to auto-generate personalized icebreakers, summaries, and outreach emails based on a lead’s website—without human research. What this workflow does This n8n workflow runs on a schedule and pulls leads from Airtable who don't yet have an "Ice breaker" field filled out. For each lead, it does the following: Trigger: Scheduled daily via the Run Daily to Process New Leads node. Search Airtable: Finds leads in Airtable where the Ice breaker field is empty using the Search Cold Leads Without Icebreaker node. Split in Batches: Iterates through each lead one by one using Loop Through Each Lead. Rate Limiting: Waits briefly before each request using Wait Before Making Request to avoid rate limits. Scrape Website: Sends each lead’s website to Dumpling AI's /scrape endpoint via the Scrape Lead Website with Dumpling AI HTTP request. Generate AI Copy: Sends the scraped content to GPT-4o using the Generate Icebreaker, Summary & Email (GPT-4o) node. It asks the LLM to create: A short personalized icebreaker A 2–3 line website summary A short email body for cold outreach Save Results: Updates the original Airtable record with the generated content using the Save AI Output Back to Airtable node. Sticky Note: Provides an overview of the workflow and usage instructions for future editors or collaborators. This loop continues for all leads found, updating Airtable with fresh AI-generated outreach content. Integration Requirements Airtable (Personal Access Token) Dumpling AI API Key (Header Auth) OpenAI (GPT-4o)
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 Roshan Ramani
Monitor & Archive Keyword Tweets to Airtable 📌 Overview Automatically searches Twitter for any keyword/topic (person, brand, hashtag), filters duplicates, and stores new tweets in Airtable with rich metadata - all on a daily schedule. 🛠️ Workflow Steps ⏰ Schedule Trigger Runs daily at 8 AM (customizable) 🐦 Twitter Search Fetches 100 latest tweets matching your keyword 📦 Reformat Data Structures: Text | Likes | ID | URL Author | Timestamp 🗂️ Fetch Airtable Records Retrieves existing tweet IDs 🔍 Deduplicate Compares IDs to exclude duplicates ➕ Append New Tweets Saves only fresh entries to Airtable 💡 Key Benefits 🤖 Automated Monitoring**: Near real-time tracking 🧹 Clean Data**: Zero duplicate entries 📁 Structured Archive**: Organized metadata for analysis ⚙️ Fully Customizable**: Adapt keywords/schedule/output 🧩 Perfect For Social media analysts tracking brand mentions Journalists monitoring public figures Researchers archiving topic conversations Marketing teams measuring campaign reach 🚀 Getting Started Import into n8n Connect Credentials: Twitter API keys Airtable base + table ID Configure: Search keyword (e.g., "Narendra Modi") Schedule timing Run & Forget: Initial run to backfill Daily auto-archiving ✅ Enhancement Ideas Add Filters: Exclude retweets Filter by language Geolocation targeting Notifications: Slack alerts for new tweets Email digests AI Extensions: Sentiment analysis Auto-categorization Trend reporting
by Niranjan G
Slack Bot n8n Integration Hub - Workflow Submission 🚀 Showcase: Endless Possibilities with n8n Integration This repository demonstrates a powerful Slack Bot Socket App that seamlessly integrates with n8n for automation workflows. This is just a showcase of what's possible when combining Slack's interactive capabilities with n8n's automation power - the possibilities are truly endless! 📋 Project Overview Repository: slack-n8n-integration-hub Status: ✅ Committed and Ready for Submission This project showcases how to create seamless interactions between Slack users and n8n workflows, demonstrating: Real-time Data Submission** from Slack to n8n workflows Interactive Approval/Rejection** workflows triggered from Slack Secure Webhook Communication** with optional Basic Authentication Dynamic Modal Interactions** with immediate feedback Error Handling and User Experience** optimization 🎯 Key Features Demonstrated 1. Data Input Integration Users can submit custom data directly from Slack Data is instantly sent to n8n workflows for processing Real-time feedback and confirmation messages 2. Approval Workflow Automation Interactive approve/reject buttons in Slack modals Decisions trigger different n8n workflow paths Automated decision logging and processing 3. Enhanced User Experience Modal closes automatically after actions Submit button positioned below input for better UX Comprehensive error handling and user feedback 4. Security & Authentication Optional HTTP Basic Auth for webhook security Environment-based configuration management Secure credential handling 🔧 Technical Implementation Slack Bot Features: Socket Mode for real-time communication Custom slash commands (/automation) Interactive modals with dynamic content Button actions and form submissions n8n Integration: Webhook triggers for data reception Structured payload formats Authentication support Error handling and response management Workflow Payload Examples: Data Submission: { "type": "data_submission", "data": "User input data here", "user": { "id": "U1234567890", "name": "username" }, "timestamp": "2024-01-01T12:00:00.000Z", "source": "slack_bot" } Approval Action: { "type": "approval_action", "action": "approve", "user": { "id": "U1234567890", "name": "username" }, "timestamp": "2024-01-01T12:00:00.000Z", "source": "slack_bot" } 🌟 Why This Matters for n8n Community This project demonstrates how n8n can be the backbone for: Human-in-the-loop** automation workflows Interactive approval** processes Real-time data collection** from team communication tools Seamless integration** between chat platforms and automation Scalable workflow triggers** from multiple sources 🚀 Endless Possibilities This is just the beginning! With this foundation, you can build: IT Service Desk** automation with Slack approvals Content Publishing** workflows with team reviews Data Collection** and processing pipelines Incident Management** with automated escalations Project Management** with status updates and approvals Customer Support** ticket routing and responses DevOps Deployments** with approval gates Financial Approvals** with audit trails HR Processes** with automated workflows Marketing Campaigns** with content approvals 📁 Repository Structure slack-n8n-integration-hub/ ├── app.js # Main Slack Bot application ├── package.json # Dependencies and scripts ├── .env.example # Environment configuration template ├── README.md # Complete setup documentation ├── CONTRIBUTING.md # Contribution guidelines ├── Slack_Bot_n8n_Integration_Hub.json # n8n workflow export ├── n8n-workflow-examples.json # Additional workflow examples └── test-webhook.js # Webhook testing utilities 🎉 Ready for n8n Community This workflow is: ✅ Fully Tested and working ✅ Well Documented with setup instructions ✅ Open Source and ready for community use ✅ Extensible for various use cases ✅ Production Ready with error handling 🔗 Get Started Clone the repository: git clone https://github.com/iam-niranjan/slack-n8n-integration-hub.git Follow the setup guide in the main README.md Import the n8n workflows from the JSON files Customize for your use case and explore the possibilities! This showcase demonstrates that with n8n and Slack integration, the automation possibilities are truly endless! 🚀 Ready to submit to n8n community for sharing and collaboration.
by Sirhexalot
This n8n workflow automates the assignment of existing users to organizations in Zammad based on their email domains, utilizing Zammad’s "domain-based assignment" feature. Use Case Automate the post-hoc assignment of existing users to organizations in Zammad by leveraging their email domains. This ensures efficient management of user-organization relationships using Zammad’s "domain-based assignment" feature. Requirements An active Zammad account with API access. Existing users and organizations in Zammad with proper email and domain configurations. Zammad organizations must have domain-based assignment enabled. Credentials Set up your Zammad API credentials in n8n to allow the workflow to interact with your Zammad instance securely. If you have found an error or have any suggestions, please report them here on Github.
by Davide
The Sound Effects Generator is an automated workflow that allows users to create realistic sound effects using AI and save them directly to Google Drive. It generates high-quality sound effects (up to 30 seconds long) based on user prompts. How It Works: User Input via Web Form A form is presented to the user asking for: A prompt describing the sound (e.g. "waves crashing", "laser blast"). A duration in seconds (up to 30 seconds). API Request to Generate Audio The input is sent to CassetteAI via a POST request using API with proper authentication. Status Polling The workflow waits for 10 seconds and then checks the status of the request. Conditional Flow If the audio generation is complete (COMPLETED), it proceeds to fetch the audio file URL. If not, it waits and retries. Download & Save The audio file is downloaded from the URL. It is automatically uploaded to a specific folder in the user’s Google Drive, with a timestamped filename. Key Advantages Fast & Efficient**: Generates up to 30 seconds of audio in just 1 second of processing time. No Coding Required**: Entire flow can be triggered via a simple form interface. Automated Storage**: Files are automatically saved to a preconfigured Google Drive folder. Scalable**: Can be reused for multiple projects by simply changing the input prompts. Secure**: Uses secure API key-based authentication for interaction with Fal.run and Google Drive. Customizable**: Easy to adapt or extend—for example, sending download links via email or Telegram. How It Works Form Submission: The workflow starts with a form where users input a prompt and the desired duration (max 30 seconds) for the sound effect. Audio Creation: The submitted data is sent to the CassetteAI Sound Effects Generator API via an HTTP request, which initiates the sound effect generation process. Status Check: The workflow periodically checks the status of the request. If the status is "COMPLETED," it proceeds to fetch the audio file. Audio Retrieval: The generated audio file is downloaded from the provided URL and uploaded to a specified Google Drive folder, with a timestamped filename for organization. Set Up Steps API Key Configuration: Create an account on fal.ai and obtain an API key. In the "Create audio" node, set the "Header Auth" with: Name: Authorization Value: Key YOURAPIKEY (replace YOURAPIKEY with your actual API key). Google Drive Integration: Ensure the Google Drive node is configured with the correct OAuth2 credentials and folder ID. Adjust the folder ID in the "Upload Audio" node if a different destination is preferred. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Mutasem
Use case n8n workflows can go out of hand when you're automating as much as we do at n8n. We needed a place to document them and keep track of who owns and maintains them. To facilitate this we use this n8n workflow to automatically sync workflows directly to a Notion database if it has the tag sync-to-notion. How to setup Add your n8n api creds Add your Notion creds Create notion database with fields env id as text, isActive (dev) as boolean, URL (dev) as url, Workflow created at as date, Workflow updated at as date, Error workflow setup as boolean (Make sure page is connected) Add tag sync-to-notion to some workflows
by ConvertAPI
Who is this for? For developers and organizations that need to convert DOCX files to PDF. What problem is this workflow solving? The file format conversion problem. What this workflow does Downloads the DOCX file from the web. Converts the DOCX file to PDF. Stores the PDF file in the local file system. How to customize this workflow to your needs Open the HTTP Request node. Adjust the URL parameter (all endpoints can be found here). Add your secret to the Query Auth account parameter. Please create a ConvertAPI account to get an authentication secret. Adjust url_to_file in the Config node to URL pointing to your file. Optionally, additional Body Parameters can be added for the converter.
by Harshil Agrawal
This workflow allows you to check the To-Do list on Notion and send a message on Slack. Prerequisites Create a Notion page similar to this page. Create credentials for Notion by following the instructions mentioned in the documentation. Follow the steps mentioned in the documentation to create credentials for Slack. Cron node: This node triggers the workflow every day. Notion node: This node fetches all the tasks from Notion. IF node: This node checks if the task is assigned to a particular user. Create a Direct Message: This node will create a direct message channel with the user. Send a Direct Message: This node will send the to-do lists in the direct message. NoOp: This node is connected to the false output of the IF node. If the condition is false, no further action will be taken.