by Alex Kim
Weather via Slack 🌦️💬 Overview This workflow provides real-time weather updates via Slack using a custom Slack command: /weather [cityname] Users can type this command in Slack (e.g., /weather New York), and the workflow will fetch and post the latest forecast, including temperature, wind conditions, and a short weather summary. While this workflow is designed for Slack, users can modify it to send weather updates via email, Discord, Microsoft Teams, or any other communication platform. How It Works Webhook Trigger – The workflow is triggered when a user runs /weather [cityname] in Slack. Geocoding with OpenStreetMap – The city name is converted into latitude and longitude coordinates. Weather Data from NOAA – The coordinates are used to retrieve detailed weather data from the National Weather Service (NWS) API. Formatted Weather Report – The workflow extracts relevant weather details, such as: Temperature (°F/°C) Wind speed and direction Short forecast summary Slack Notification – The weather forecast is posted back to the Slack channel in a structured format. Requirements A custom Slack app with: The ability to create a Slash Command (/weather) OAuth permissions to post messages in Slack An n8n instance to host and execute the workflow Customization Replace Slack messaging with email, Discord, Microsoft Teams, Telegram, or another service. Modify the weather data format for different output preferences. Set up scheduled weather updates for specific locations. Use Cases Instantly check the weather for any location directly in Slack. Automate weather reports for team members or projects. Useful for remote teams, outdoor event planning, or general weather tracking. Setup Instructions Create a custom Slack app: Go to api.slack.com/apps and create a new app. Add a Slash Command (/weather) with the webhook URL from n8n. Enable OAuth scopes for sending messages. Deploy the webhook – Ensure it can receive and process Slack commands. Run the workflow – Type /weather [cityname] in Slack and receive instant weather updates.
by Sean Lon
Personal Portfolio CV Rag Chatbot - with Conversation Store and Email Summary Target Audience This template is perfect for: Individuals looking to create a working professional and interactive personal portfolio chatbot. Developers interested in integrating RAG Chatbot functionality with conversation storage. 1. Description Create a stunning Personal Portfolio CV with integrated RAG Chatbot capabilities, including conversation storage and daily email summaries. 2.Features: Training: Setup Ingestion stage Upload your CV to Google Drive and let the Drive trigger updates to read your resume cv and convert it into your vector database (RAG purpose). Modify any parts as needed. Chat & Track: Use any frontend/backend interface to call the chat API and chat history API. Reporting Daily Chat Conversations: Receive daily automatic summaries of chat conversations. Data stored via NocoDB. 3.Setup Guide: Step-by-Step Instructions: Ensure all credentials are ready. Follow the notes provided. Ingestion: Upload your CV to Google Drive. The Drive triggers RAG update in your vector database. You can change the folder name, files and indexname of the vector database accordingly. Chat: Use any frontend/backend interface to call the chat API (refer to the notes for details) . [optional] Use any frontend/backend interface to call the update chat history API (refer to the notes for details). 3.Tracking Chat: Get daily automatic summaries of chat conversations.Format email conversations report as you like. You are ready to go!
by Akram Kadri
Who is this for? This workflow template is ideal for marketers, designers, content creators, and developers who need to generate custom text-based images dynamically. Whether you want to create social media graphics, placeholder images, or text-based LinkedIn carousels, this workflow provides a simple, no-code solution using an API that requires no authentication. What problem does this workflow solve? Creating text-based images often requires design software or complex integrations with graphic tools. This workflow eliminates that hassle by allowing users to generate images with custom text, font styles, colors, and background colors using a simple HTTP request. It’s perfect for automating image generation without relying on external tools or manual effort. What this workflow does This workflow leverages an HTTP request to a free API that generates text-based images dynamically. Here's what it enables you to do: Define custom image text Set image dimensions (width x height) Choose a background color and text color using hex codes Select a font family and font size Specify the image format (PNG, JPG, or WebP) The generated image can be used immediately, making it ideal for automating content creation workflows. Setup Open the workflow in n8n. Modify the Set node to define your preferred image properties: text: The message displayed on the image. size: Image dimensions (e.g., 500x300 pixels). backgroundColor: Hex color code for the background. textColor: Hex color code for the text. fontFamily: Select from available font options (e.g., Pacifico, Ubuntu). fontSize: Define the text size. type: Choose the image format (PNG, JPG, or WebP). Execute the workflow to generate an image. The HTTP request returns the generated image, ready for use. How to customize this workflow 1. Adjust the Set node values to match your desired design. 2. Use dynamic data for text, allowing personalized images based on user input. 3. Automate image delivery by adding email or social media posting nodes. 4. Integrate this workflow into larger automation sequences, such as content marketing pipelines.
by Muhammad Asadullah
Document Chat Bot with Automated RAG System This workflow creates a conversational assistant that can answer questions based on your Google Drive documents. It automatically processes various file types and uses Retrieval-Augmented Generation (RAG) to provide accurate answers based on your document content. How It Works Monitors Google Drive for New Documents: Automatically detects when files are created or updated in designated folders Processes Multiple File Types: Handles PDFs, Excel spreadsheets, and Google Docs Builds a Knowledge Base: Converts documents into searchable vector embeddings stored in Supabase Provides Chat Interface: Users can ask questions about their documents through a web interface Retrieves Relevant Information: Uses advanced RAG techniques to find and present the most relevant information Setup Steps (Estimated time: 25-30 minutes) API Credentials: Connect your OpenAI API key for text processing and embeddings Google Drive Integration: Set up Google Drive triggers to monitor specific folders Supabase Configuration: Configure Supabase vector database for document storage Chat Interface Setup: Deploy the web-based chat interface using the provided webhook The workflow automatically chunks documents into manageable segments, generates embeddings, and stores them in a vector database for efficient retrieval. When users ask questions, the system finds the most relevant document sections and uses them to generate accurate, contextual responses.
by Darryn Balanco
This workflow automates the management of DigitalOcean Droplet snapshots by listing all droplets, filtering based on the number of snapshots, and deleting excess snapshots before creating new ones. It ensures your droplet snapshots stay organized and within a manageable limit, preventing unnecessary storage costs due to an excess of snapshots. Who is this for? This workflow is perfect for users managing DigitalOcean Droplets and looking to automate the process of snapshot creation and cleanup to save on storage costs and maintain efficient resource management. It’s useful for DevOps teams, cloud administrators, or any developer leveraging DigitalOcean for their infrastructure. What problem is this workflow solving? When managing multiple DigitalOcean Droplets, snapshots can quickly accumulate, taking up space and increasing storage costs. Manually deleting and creating snapshots can be time-consuming and inefficient. This automation solves this problem by automating the snapshot management process, ensuring that no more than a defined number of snapshots are kept per droplet. What this workflow does Runs every 48 hours: The workflow is triggered by a cron node that runs every 48 hours, ensuring timely snapshot management. List all droplets: The workflow retrieves all droplets in the DigitalOcean account. Retrieve snapshots: For each droplet, the workflow retrieves a list of existing snapshots. Filter snapshots: If the number of snapshots exceeds 4, the workflow filters for snapshots that need to be deleted. Delete snapshots: Excess snapshots are automatically deleted based on the filter criteria. Create new snapshot: After cleaning up, the workflow creates a new snapshot for each droplet, ensuring that backups are always up-to-date. Setup DigitalOcean API Key: You’ll need to configure the HTTP Request nodes with your DigitalOcean API key. This key is required for authenticating requests to list droplets, retrieve snapshots, delete snapshots, and create new ones. Snapshot Threshold: By default, the workflow is set to keep no more than 4 snapshots per droplet. This can be adjusted by modifying the filter node conditions. Set Execution Frequency: The cron node is set to run every 48 hours, but you can adjust the timing to suit your needs. How to customize this workflow Adjust Snapshot Limit**: Change the value in the filter node if you want to keep more or fewer snapshots. Modify Run Frequency**: The workflow runs every 48 hours by default. You can change the frequency in the cron node to run more or less often. Enhance with Notifications**: You can add a notification node (e.g., Slack or email) to alert you when snapshots are deleted or created. Workflow Summary This workflow automates the management of DigitalOcean Droplet snapshots by keeping the number of snapshots under a defined limit, deleting the oldest ones, and ensuring new snapshots are created at regular intervals.
by Ria
This is a simple template to show how to extract multiple email attachments and return them as an iterable output. How it works: The Gmail Trigger node detects any new email that has attachments. The Code node will then extract them as binary files and attaches them to the item. They can then be uploaded via the Google Drive node. Setup steps: add your Gmail Credentials add your Google Drive Credentials Follow the official n8n Documentation for help Feedback & Questions If you have any questions or feedback about this workflow - Feel free to get in touch at ria@n8n.io
by Łukasz
Who is it for This workflow is for anyone who is using N8N. It's especially helpful if you are a DevOps and your N8N instance is self hosted. If you carea lot about security and number of failed executions and at the same time you are using InfluxDB to monitor status of your systems, this will perfectly fit in your stack. How it works This automation is fairly simple. It uses native N8N nodes to gather data from itself. Then it is parsing this data to be compatible with InfluxDB input. And finally it is sending this data to InfluxDB for further processing. Remember to set up Setup is really simple and you just need to provide just three variables. First is your InfluxDB URL, second is your InfluxDB organization, and third is your InfluxDB bucket name. Of course, to set up N8N nodes and gather data from them, you will need your instance API key. And that's all. How it looks in InfluxDB? See below Schedule Audits Audits don't need to be run often, but I would recommend it to be run on regular basis. This way you can see real data series in InfluxDB. I think that once a day should be enough, but it depends on your N8N usage of course Thank you, perfect! Glad I could help. Visit my profile for other automations for businesses. And if you are looking for dedicated software development, do not hesitate to reach out! You can also see automations on my Sailing Byte's GitHub N8N repository.
by n8n Team
This workflow checks if the task in Todoist has a specific label and based on that creates a new database page in Notion. Prerequisites Todoist account and Todoist credentials Notion account and Notion credentials How it works To start the workflow add a task to Todoist and mark it with a label, e.g. “send-to-n8n”. Wait a maximum of 30 seconds. Todoist node identifies the tasks marked as “send-to-n8n”. Notion node creates a new Notion database page. Notice Notion has a new task now with the same name as in Todoist.
by CustomJS
! n8n Workflow: HTML to PDF Generator This n8n workflow converts HTML content into a styled PDF and returns it as a response via a webhook. The workflow receives HTML input, processes it using CustomJS's PDF toolkit, and sends back the resulting PDF to the original webhook requester. @custom-js/n8n-nodes-pdf-toolkit Features: Webhook Trigger**: Accepts incoming requests with HTML content. HTML to PDF Conversion**: Uses CustomJS to transform HTML into a PDF. Response**: Sends the generated PDF back to the webhook response. Requirements: Self-hosted** n8n instance A CustomJS API key for HTML to PDF conversion HTML content** to be converted into a PDF Workflow Steps: Webhook Trigger: Accepts incoming HTTP requests with HTML content. This data is passed to the next node for processing. HTML to PDF Conversion: Uses the CustomJS node to convert the incoming HTML into a PDF document. You can customize the HTML content to match the design requirements. Respond to Webhook: Sends the generated PDF as a binary response to the original webhook request. Setup Guide: 1. Configure CustomJS API Sign up at CustomJS. Retrieve your API key from the profile page. Add your API key as n8n credentials. 2. Design Workflow Create a Webhook: Set up a webhook to trigger the workflow when HTML content is received. Prepare HTML Content: The incoming request should include the HTML content you wish to convert into a PDF. Configure HTML to PDF Node: Use the HTML to PDF node to convert the provided HTML into a PDF. The node uses the HTML input to generate a PDF using the CustomJS API. Respond with the PDF: The Respond to Webhook node will send the generated PDF back to the original requester as a binary response. Example HTML Input: Hello CustomJS! CustomJS provides the missing toolset for your no-code projects Result PDF
by David Ashby
Complete MCP server exposing all PagerDuty Tool operations to AI agents. Zero configuration needed - all 9 operations pre-built. ⚡ Quick Setup Need help? Want access to more workflows and even live Q&A sessions with a top verified n8n creator.. All 100% free? Join the community Import this workflow into your n8n instance Activate the workflow to start your MCP server Copy the webhook URL from the MCP trigger node Connect AI agents using the MCP URL 🔧 How it Works • MCP Trigger: Serves as your server endpoint for AI agent requests • Tool Nodes: Pre-configured for every PagerDuty Tool operation • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Uses official n8n PagerDuty Tool tool with full error handling 📋 Available Operations (9 total) Every possible PagerDuty Tool operation is included: 🔧 Incident (4 operations) • Create an incident • Get an incident • Get many incidents • Update an incident 🔧 Incidentnote (2 operations) • Create an incident note • Get many incident notes 🔧 Logentry (2 operations) • Get a log entry • Get many log entries 👤 User (1 operations) • Get a user 🤖 AI Integration Parameter Handling: AI agents automatically provide values for: • Resource IDs and identifiers • Search queries and filters • Content and data payloads • Configuration options Response Format: Native PagerDuty Tool API responses with full data structure Error Handling: Built-in n8n error management and retry logic 💡 Usage Examples Connect this MCP server to any AI agent or workflow: • Claude Desktop: Add MCP server URL to configuration • Custom AI Apps: Use MCP URL as tool endpoint • Other n8n Workflows: Call MCP tools from any workflow • API Integration: Direct HTTP calls to MCP endpoints ✨ Benefits • Complete Coverage: Every PagerDuty Tool operation available • Zero Setup: No parameter mapping or configuration needed • AI-Ready: Built-in $fromAI() expressions for all parameters • Production Ready: Native n8n error handling and logging • Extensible: Easily modify or add custom logic > 🆓 Free for community use! Ready to deploy in under 2 minutes.
by Abrar Sami
Auto-generate product comparison pages that help users buy faster This workflow creates detailed "X vs Y" product comparison pages designed to help readers make faster, more confident purchase decisions — all with zero manual writing. How it works Triggered manually or via Google Sheets row Takes two product names as input (e.g. “Notion vs Evernote”) Uses AI to generate: ✅ A compelling title and meta description 📝 Clear feature-by-feature comparison 🤝 Use-case-based recommendations 💬 FAQ section tailored to user pain points Saves each section into a Google Sheet for review or publishing Final output can be exported to your CMS or website builder (like Dorik, Webflow, etc.) Set up steps You’ll need OpenAI and Google Sheets credentials Takes 10–15 minutes to plug in your keys and connect the sheet Adjust prompts to match your brand tone or SEO goals 📝 You can easily expand this to generate pricing tables, testimonials, or even localized versions using the same structure. Ideal for SaaS companies, affiliate marketers, or content teams who want to scale up comparison content — without spending hours writing.
by Gregor
This workflow offers several additional features for time tracking with Awork: Check whether time has been tracked when closing a task. If not, the task is reopened and the user is notified. This can be restricted to specific tasks using tags. Enforce a minimum time entry for tasks to comply with "at least 15-minute intervals are billed" policies. This can also be limited to specific tasks by using tags. Clean up time entries to match billing intervals. Add a start time to time entries if it is missing. This workflow does not use the Awork community nodes package, as the package does not support all required API calls and is therefore not used here. If you prefer to use that package, you can find more information at awork integration guide and replace the HTTP nodes with the corresponding community nodes where applicable. How it works Triggered via Awork Webhook call on status change of tasks and new time entries Set up steps Add webhook call to Awork (please see in-workflow notes regarding webhook configuration) Configure Awork API credentials Set up workflow configuration via setup node, e.g. user notification text, tags, enabled features etc.