by Khairul Muhtadin
This workflow automatically checks a list of desired domain names for availability every 30 minutes. Using the Porkbun API and Google Sheets, it instantly sends detailed notifications via Gmail and Discord the moment a domain becomes available, so you can secure it before anyone else. Why Use This Workflow? Time Savings: Eliminates hours of manual domain checking each week. Set your list once and let the automation monitor your targets 24/7. Competitive Edge: Gain a critical speed advantage in acquiring high-value or expiring domains the second they become available. Scalability: Effortlessly monitor hundreds of domains simultaneously without any extra effort or performance degradation. Ideal For Domain Investors:** Automatically track and snipe valuable expiring domains for their portfolio without constant manual checks. Marketing Agencies & SEO Specialists:** Secure brandable domains for new clients or build out private blog networks by catching domains as soon as they drop. Startups & Entrepreneurs:** Monitor desired brand names without the daily hassle, ensuring they get the perfect domain the moment it's available. How It Works Trigger: A schedule trigger initiates the workflow every 30 minutes. Data Collection: It retrieves a list of domains to monitor from a designated Google Sheet, specifically targeting rows marked as "no" for availability. Processing: The workflow iterates through each domain one by one. Intelligence Layer: It makes an API call to Porkbun to check the current availability of the domain. An IF node then determines if the domain is available (avail == yes). Output & Delivery: If a domain is available, the workflow sends a rich HTML email via Gmail and a formatted message to a Discord channel, complete with pricing details and a direct registration link. Storage & Logging: The Google Sheet is automatically updated to mark the domain as "available," preventing redundant notifications on future runs. Setup Guide Prerequisites | Requirement | Type | Purpose | |-------------|------|---------| | n8n instance | Essential | Workflow execution platform | | Porkbun Account | Essential | API Access for domain checks | | Google Cloud Platform | Essential | Storing domain list (Sheets) & sending alerts (Gmail) | | Discord Server | Optional | Real-time channel notifications | Installation Steps Import the JSON file to your n8n instance. Create a Google Sheet with two columns: Domain (e.g., example.com) and isAvailable (e.g., no). Configure credentials: Porkbun: Log in to Porkbun, go to API Access, create a new key, and copy the API Key and Secret Key into the HTTP Request nodes. A "Validate API KEY" node is included for testing your credentials. Google Sheets/Gmail: Authenticate your Google account for the Google Sheets and Gmail nodes. Discord: Create a Discord Bot and add the credentials to the Discord node. Update environment-specific values: Get Domains from Sheet: Enter your Google Sheet ID and select the correct sheet name. Send Email Alert: Set your recipient's email address in the "To" field. Send Discord Notification: Select your desired Server and Channel ID. Test execution: Add a domain you know is available to your Google Sheet (with isAvailable set to "no"). Run the workflow manually to verify that all connections work and you receive notifications. Technical Details Core Nodes | Node | Purpose | Key Configuration | |------|---------|-------------------| | Schedule Trigger | Initiates the workflow on a recurring basis. | Set the desired interval (default: 30 minutes). | | Google Sheets | Reads the domain list and updates its status. | Sheet ID, Sheet Name, and column mapping. | | SplitInBatches | Processes each domain from the list individually. | Batch size is set to 1 to check domains sequentially. | | HTTP Request | Queries the Porkbun API for domain availability. | Porkbun API endpoint and credentials. | | IF | Routes the workflow based on the API response. | Checks if response.avail equals "yes". | | Gmail | Sends a detailed email alert for available domains. | Recipient email, subject, and HTML body. | | Discord | Sends a concise notification to a Discord channel. | Server ID, Channel ID, and message content. | | Wait | Prevents API rate-limiting. | Pauses for 10 seconds between checking domains. | Workflow Logic The workflow is triggered by a schedule, fetching a list of domains from a Google Sheet. It uses the SplitInBatches node to loop through each domain sequentially. For every domain, it calls the Porkbun API. An IF node checks the response; if available, it triggers notifications and updates the Google Sheet. A Wait node is crucial for respecting API rate limits, ensuring the workflow runs smoothly even with large domain lists. Customization Options Basic Adjustments: Check Frequency**: Modify the "Schedule Trigger" node to run more or less frequently. Notification Channels**: Remove the Gmail or Discord nodes, or add new ones like Slack or Telegram. Email Content**: Customize the HTML in the Gmail node to match your branding. Advanced Enhancements: Auto-Registration**: Extend the workflow to use Porkbun's domain registration API endpoint to automatically purchase the domain when it becomes available (use with caution). Advanced Filtering**: Add logic to only send notifications for domains with specific TLDs (.com, .io, etc.) or that are not marked as "premium." Tiered Notifications**: Set up different notification channels based on the perceived value of the domain, sending high-priority alerts via SMS for critical domains. Troubleshooting Common Issues: | Problem | Cause | Solution | |---------|-------|----------| | Workflow fails at HTTP Request node | Invalid Porkbun API credentials. | Use the separate "Validate API KEY" node to test your keys directly. Regenerate them if needed. | | No domains are processed | Google Sheets node configuration error or the sheet is empty. | Verify the Sheet ID is correct and that the isAvailable column contains "no" for the domains you want to check. | | Authentication errors | Google or Discord credentials have expired or lack permissions. | Re-authenticate the respective nodes in the n8n credentials panel. | Created by: Khaisa Studio Category: Monitoring Tags: Porkbun, Domain, Automation, Google Sheets, Notifications Need custom workflows? Contact us Connect with the creator: Portfolio • Workflows • LinkedIn • Medium • Threads
by Mohamed Abubakkar
Overall Description This workflow fully automates the process of creating and publishing professional LinkedIn posts based on real-world experience in AI automation and workflow engineering, enriched with latest industry insights from the internet, and paired with a relevant high-quality image The workflow ensures: Content relevance to AI automation, backend/frontend systems, IT Professional, human-friendly post tone Image validation before posting Post validation before publishing Automatic success/failure email alerts Worflow Logic Trigger workflow (daily, weekly, custom date) Define posting context (based on your expertise) Fetch latest AI/automation trends (you can change based on your interested trends) Filter insights relevant to your field Generate linkedin ready post using AI Agent (OpenAI API) Generate image from Open AI Image model related to the post Validate image and text quality Merge approved text and image Convert content into LinkedIn format Publish post on LinkedIn Send email notification on success or failure Setup Instructions Credentials OpenAI API Key – For text generation. LinkedIn API Token – For publishing posts. Image Generation API – DALL-E, Pollinations, or MidJourney. Gmail / SMTP – For notifications. Optional APIs: SERP API for trending topics.
by Ramsey Njire
Overview Stop digging through execution logs to find out why a workflow failed. This template provides a "set-it-and-forget-it" monitoring system that uses AI to automatically debug your n8n workflows. Instead of just getting a simple error message, you'll receive a detailed email notification with a root cause analysis and a step-by-step suggested fix from a Gemini-powered AI agent. This saves you valuable time, helps you resolve issues faster, and ensures your critical automations are always running smoothly. Prerequisites Before you begin the setup, please make sure you have the following accounts and information ready: An n8n Instance:** This workflow must be hosted on an active n8n instance. n8n API Key:* You'll need to generate an API key from your n8n instance (Settings > API*). OpenRouter Account:** An account with OpenRouter.ai to access various AI models like Gemini. Google (Gmail) Account:** To send and receive the email notifications. n8n Environment Variable:** Your n8n instance must have the N8N_EDITOR_BASE_URL environment variable configured. This is essential for generating correct links to your workflow executions. Use Cases This template is perfect for anyone who wants to proactively monitor their automations. Here are a few examples: Monitoring Critical Webhooks:** Get instant, intelligent alerts if a workflow handling data from a payment gateway (like Stripe) or a form submission fails due to unexpected data, minimizing service disruption. Managing Complex Automations:** For long, multi-step workflows, the AI can immediately pinpoint the exact failing node and suggest fixes for complex data mapping errors or API issues that are otherwise difficult to trace. Developers & Agencies:** If you manage multiple n8n workflows for clients or different projects, this provides a centralized monitoring system that helps you stay on top of all automation issues without having to manually check each one. How it works This workflow acts as an automated debugging assistant for your n8n instance 🤖. When any of your other workflows fail during an automatic (production) execution, this template will: Capture the error and use the n8n API to fetch the complete structure of the failed workflow for full context. Send the error details and workflow structure to a powerful AI agent (via OpenRouter) for a detailed root cause analysis. Format the AI's diagnosis and suggested fix into a clean HTML email and send it to you via Gmail, including a direct link to the failed execution. Important Note: As per the n8n documentation, the Error Trigger node only runs for errors that happen in production executions (e.g., from a webhook call or a schedule). It will not run when you test a workflow by clicking "Execute workflow" manually. Set up steps (Estimated setup time: 10 minutes) There are two main parts to the setup: configuring this workflow, and then connecting it to the workflows you want to monitor. Part A: Configure the AI Debugger Workflow n8n API Credentials: Create an API key in your n8n instance under Settings > API and add it as a "Header Auth" credential for the Get Workflow JSON node. OpenRouter Credentials: Add your OpenRouter API key to the OpenRouter Chat Model node. Gmail Credentials: Authenticate your Gmail account in the Send Debugging Email node. Recipient Email: Update the "To" field in the final Send Debugging Email node with your own email address. Environment Variable: Ensure your N8N_EDITOR_BASE_URL environment variable is correctly set for your n8n instance. This is required for building the API and execution links. Part B: Connect to Your Other Workflows For every workflow you want this debugger to monitor, you must link it in that workflow's settings. Go to the workflow you want to monitor (your "target" workflow). Click the three dots (...) in the top right corner and select Settings. 3. In the Error Workflow dropdown, select this "AI-Powered Workflow Debugger & Notifier" workflow. Click Save. Now, whenever that target workflow fails during a production run, this debugger workflow will automatically be triggered to analyze the error and notify you. Note that the error workflow only gets triggered on automatic runs, not manual ones: This is a feature of how the error trigger works in n8n. To ensure this, make sure the target workflow is active. It won't trigger the error workflow if it's turned off.
by Oneclick AI Squad
Enhance financial oversight with this automated n8n workflow. Triggered every 5 minutes, it fetches real-time bank transactions via an API, enriches and transforms the data, and applies smart logic to detect critical, high, and medium priority alerts based on error conditions, amounts, or risk scores. It sends multi-channel notifications via email and Slack, logs all data to Google Sheets, and generates summary statistics for comprehensive tracking. 💰🚨 Key Features Real-time monitoring every 5 minutes for instant alerts. Smart prioritization (Critical, High, Medium) based on risk and errors. Multi-channel notifications via email and Slack. Detailed logging and summary reports in Google Sheets. How It Works Schedule Trigger: Runs every 5 minutes. Fetch Transactions: HTTP request retrieves real-time transaction data. API Error?: If condition for error logic is met, sends error alert. Enrich & Transform Data: Advanced risk calculation enhances data. Critical Alert?: If condition (50% or risk > 8) is met, raises alert. High Priority?: If condition (5% or risk > 7) is met, raises alert. Medium Priority?: If condition is met, raises alert. Log Priority to Sheet: Google Sheets appends critical, high, or medium priority data. Send Critical Email: HTML email to execute sheets append. Send High Priority Email: Email to finance team. Send High Priority Slack: Slack notification to finance team. Send Medium Priority Email: Email to finance team. Merge All Alerts: Combines all alerts for comprehensive tracking. Generate Summary Stats: Code block for analytics. Log Summary to Sheet: Summary statistics storage. Setup Instructions Import the workflow into n8n and configure the bank API credentials in "Fetch Transactions." Set up Google Sheets OAuth2 and replace the sheet ID for logging nodes. Configure Gmail API Key and Slack Bot Token for alerts. Test the workflow with sample transaction data exceeding risk or amount thresholds. Adjust priority conditions (e.g., 50%, 5%, risk > 8) based on your risk policy. Prerequisites Bank API access with real-time transaction data (e.g., https://api.bank.com) Google Sheets OAuth2 credentials Gmail API Key for email alerts Slack Bot Token (with chat:write permissions) Structured transaction data format Google Sheet Structure: Create a sheet with columns: Transaction ID Amount Date Risk Score Priority (Critical/High/Medium) Alert Sent Summary Stats Updated At Modification Options Adjust the "Schedule Trigger" interval (e.g., every 10 minutes). Modify "Critical Alert?" and "High Priority?" conditions for custom thresholds. Customize email and Slack templates with branded messaging. Integrate with fraud detection tools for enhanced risk analysis. Enhance "Generate Summary Stats" with additional metrics (e.g., average risk). Discover more workflows – Get in touch with us
by ben daamer
Who it's for Legal, Procurement, and Compliance teams at mid-size companies. ESN and agencies selling AI-powered contract review as a service. How it works Upload a contract PDF through a rich form (with metadata: contract type, counterparty, department, submitter). The workflow first checks Supabase for duplicates to avoid re-analyzing the same contract. Then it runs a two-pass AI analysis: Pass 1 classifies the contract (type, parties, dates, jurisdiction), Pass 2 performs deep risk analysis (clause-by-clause risk levels, missing clauses, obligations, negotiation points, compliance flags). Results are scored 0–100 with risk levels (CRITICAL / HIGH / MEDIUM / LOW). A structured report is generated as both Slack Block Kit (rich formatting) and HTML email. High-risk contracts trigger a Slack alert with full blocks and an email report to the submitter. Low-risk contracts get a summary Slack notification. All analyses are stored in Supabase with full metadata for audit. An Error Trigger sends admin notifications to a dedicated Slack channel. How to set up Run the SQL from the "Supabase Schema" sticky note in Supabase SQL Editor. Set environment variables: SUPABASE_URL, SUPABASE_SERVICE_KEY. Add credentials in n8n: OpenAI (Header Auth), Supabase, Slack, Gmail (optional). Configure the Config node: RISK_THRESHOLD, SLACK_CHANNEL, ADMIN_SLACK_CHANNEL, AI_MODEL, ALERT_EMAIL, ENABLE_EMAIL, CONTRACT_LANG. Activate the workflow and share the Form URL with your team.
by NODA shuichi
Description: An intelligent alarm system that wakes you up early only when necessary. 🛡️🤖 This workflow monitors your local weather and train status every morning at 5:00 AM. It uses Google Gemini to analyze the situation. If there is heavy rain or a train delay, it sends an emergency alert immediately (and can trigger smart home devices). If everything is normal, it waits until your usual wake-up time to send a calm briefing. Key Features: AI Context Awareness: Uses Gemini to intelligently judge "Emergency" situations based on weather descriptions and news headlines. Dynamic Notification: Emergency Mode: Immediate Email alert + Optional SwitchBot trigger (e.g., turn on lights). Normal Mode: Delays notification until your scheduled wake-up time (90 mins later). Targeted Monitoring: Searches specific train lines via Google News RSS. How it works: Trigger: Runs daily at 5:00 AM. Fetch: Gets weather from OpenWeatherMap and train news from Google News RSS. Judge: Gemini analyzes the data. Action: Routes the notification based on the status (Emergency/Normal). Setup Requirements: Credentials: OpenWeatherMap API, Google Gemini API, Gmail. Config: Open the "1. Configuration" node to set your Location, Train Line, and Email.
by Abdallah Hussein
Who this template is for This template is designed for n8n users running workflows in production who need reliable and structured error monitoring, not just basic alerts. It’s especially useful for: Automation engineers and developers Teams running business-critical workflows Anyone who wants smarter alerting with reduced noise What this workflow does This workflow acts as a global, severity-based error monitoring system for n8n. When a linked workflow fails, it automatically: Classifies the error by severity (Critical, High, Normal) Routes alerts based on severity level Sends notifications via Telegram and Email Logs critical errors for auditing and troubleshooting This ensures important issues are escalated properly, while avoiding unnecessary alert fatigue. How it works An Error Trigger captures execution failures from linked workflows. A Code node analyzes the error and assigns a severity level. Alerts are routed based on severity: 🔴 Critical → Email + Telegram + Logging 🟠 High → Telegram alert 🟡 Normal → Telegram alert All alerts include rich context such as workflow name, failed node, execution time, and execution URL. The workflow only runs when an error occurs. How to set up Configure the required credentials (Telegram, Email, optional Google Sheets). Replace placeholder values such as: YOUR_TELEGRAM_CHAT_ID YOUR_ALERT_EMAIL Activate this workflow. Open any workflow you want to monitor. In Workflow Settings, set Error Workflow to this workflow. Save and test by triggering an error. Requirements An active n8n instance (cloud or self-hosted) Telegram Bot credentials Email credentials (for critical alerts) Optional: Google Sheets credentials for logging How to customize the workflow You can extend this workflow by: Adding more alert channels (Slack, Discord, etc.) Adjusting severity classification logic Implementing rate-limiting or noise reduction Logging errors to databases or external monitoring tools Detailed instructions and explanations are included inside the workflow using sticky notes.
by Tony Adijah
Who is this for This workflow is ideal for marketers, product managers, competitive intelligence teams, and anyone who needs to track changes on web pages — whether it's competitor pricing, job postings, policy updates, product pages, or any content that matters to your business. What this workflow does It automatically monitors a list of URLs on a schedule, fetches each page, extracts clean text content, compares it against the previous snapshot stored in Google Sheets, generates a detailed line-by-line diff with change percentage and severity rating, and sends instant alerts via Telegram and email when changes are detected. How it works Schedule Trigger checks your target URLs at a configurable interval (default: every 4 hours). URL List node defines which pages to monitor — easily add or remove URLs without touching other nodes. HTTP Request fetches the current HTML content of each page with browser-like headers. Content Extractor strips HTML tags, scripts, styles, and navigation to get clean readable text, plus extracts page title and meta description. Load Previous Snapshot reads the last saved version from Google Sheets for comparison. Diff Engine compares current vs. previous content line-by-line, calculates a change percentage, assigns a severity level (low/medium/high/critical), and generates a human-readable diff summary showing exactly what was added or removed. Change Filter only passes through pages that actually changed — no noise, no false alerts. Save Snapshot stores the new version in Google Sheets for the next comparison cycle. Telegram + Email Alerts send formatted notifications with the diff summary, change percentage, severity, and a direct link to the page. Setup steps Add URLs — Edit the "URL List" code node and add your target URLs. Each entry needs a name (friendly label) and url (full URL). Optionally add a selector keyword to focus on specific page sections. Google Sheets — Create a new spreadsheet with a sheet named "website" and columns: Name, url, selector, pageTitle, metaDescription, cleanText, contentHash, contentLength, fetchedAt, httpStatus. Connect your Google Sheets OAuth credential and set the spreadsheet ID in both Sheet nodes. Telegram — Create a bot via @BotFather, get your Bot Token and Chat ID. Connect the Telegram credential and set your Chat ID in the Telegram Alert node. Email (optional) — Connect your SMTP or Gmail credential in the Email Alert node and set your from/to addresses. Schedule — Adjust the cron interval in the trigger node (every 1 hour for critical pages, every 24 hours for low-priority). First Run — Run the workflow manually once to save baseline snapshots. Change detection begins from the second run onward. Requirements Google Sheets account with OAuth credentials Telegram bot (created via @BotFather) with bot token and chat ID SMTP or Gmail credentials for email alerts (optional) n8n instance (cloud or self-hosted) How to customize Add CSS selector keywords in the URL List to monitor only specific sections of a page (e.g., pricing tables, job listings). Increase check frequency to every 15 minutes for critical monitoring. Add Slack, Discord, or WhatsApp as additional alert channels by branching from the Save Snapshot node. Use AI (OpenAI, Ollama) to summarize changes in plain language instead of raw diff output. Monitor API endpoints (JSON responses) by adjusting the Content Extractor logic. Add multiple sheets for different monitoring categories (competitors, pricing, legal, careers).
by Rahul Joshi
Description Streamline client retention and contract renewals by automatically identifying expiring accounts, sending personalized reminder emails, and notifying account managers through Slack. This workflow ensures timely outreach, improved renewal rates, and centralized tracking — without manual effort. 🔁📧📅 What This Template Does Triggers daily at 9 AM to check for contracts expiring within 10 days. ⏰ Fetches all client records from GoHighLevel CRM. 🗂️ Validates client data to ensure required custom fields (Contract End Date & Account Manager) are available. 🧩 Filters expiring contracts and formats key client details (name, email, expiry date). 🔍 Sends renewal reminder emails to clients using Gmail. 💌 Notifies account managers in Slack with full client and renewal details. 💬 Generates a summary report of total reminders sent and execution status. 📋 Logs all reminders and timestamps into Google Sheets for performance tracking. 📊 Key Benefits ✅ Never miss renewal deadlines again ✅ Improve client retention and satisfaction ✅ Reduce manual tracking and follow-up work ✅ Keep account managers informed in real-time ✅ Maintain a clear audit trail of renewal activities Features Automated daily scheduling (9 AM trigger) GoHighLevel integration for client data Dynamic filtering for contracts expiring within 10 days Gmail email automation for personalized messages Slack notifications for internal visibility Google Sheets logging for analytics and reporting Requirements GoHighLevel account with access to Contacts API Custom fields: Contract End Date and Account Manager Gmail account with OAuth2 credentials Slack Bot token with chat:write permission Google Sheets OAuth2 credentials Target Audience Account management and client success teams Agencies handling multiple client contracts Businesses with recurring subscriptions or service renewals Teams wanting automated retention workflows Step-by-Step Setup Instructions Connect your GoHighLevel account and ensure contract-related custom fields are configured. Set your Slack channel ID where renewal notifications will be sent. Connect Gmail for automated client communication. Link Google Sheets for centralized renewal logging. Adjust reminder window in the code node (daysUntilExpiry <= 10) as per your needs. Test the workflow once manually, then enable scheduling for automation.
by Devon Toh
Screen and Score Investment Deals with AI using OpenAI, Gmail, and Telegram Automatically screens incoming deal submissions using AI, scores them against investment criteria, and routes to the right action. Who is this for? VC firms, PE funds, angel investors, or M&A advisors who receive deal flow via email or form submissions. What problem does this solve? Manually reviewing every pitch deck and deal memo is time-consuming. Most deals don't meet investment criteria. This agent screens, scores, and prioritizes deals so your team focuses on the best opportunities. How it works: New Email Received / Deal Submission Webhook - captures deals from email or form Normalize Email/Webhook Data - standardizes fields from either source Build Deal Text - combines email body + attachment info into screening text Has Deal Content? - validates there is enough content to screen Extract Deal Info - OpenAI - AI extracts company, industry, revenue, ask, team, highlights, red flags Score Deal - OpenAI - AI scores on 5 criteria (industry fit, revenue, growth, team, clarity) Is PASS? / Is REVIEW? - routes by verdict (PASS/REVIEW/REJECT) Telegram Alerts - notifies with deal summary and scores Log Deal to Pipeline Sheet - tracks all deals in a pipeline spreadsheet Setup: Add credentials: Gmail, OpenAI, Telegram Bot, Google Sheets Replace YOUR_TELEGRAM_CHAT_ID with your chat ID Create a Google Sheet with columns: received_at, company_name, industry, stage, revenue, ask_amount, overall_score, verdict, one_line_summary, recommendation, key_highlights, red_flags, sender_name, sender_email, source, industry_fit, revenue_stage, growth_trajectory, team_strength, deal_clarity Replace YOUR_GOOGLE_SHEET_ID with your sheet ID Customization: Edit the scoring criteria in the Score Deal OpenAI prompt Adjust score thresholds for PASS/REVIEW/REJECT Add Slack notifications instead of Telegram Add auto-decline email for REJECT deals Connect to a CRM instead of Google Sheets
by Oneclick AI Squad
Optimize your performance review process with this automated workflow. Running daily at 8 AM, it retrieves scheduled reviews from a Google Sheet, validates upcoming sessions, processes each review, and sends email reminders to participants. It also updates Google Calendar events, notifies HR via Slack, and logs review statuses back into the sheet — ensuring a seamless, tracked, and multi-channel communication experience. 📅🤖 What This Template Does Step 1: Triggers Daily Check at 8 AM to initiate the review process. ⏰ Step 2: Gets Review Schedule by reading planned reviews from a Google Sheet. Step 3: Filters Upcoming Reviews to focus on sessions within the next 3 days. Step 4: Validates Reviews Scheduled? Ensures reviews exist and are ready to process. Step 5: Splits into Manual to handle each review individually. Step 6: Prepares Review Data for notifications and updates. Step 7: Branches actions: → Sends Email Reminder to participants. → Updates Calendar Event with the scheduled session. → Notifies HR on Slack with review details. → Updates Review Status in the Google Sheet with logged feedback. Key Benefits Automates daily review scheduling and reminders Ensures timely calendar updates and notifications Centralizes feedback logging in Google Sheets Enhances HR visibility with Slack alerts Reduces manual coordination efforts Improves review process consistency Features Daily trigger at 8 AM Google Sheet integration for review schedule Filtering for upcoming reviews (next 3 days) Validation of scheduled reviews Multi-channel notifications (email, Slack) Google Calendar event creation Real-time status updates in sheets Manual processing for individual reviews Requirements GOOGLE_SHEET_ID**: Your Google Sheet ID (structured as below) Credentials Needed:** Google Sheets OAuth2 Gmail API Key Google Calendar OAuth2 Slack Bot Token (with chat:write permissions) Customize:** • Review schedule columns (e.g., Employee, Date, Reviewer, Status) • Reminder email template • Slack channel for HR notifications • Calendar event duration Google Sheet Structure: Create a sheet with columns: Employee Name Review Date Reviewer Status Feedback Updated At Target Audience HR teams managing performance reviews 👥 Managers scheduling regular check-ins ⏳ Organizations ensuring review compliance 📋 Remote teams needing centralized updates 🌐 Companies prioritizing employee feedback 📈 Step-by-Step Setup Instructions Set up Google Sheet → Create a sheet with columns: Employee Name, Review Date, Reviewer, Status, Feedback, Updated At. → Replace YOUR_SHEET_ID in the workflow with your actual Sheet ID. Configure Daily Trigger → Set the "Daily Check at 8 AM" node to run at 8:00 AM IST (adjust for timezone if needed). Connect Google Calendar → Enable Google Calendar OAuth2 and select the relevant calendar (e.g., hr@company.com). Customize Review Filter → In "Filter Upcoming Reviews," set the range to check the next 3 days from today (e.g., October 24–27, 2025). Set Up Notifications → Edit the "Send Email Reminder" template (e.g., include review date and link). → Configure "Notify HR on Slack" with your HR channel ID. Test the Flow → Add a test review entry in the sheet (e.g., date within 3 days). → Run manually or wait until 8 AM IST on October 25, 2025 → Verify email, calendar event, Slack message, and sheet update. Go Live → Enable the daily trigger. → Monitor sheet and notifications for the first run. Workflow Complete! Reviews scheduled, reminders sent, and feedback logged — all on autopilot. Metrics to Track: Reviews scheduled daily Reminder delivery success Calendar update rate Feedback logging completion
by Tony Adijah
Who is this for This workflow is built for professionals, founders, freelancers, and anyone drowning in email who wants to automatically triage their inbox using AI — sorting emails into categories, applying Gmail labels, and generating reply drafts for important messages, all running locally with Ollama (zero paid API costs). What this workflow does It watches your Gmail inbox for new unread emails, uses a local AI model (Ollama) to classify each email into one of six categories (Urgent, Action Required, Follow-up, Newsletter, Automated, or Spam/Promotional), automatically applies the matching Gmail label, generates reply drafts for high-priority emails, and logs every processed email to Google Sheets for analytics. How it works Gmail Trigger watches your inbox for new unread emails at a configurable interval (default: every 30 minutes). Extract Email Data parses the sender, subject, body, attachments, and metadata into clean fields — handles all Gmail node output formats. AI Classifier (Ollama, running locally) analyzes the email content and returns a structured classification with category, priority, confidence score, summary, suggested action, sentiment, and a reply draft for important messages. Extract Classification robustly parses the AI response (handles markdown fences, nested objects, and edge cases) and merges it with email metadata. Smart Router sends each email down one of six dedicated paths based on its classification. Gmail Label nodes automatically apply the correct label to each email in your inbox. Reply Draft nodes create Gmail drafts for Urgent and Action Required emails — ready for you to review, edit, and send from your Drafts folder. Log Entry tracks every processed email in Google Sheets with category, priority, confidence, summary, and timestamp for analytics and review. Setup steps Gmail OAuth — Connect your Google account. Grant read, modify, and compose permissions. Create Gmail Labels — In Gmail, manually create these labels (the workflow applies them automatically): 🔴 Urgent 📋 Action Required 💬 Follow-up 📰 Newsletter 🤖 Automated 🚫 Spam-Promo Get Label IDs — Use the Gmail API or n8n's Gmail node (operation: "Get Many Labels") to find each label's ID. Update the labelIds in each Gmail Label node with your actual IDs. Ollama — Ensure Ollama is running locally (http://localhost:11434) with your preferred model pulled (e.g., ollama pull mistral). Change the model name in the Ollama Chat Model node if needed. Google Sheets (optional) — Connect your Google Sheets OAuth credential and set a spreadsheet ID in the logging node. Create a sheet with columns: Date, From, Subject, Category, Priority, Confidence, Reason, Summary, Key Action, Has Reply Draft, Sentiment, Auto Archive, Gmail ID, Processed At. Test — Send yourself a few test emails (urgent request, newsletter, promotional) and run the workflow manually to verify classification accuracy. Requirements Gmail account with OAuth credentials (read, modify, compose permissions) Ollama running locally with a pulled model (mistral, llama3, gemma2, etc.) Google Sheets account with OAuth credentials (optional, for logging) n8n instance (self-hosted recommended for Ollama connectivity) How to customize Swap mistral for llama3, gemma2, deepseek, or any Ollama-compatible model. Add more categories by editing the AI system prompt and adding outputs to the Switch node. Change the reply draft tone (formal, casual, friendly) in the AI system prompt. Add Slack or Telegram notifications for urgent emails by branching from the Label nodes. Add auto-archive for newsletters and spam by adding a Gmail "Remove Labels" node (remove INBOX label). Decrease the polling interval for near-real-time processing. Add sender whitelist/blacklist logic in a Code node before the AI classifier.