by Oneclick AI Squad
This n8n workflow automatically tracks assignment deadlines and sends reminders to students and teachers. It checks for upcoming assignments daily, organizes the data, and sends email notifications to ensure deadlines are met. Good to Know Fully Automated**: Runs daily at 9 AM on weekdays to check assignments. Regular Updates**: Sends reminders for upcoming deadlines. Clear Notifications**: Emails a list of assignments to students and teachers. Error Handling**: Skips execution if no assignments are due. Scalable**: Works for multiple assignments and users. How It Works Reminder and Tracking Flow Set Schedule for Trigger: Starts the workflow daily at 9 AM on weekdays. Get Assignments: Retrieves assignment data from Notion database. IF Assignments Exist: Checks if there are any upcoming assignments. Split Items: Breaks down the assignment list for individual processing. Send Email Reminder: Emails reminders to students and teachers. No Assignments: Stops the workflow if no assignments are found. Example Database Columns Assignment ID**: Unique identifier for each assignment. Title**: Name of the assignment. Due Date**: Deadline for submission. Student ID**: Unique identifier for the student. Teacher ID**: Unique identifier for the teacher. Status**: Current status (e.g., Pending, Completed). How to Use Import Workflow: Add the workflow to n8n using the “Import Workflow” option. Set Up Notion: Configure n8n with Notion API credentials to fetch assignments. Configure Email: Add student and teacher email addresses and set up an email service (e.g., Gmail). Activate Workflow: Save and turn on the workflow in n8n. Check Logs: Verify reminders are sent and tracked. Requirements n8n Instance**: Self-hosted or cloud-based n8n setup. Notion Database**: API access with assignment data. Email Service**: SMTP setup (e.g., Gmail) for sending reminders. Admin Oversight**: Someone to monitor and adjust as needed. Customizing This Workflow Change Schedule**: Adjust the trigger to run at a different time or frequency. Add More Data**: Include additional fields like priority or notes. Custom Email**: Modify the email template for specific details.
by Clown Mutiny
What It Does The Chef Agent is your AI-powered kitchen companion—ready to turn leftover ingredients into meal inspiration. It's a simple, fun n8n automation that: Accepts a list of ingredients via webhook Uses Ollama AI to suggest 5 creative recipes or food ideas Recommends up to 3 missing ingredients to improve the dish Returns a fallback message if the AI is unavailable Includes setup notes for beginners Requirements An active n8n instance (local or hosted) Ollama AI running locally (or another LLM via HTTP request) A webhook endpoint (defaults to /lets-cook) Why You’ll Love It Fully customizable for your use case or favorite LLM Great intro to AI + workflow automation Comes with playful Clown Mutiny flair: > “Powered by Clown Mutiny’s taste-bud liberation division.” Installation Import the provided JSON template into your n8n workspace. Configure your AI node to match your local Ollama instance. Trigger the flow by sending a POST request to the webhook: { "ingredients": "eggs, rice, spinach" }
by Shiva
This workflow enables users to submit food images to a Telegram bot, which uses OpenAI’s GPT-4 Vision to identify the item and estimate its caloric value. The results are stored in Google Sheets and sent back to the user. What it does: Triggers on a photo sent via Telegram. Acknowledges the user with a sticky note message. Downloads the image file securely using Telegram's API. Sends the image to GPT-4 Vision with a prompt: “Describe this food and estimate its calories.” Logs the GPT response to a Google Sheet (with timestamp). Replies to the user with the result (e.g., food name and estimated calories). Use cases: Personal food tracking Nutrition logging via chat Meal journaling for fitness or health Requirements: Telegram Bot Token (via credentials) OpenAI GPT-4 Vision access Google Sheets credential with access to the target sheet Notes: You can extend this template to calculate daily totals, categorize meals (breakfast/lunch/dinner), or even integrate with calorie goals. The sticky note node confirms receipt to enhance UX. Ideal for wellness apps, chat-based food journals, or AI-powered health bots.
by Yaron Been
0xdino Cyberrealistic Pony V125 AI Generator Description None Overview This n8n workflow integrates with the Replicate API to use the 0xdino/cyberrealistic-pony-v125 model. This powerful AI model can generate high-quality other content based on your inputs. Features Easy integration with Replicate API Automated status checking and result retrieval Support for all model parameters Error handling and retry logic Clean output formatting Parameters Optional Parameters cfg** (number, default: 4): CFG scale seed** (integer, default: 0): Random seed (0 = random) steps** (integer, default: 40): Sampling steps width** (integer, default: 768): Image width height** (integer, default: 1152): Image height prompt** (string, default: score_9, score_8_up, score_7_up, super-detailed fashion portrait of a young woman in ripped denim shorts and ribbed tank top, colorful accessories, RAW photography style, soft cinematic lighting, dramatic shadows across her face and body, brown hair gently tousled, (fine-art editorial atmosphere), moody tone, high-resolution textures and rich natural detail, solo subject): Positive prompt denoise** (number, default: 0.98): Denoise strength scheduler** (string, default: karras): Scheduler type facerestore** (boolean, default: True): Enable face restoration sampler_name** (string, default: dpmpp_3m_sde): Sampler name How to Use Set up your Replicate API key in the workflow Configure the required parameters for your use case Run the workflow to generate other content Access the generated output from the final node API Reference Model: 0xdino/cyberrealistic-pony-v125 API Endpoint: https://api.replicate.com/v1/predictions Requirements Replicate API key n8n instance Basic understanding of other generation parameters
by mariskarthick
Reduce human delays between malware detection and remediation in MSSP/SOC environments. This workflow automates full endpoint antivirus scanning immediately after high-severity endpoint infection wazuh alerts, closing the gap between alerting and action. Why Use This Workflow? Malware alerts are only effective if acted upon swiftly. Manual follow-ups are slow or often missed, letting threats persist. Automates detection, triage, scan initiation, and notification—all within one minute of alerting. Ensures consistent, auditable actions across endpoints running Linux or Windows. 🔑 Key Features Listens for high-severity Wazuh AV infection alerts (e.g., rule 52502). Uses GPT-4 for AI-powered alert summaries to speed triage and decision making. Extracts exact infected file paths using AI and regex for targeted scanning. Runs ClamAV/defender scans directly on endpoints via SSH with least-privilege credentials. Sends real-time scan results and remediation updates through Telegram, Slack, or email. Runs locally with limited permissions—no need for elevated Wazuh manager access. 🎯 Impact Eliminates manual lag—scans start automatically and immediately. Standardizes response playbooks for reliable, repeatable remediation. Reduces threat dwell time, minimizing risk exposure. Provides full event-to-remediation visibility via logs and notifications. 🚀 Get Started Configure Wazuh Manager to forward AV alerts to this n8n webhook. Import this workflow JSON into your n8n instance. Set up required credentials: OpenAI API, SSH access for ClamAV scanning, notification channels (Telegram/Slack/email). Activate the workflow and monitor alerts triggering automated scans and reports. 📂 Enjoy customizing Swap ClamAV with your preferred antivirus commands (e.g., Defender) as needed. Integrate with your existing communication or ticketing systems. Extend or adapt for multi-endpoint orchestration or other alert rules. Created by Mariskarthick M Senior Security Analyst | Detection Engineer | Threat Hunter | Open-Source Enthusiast
by Samir Saci
Tags*: Supply Chain, Logistics, Route Planning, Transportation, GPS API Context Hi! I’m Samir — a Supply Chain Engineer and Data Scientist based in Paris, and founder of LogiGreen Consulting. I help companies improve their logistics operations using data, AI, and automation to reduce costs and minimize environmental footprint. > Let’s use n8n to build smarter and greener transport operations! 📬 For business inquiries, you can add find me on LinkedIn Who is this template for? This workflow is designed for logistics and transport teams who want to automate distance and travel time calculations for truck shipments. Ideal for: Control tower dashboards Transport cost simulations Route optimization studies How does it work? This n8n workflow connects to a Google Sheet where you store city-to-city shipment lanes, and uses the OpenRouteService API to calculate: 📏 Distance (in meters) ⏱️ Travel time (in seconds) 🪪 Number of route steps Steps: ✅ Load departure/destination city coordinates from a Google Sheet 🔁 Loop through each record 🚚 Query OpenRouteService using the truck (driving-hgv) profile 🧾 Extract and store results: distance, duration, number of steps 📤 Update the Google Sheet with new values What do I need to get started? This workflow is beginner-friendly and requires: A Google Sheet with route pairs (departure and destination coordinates) A free OpenRouteService API key 👉 Get one here Next Steps 🗒️ Follow the sticky notes inside the workflow to: Select your sheet Plug in your API key Launch the flow! 🎥 Check the Tutorial 🚀 You can customize the workflow to: Add CO2 emission estimates for Sustainability Reporting Connect to your TMS via API or EDI This template was built using n8n v1.93.0 Submitted: June 1, 2025
by Robert Breen
This workflow automates invoice creation using Google Sheets for structured input and Google Docs for templated output — all built inside n8n. 🛠️ Step-by-Step Instructions ### Step 1: Manual Trigger Start the workflow manually for testing or development purposes. ### Step 2: Google Sheets — Load Invoice Data Pulls invoice data from a Google Sheet. 📄 Sheet URL: Copy This Sheet Expected Columns**: Company From Company To Terms Invoice Description Amount > 🔑 Credentials Required: > Connect to Google Sheets OAuth2 API in n8n. > Be sure your sheet is shared with the connected Google account. ### Step 3: Get Invoice Template — Load Google Doc Loads a static Google Docs template containing placeholder values. 🧾 Template URL: Copy This Template Required Placeholders** in the document: FromCompany# ToCompany# Terms# Invoice# Description# Amount# > 🔑 Credentials Required: > Connect to Google Docs OAuth2 API in n8n. ### Step 4: Create New Doc — Make Invoice File Creates a new Google Doc by duplicating the invoice template. Title Format**: Invoice: {{ $json.Invoice }} Destination Folder ID**: 1TnDibwPPPUm3VbmETiqWDVhtaUTLJ6mn (You can change this to your own Google Drive folder) > 🔐 Make sure your Google Docs credential has write access to this folder. ### Step 5: Merge — Combine Data Merges the loaded document and spreadsheet row together for downstream updates. ### Step 6: Insert Content into Doc (Optional) You can insert additional content here if needed. For example, a note, header, or footer pulled from your database or a custom field. ### Step 7: Input Invoice Details — Replace Fields Uses Google Docs API to replace all placeholders from the original template with the actual values. Replacements: | Placeholder | Replaced With | |----------------|------------------------------| | FromCompany# | Company From from sheet | | ToCompany# | Company To from sheet | | Terms# | Terms from sheet | | Invoice# | Invoice number | | Description# | Description of service | | Amount# | Amount of invoice | 📤 Final Output Each row from the Google Sheet results in a completed, branded Google Doc invoice stored in your Drive. 🙋 Need Help? Robert Breen Automation Consultant 🌐 ynteractive.com 📧 robert.j.breen@gmail.com 🔗 LinkedIn 🔒 Required APIs | Service | Purpose | |------------------|--------------------------| | Google Sheets API | Pull structured invoice data | | Google Docs API | Load & modify invoice documents | | n8n OAuth2 | Connect both services securely | Let me know if you'd like a follow-up step to export invoices as PDFs or auto-email them to clients!
by Varritech
Workflow: Auto-Ticket Maker ⚡ About the Creators This workflow was created by Varritech Technologies, an innovative agency that leverages AI to engineer, design, and deliver software development projects 500% faster than traditional agencies. Based in New York City, we specialize in custom software development, web applications, and digital transformation solutions. If you need assistance implementing this workflow or have questions about content management solutions, please reach out to our team. 🏗️ Architecture Overview This workflow transforms your Slack conversations into complete project tickets, effectively replacing the need for a dedicated PM for task creation: Slack Webhook → Captures team conversation Code Transformation → Parses Slack message structure AI PM Agent → Analyzes requirements and creates complete tickets Memory Buffer → Maintains conversation context Slack Output → Returns formatted tickets to your channel Say goodbye to endless PM meetings just to create tickets! Simply describe what you need in Slack, and our AI PM handles the rest, breaking down complex projects into structured epics and tasks with all the necessary details. 📦 Node-by-Node Breakdown flowchart LR A[Webhook: Slack Trigger] --> B[Code: Parse Message] B --> C[AI PM Agent] C --> D[Slack: Post Tickets] E[Memory Buffer] --> C F[OpenAI Model] --> C Webhook: Slack Trigger Type: HTTP Webhook (POST /slack-ticket-maker) Purpose: Captures messages from your designated Slack channel. Code Transformation Function: Parses complex Slack payload structure Extracts: User ID, channel, message text, timestamp, thread information AI PM Agent Inputs: Parsed Slack message Process: Evaluates project complexity Requests project name if needed Asks clarifying questions (up to 2 rounds) Breaks down into epics and tasks Formats with comprehensive structure Ticket Structure: Title Description Objectives/Goals Definition of Done Requirements/Acceptance Criteria Implementation Details Risks & Challenges Testing & Validation Timeline & Milestones Related Notes & References Open Questions Memory Buffer Type: Window Buffer Memory Purpose: Maintains context across conversation Slack Output Posts fully-formatted tickets back to your channel Uses markdown for clean, structured presentation 🔍 Design Rationale & Best Practices Replace Your PM's Ticket Creation Time Let your PM focus on strategy while AI handles the documentation. Cut ticket creation time by 90%. Standardized Quality Every ticket follows best practices with consistent structure, detail level, and formatting. No Training Required Describe your needs conversationally - the AI adapts to your communication style. Seamless Integration Works within your existing Slack workflow - no new tools to learn.
by Evoort Solutions
🎬 YouTube Video to Blog – Multilingual Blog Generator Convert YouTube videos into SEO-friendly blog posts in just seconds using this fully automated n8n workflow. Perfect for content creators, marketers, educators, and bloggers looking to repurpose video content without manual transcription or formatting. 🔧 What It Does 📥 Accepts a YouTube video URL and preferred language via a simple form 🧠 Uses a third-party API to convert the video into a blog-style article 📄 Automatically inserts the generated content into a Google Docs document 🌍 Supported Languages Supports all major languages, including but not limited to: English Hindi French German Gujarati 🎯 The workflow is flexible and can generate blog content in any language supported by the API. Just select your language when submitting the form. 🚀 Benefits ⏱️ Time-Saving: Eliminate manual video transcription and formatting 🌐 Multilingual: Easily generate blogs in multiple languages 📚 Centralized Storage: Store all generated blogs in a single Google Docs file 🔧 Customizable: Extend the flow to auto-publish, email, or analyze content 🧠 Use Cases Repurpose YouTube content into keyword-rich blog posts Generate multilingual content for global reach Convert educational videos into study guides or summaries Create email newsletters or social media posts from video content 🛠️ Requirements ✅ An n8n instance (self-hosted or cloud) 🔑 RapidAPI key for youtube-to-blog.p.rapidapi.com 🧾 A Google Docs account with API access 🚨 Note: Be sure to update the API key and Google Docs URL with your own credentials before activating the workflow. Create your free n8n account and set up the workflow in just a few minutes using the link below: 👉 Start Automating with n8n Save time, stay consistent, and grow your LinkedIn presence effortlessly!
by David Roberts
OpenAI Assistant is a powerful tool, but at the time of writing it doesn't automatically remember past messages from a conversation. This workflow demonstrates how to get around this, by managing the chat history in n8n and passing it to the assistant when required. This makes it possible to use OpenAI Assistant for chatbot use cases. Note that to use this template, you need to be on n8n version 1.28.0 or later.
by Robert Breen
This guide walks you through building an intelligent AI Agent in n8n that routes tasks to the appropriate sub-agent using the new @n8n/n8n-nodes-langchain agent framework. You’ll create a Manager Agent that evaluates user input and delegates it to either an Email Agent or a Data Agent—each with its own role, memory, and OpenAI model. This is perfect for use cases where you want a single entry point but intelligent branching behind the scenes. 🔧 Step 1: Set Up the Manager Agent Start by dragging in an Agent node and name it something like ManagerAgent. This agent will act as the “brain” of your system, analyzing the user's input and determining whether it should be handled by the email-writing sub-agent or the data-summary sub-agent. Open the node’s settings and paste the following into the System Message: You are an AI Manager that delegates tasks to specialized agents. Your job is to analyze the user's message and decide whether it requires: An EmailAgent for writing outreach, follow-up, or templated emails, or A DataAgent for tasks involving data summaries, metrics, or analysis. Send the instructions to the sub agents. This instruction gives the Manager Agent clarity on what roles exist and what types of tasks belong to each one. 🧠 Step 2: Add Memory to the Manager Agent Drag in a Memory (BufferWindow) node and label it Manager Memory. Connect it to the ai_memory input of the Manager Agent. This ensures the agent can remember recent inputs and outputs from the user and agents during the conversation. No extra configuration is needed in this memory node—just connect it to the agent. 🔌 Step 3: Connect a Language Model to the Manager Agent Next, add a Language Model node and choose OpenAI Chat Model. Select a model like gpt-4o-mini or gpt-4, depending on what you have access to. Under Credentials, connect your OpenAI API key. If you haven’t created this credential yet: Click "OpenAI API" under Credentials. Choose "Create New". Paste your OpenAI API key (found at https://platform.openai.com/account/api-keys). Save it and return to the workflow. Once the model is set, connect it to the ai_languageModel input of the Manager Agent. ✉️ Step 4: Create the Email Agent Tool Now you’ll create a specialized sub-agent that only writes emails. Add an Agent Tool node and call it EmailAgent. In the tool’s settings, describe its job clearly. For example: Writes professional, friendly, or action-oriented emails based on instructions. Then scroll down to the System Message section and enter the following: You are a professional Email Writing Assistant. You write polished, effective emails for tasks such as outreach, follow-ups, and client communication. Follow the instruction provided exactly and return only the email content. Use a warm, business-appropriate tone. For the text input field, use the expression: {{ $fromAI('Prompt__User_Message_', ``, 'string') }} This allows the Email Agent to receive exactly what the Manager Agent wants it to handle. Add another Memory node and link it to this tool to help it maintain short-term context. Then add a second Language Model node, configured just like the first one (you can even clone it), and connect it to the EmailAgent. Finally, connect this entire EmailAgent setup back to the ManagerAgent by attaching it to its ai_tool input. 📊 Step 5: Create the Data Agent Tool Repeat the same steps, but this time for data summaries and analysis. Add another Agent Tool node and name it DataAgent. In the Tool Description, write something like: Responds to instructions requiring metrics, summaries, or data analysis explanations. For its input text field, you can use: {{json.query}} If desired, provide a system message that gives the agent more detailed instruction on how to behave: You are a helpful Data Analyst. Summarize trends, explain metrics, and break down data clearly based on user instructions. As with the EmailAgent, you’ll also need: A dedicated Memory node A dedicated Language Model node A connection to the ai_tool input of the Manager Agent Now the Manager Agent has two tools it can delegate to: one for communication and one for insights. 🧪 Step 6: Test Your AI Agent System Deploy the workflow and start testing by sending prompts like: > “Write a cold outreach email to a software company.” The ManagerAgent should route that to the EmailAgent. Then try: > “Summarize how our lead volume changed last month.” The DataAgent should receive that task. If routing isn’t working as expected, double-check your system messages and input bindings in each agent tool. ✅ You’re Done! You now have a modular, multi-agent AI system powered by n8n. The Manager Agent delegates intelligently, each sub-agent is optimized for its role, and all of them benefit from context memory. For more advanced setups, you can chain tools, add additional memory types, or use retrieval (RAG) tools for external document support.
by Robert Breen
A step-by-step demo that shows how to pull your Outlook calendar events for the week and ask GPT-4o to write a short summary. Along the way you’ll practice basic data-transform nodes (Code, Filter, Aggregate) and see where to attach the required API credentials. 1️⃣ Manual Trigger — Run Workflow | Why | Lets you click “Execute” in the n8n editor so you can test each change. | | --- | --- | 2️⃣ Get Outlook Events — Get many events Node type: Microsoft Outlook → Event → Get All Fields selected: subject, start API setup (inside this node): Click Credentials ▸ Microsoft Outlook OAuth2 API If you haven’t connected before: Choose “Microsoft Outlook OAuth2 API” → “Create New”. Sign in and grant the Calendars.Read permission. Save the credential (e.g., “Microsoft Outlook account”). Output: A list of events with the raw ISO start time. > Teaching moment: Outlook returns a full dateTime string. We’ll normalize it next so it’s easy to filter. 3️⃣ Normalize Dates — Convert to Date Format // Code node contents return $input.all().map(item => { const startDateTime = new Date(item.json.start.dateTime); const formattedDate = startDateTime.toISOString().split('T')[0]; // YYYY-MM-DD return { json: { ...item.json, startDateFormatted: formattedDate } }; }); 4️⃣ Filter the Events Down to This Week After we’ve normalised the start date-time into a simple YYYY-MM-DD string, we drop in a Filter node. Add one rule for every day you want to keep—for example 2025-08-07 or 2025-08-08. Rows that match any of those dates will continue through the workflow; everything else is quietly discarded. Why we’re doing this: we only want to summarise tomorrow’s and the following day’s meetings, not the entire calendar. 5️⃣ Roll All Subjects Into a Single Item Next comes an Aggregate node. Tell it to aggregate the subject field and choose the option “Only aggregated fields.” The result is one clean item whose subject property is now a tidy list of every meeting title. It’s far easier (and cheaper) to pass one prompt to GPT than dozens of small ones. 6️⃣ Turn That List Into Plain Text Insert a small Code node right after the aggregation: return [{ json: { text: items .map(item => JSON.stringify(item.json)) .join('\n') } }]; Need a Hand? I’m always happy to chat automation, n8n, or Outlook API quirks. Robert Breen – Automation Consultant & n8n Instructor 📧 robert@ynteractive.com | LinkedIn