by Sergei Byvshev
Automatically classify and route DevOps requests from your team chat using LLM + on-call calendar lookup. What it does This workflow turns your Mattermost channel into a smart DevOps intake system. When someone mentions @devops-duty, the workflow: Receives the message via Mattermost outgoing webhook Classifies the request into one of 8 categories using an LLM Looks up the current on-call engineer from Google Calendar Routes the request through a Switch node based on category Acknowledges in a Mattermost thread with the classification result Categories create_resource - Provision new databases, secrets, services, DNS records incident - Something is broken — production or staging issues question - Information requests, status checks, clarifications ci_cd_error - Build failures, deployment issues, GitHub Actions problems limits - Billing limits, quotas exceeded change_request - Modify existing infrastructure or configuration `code_approve - Code review and merge request approvals other - Anything that doesn't fit above Extending Each Switch output is an independent branch — connect sub-workflows or additional nodes per category. For example: incident → trigger an AI investigation sub-workflow with MCP tools (Kubernetes, Grafana, etc.) create_resource → run a provisioning playbook ci_cd_error → fetch GitHub Actions logs and analyze failures Connect these workflows: incident new_system, modify infrastructure ci_cd_error question
by Gaetano Abbaticchio
Automatically monitor billable Kimai projects every weekday morning and receive a formatted HTML email when a project deadline is approaching or its hour budget is running low. If nothing requires attention, no email is sent keeping your inbox clean and focused. Who it's for Teams and freelancers using Kimai to track billable hours who want to stay on top of project deadlines and budget consumption without checking manually every day. Particularly useful for agencies managing multiple concurrent projects with fixed-hour contracts or purchase orders with expiry dates. How it works The workflow runs Monday–Friday at 9 AM via a Schedule Trigger. It fetches all visible billable projects from Kimai, then, in parallel, retrieves full project details (end date, time budget, customer name) and all timesheet records for each project. Total logged hours are calculated and merged with project data. Each project is then evaluated: it gets flagged if its end date falls within the next 10 days, or if logged hours have exceeded 80% of the allocated budget. Flagged projects are assigned a color-coded urgency level (expired, urgent, warning, on track, or missing data) and sorted by days remaining. A rich HTML email is generated with one card per project, showing the deadline status and a visual progress bar for hour consumption. The email is sent only if at least one project qualifies, otherwise the workflow exits silently. How to set up Add your Kimai Bearer Token as an HTTP Bearer Auth credential in n8n Add your SMTP credentials for outgoing email Replace https://kimai with your actual Kimai instance URL in the three HTTP Request nodes and in the email button link inside the Build Email HTML - Report node Update fromEmail and toEmail in the Send an Email node Requirements Self-hosted or cloud Kimai instance with API access Kimai service account Bearer Token SMTP account for outgoing email How to customize | What | Where | |---|---| | Days threshold (default: 10) | Calculate expiration → line 1 | | Budget alert % (default: 80%) | Calculate expiration → getBudgetInfo() | | Schedule | Every Day at 9:00 trigger node | | Sender / recipient email | Send an Email node |
by Ahmad Bukhari
Who is this for? This workflow is built for n8n admins, automation agencies, solopreneurs, and ops teams running multiple workflows in production who need to know the moment something breaks. If you're manually checking your n8n execution logs every day to catch failures or worse, finding out about broken workflows days later this template gives you real-time monitoring with zero effort. What problem does this solve? Failed workflows go unnoticed for hours or days because nobody checks the execution log When you do find a failure, you have to dig through execution data to figure out what went wrong No centralized error history you can't spot patterns or recurring issues Alert fatigue from generic monitoring tools that don't tell you why something failed or how to fix it What this workflow does This workflow monitors your entire n8n instance for failed executions and handles the full error lifecycle automatically: Continuous monitoring** runs every minute on a schedule (or on-demand via webhook) Smart filtering** only processes failures from the last 5 minutes and excludes its own executions to prevent alert loops Automatic error classification** categorizes every failure into one of 7 types: Auth Error, Rate Limit, Network, Data/Config Error, Not Found, Server Error, and Permission Severity assignment** tags each error as 🔴 Critical, 🟠 High, or 🟡 Medium Suggested fixes** — generates an actionable fix suggestion for each error category (e.g., "Re-authenticate credential for: [node name]") Google Sheets logging** appends a detailed row to your error log with timestamp, workflow name, error category, severity, message, suggested fix, and retry status Color-coded Slack alerts** sends a formatted message to your alerts channel with the workflow name, failed node, error type, error message, suggested fix, and clickable links to the workflow and execution Setup Credentials needed n8n API Key** HTTP Header Auth credential with header name X-N8N-API-KEY Google Sheets** OAuth credentials Slack** OAuth credentials Configuration Create an API key in your n8n instance (Settings → API) Add it as an HTTP Header Auth credential in n8n with the header name X-N8N-API-KEY Open the Get Failures and Get Execution Detail nodes and replace YOUR-N8N-INSTANCE-URL with your actual n8n domain (e.g., n8n.yourcompany.com) Create a Google Sheet with these columns: Timestamp, Workflow Name, Workflow ID, Execution ID, Failed Node, Error Category, Severity, Error Message, Suggested Fix, Retryable, Status, Notes Open the Log to Sheet node and update the spreadsheet ID Open the Slack Alert node and set the channel to your alerts channel (e.g., #n8n-errors) Test it Manually trigger the webhook, or intentionally break a test workflow and wait one minute for the scheduled check. You should see a Slack alert and a new row in your Google Sheet. How to customize this workflow Different alerting channel?** Replace or duplicate the Slack node to send alerts to Microsoft Teams, Discord, email, or PagerDuty Auto-retry?** Add a retry branch after the Classify Error node that automatically re-runs retryable executions (Rate Limit, Network, Server Error) via the n8n API Different logging?** Replace the Google Sheets node with Airtable, Notion, or a database insert for more structured tracking Adjust the schedule?** Change the Schedule Trigger from every minute to every 5 minutes, 15 minutes, or hourly depending on your needs Add more error categories?** Extend the classification logic in the Classify Error code node to handle domain-specific errors (e.g., Stripe payment failures, Shopify API errors)
by Cheng Siong Chin
How It Works This workflow automates legal case tracking, deadline management, and exception handling for law firms, corporate legal departments, and court systems managing complex litigation portfolios. Designed for attorneys, paralegals, and legal operations teams, it solves the challenge of monitoring court filings, tracking critical deadlines, identifying case exceptions, and coordinating multi-stakeholder responses while preventing costly missed deadlines and procedural violations. The system schedules regular monitoring (every 15 minutes for time-sensitive matters), fetches court case data from legal databases, validates filings through AI agents (Classifier categorizes case types and urgency, Validation confirms data accuracy), checks for exceptions requiring immediate attention, and orchestrates specialized responses through Administration Orchestration Agent coordinating multiple sub-agents: Admin Agent manages administrative tasks, Deadline Tracking monitors critical dates, Exception Escalation handles urgent matters with Gmail and Slack alerts. Routes findings by validation status—validated cases store normally while exceptions trigger multi-channel notifications and specialized handling. Organizations reduce missed deadline risk by 95%, automate routine case administration, ensure consistent procedural compliance, and enable attorneys to focus on legal strategy rather than docket management. Setup Steps Connect Schedule Trigger for monitoring frequency Configure court data sources with API credentials Add AI model API keys to Classifier Validation Agent and Administration Orchestration Agent nodes Define case classification rules and exception criteria in agent prompts based on jurisdiction requirements Set deadline thresholds for alert triggers Link Gmail credentials for attorney and client notifications with templated messages Configure Slack webhooks for urgent exception alerts to legal team channels Prerequisites Court system API access (PACER, state portals), case management system integration Use Cases Litigation deadline tracking, court filing monitoring, statute of limitations management Customization Modify classification rules for practice area specializations (patent, corporate, criminal) Benefits Reduces missed deadline risk by 95%, automates routine case administration tasks
by Rahul Joshi
📊 Description This workflow automatically classifies new Stack Overflow questions by topic, generates structured FAQ content using GPT-4o-mini, logs each entry in Google Sheets, saves formatted FAQs in Notion, and notifies your team on Slack — ensuring your product and support teams stay aligned with real-world developer discussions. 🤖💬📚 ⚙️ What This Template Does Step 1: Monitors Stack Overflow RSS feeds for new questions related to your selected tags. ⏱️ Step 2: Filters out irrelevant or incomplete questions before processing. 🧹 Step 3: Uses OpenAI GPT-4o-mini to classify each question into a topic category (Frontend, Backend, DevOps, etc.). 🧠 Step 4: Generates structured FAQ content including summaries, technical insights, and internal guidance. 📄 Step 5: Saves formatted entries into your Notion knowledge-base database. 📚 Step 6: Logs all FAQ data into a connected Google Sheet for analytics and tracking. 📊 Step 7: Sends real-time Slack notifications with quick links to the new FAQ and the original Stack Overflow post. 🔔 Step 8: Provides automatic error detection — any failed AI or Notion step triggers an instant Slack alert. 🚨 💡 Key Benefits ✅ Builds a continuously updated, AI-driven knowledge base ✅ Reduces repetitive support and documentation work ✅ Keeps product and dev teams aware of trending community issues ✅ Enhances internal docs with verified Stack Overflow insights ✅ Maintains an audit trail via Google Sheets ✅ Alerts your team instantly on errors or new FAQs 🧩 Features Automatic Stack Overflow RSS monitoring Dual-layer OpenAI integration (Topic Classification + FAQ Generation) Structured Notion database integration Google Sheets logging for analytics Slack notifications for new FAQs and error alerts Custom tag-based question filtering Near real-time updates (every minute) Built-in error handling for reliability 🔐 Requirements OpenAI API Key (GPT-4o-mini access) Notion API credentials with database access Google Sheets OAuth2 credentials Slack bot token with chat:write permissions Stack Overflow RSS feed URL for your preferred tags 👥 Target Audience SaaS or product teams building internal FAQ and knowledge systems Developer relations and documentation teams Customer-support teams automating knowledge reuse Technical communities curating content from Stack Overflow 🧭 Setup Instructions Add your OpenAI API credentials in n8n. Connect your Notion database and update the page or database ID. Connect Google Sheets credentials and select your tracking sheet. Connect your Slack account and specify your notification channel. Update the RSS Feed URL with your chosen Stack Overflow tags. Run the workflow manually once to test connectivity, then enable automation.
by WeblineIndia
WooCommerce Failed Order Fetch, Airtable Logging & Slack Alerts This workflow automatically checks WooCommerce for failed orders on a schedule, processes each order individually, prevents duplicate entries using Airtable, stores new failed orders centrally, and sends clear AI-generated Slack alerts. It ensures clean data, avoids duplicate records and helps teams act quickly on failed payments. Quick Implementation Steps Set your WooCommerce domain in the Set WooCommerce Domain node. Add WooCommerce API Key + Secret in the Fetch Failed Orders From WooCommerce node. Connect your Airtable Base/Table in the Search Records and Save Failed Order to Airtable nodes. Add your OpenAI API key to the AI node. Connect your Slack account + target channel. Enable the workflow and let it run automatically. What It Does This workflow continuously monitors your WooCommerce store for failed orders without relying on webhooks. On every scheduled run, it fetches all orders marked as failed, processes them one by one, and checks Airtable using the order\_id to see whether the order has already been logged. If the order already exists, the workflow safely stops processing for that order and optionally sends an informational Slack message. If the order is new, the workflow formats the data, saves it into Airtable, generates a clean AI-written summary, and sends a Slack alert to the team. This approach ensures data accuracy and prevents duplicate records. Who’s It For WooCommerce store owners needing reliable failed-payment tracking Finance teams monitoring recovery opportunities Support teams requiring instant alerts Developers building reusable, idempotent workflows Agencies managing multiple WooCommerce stores Ops teams using Airtable for reporting and audits Requirements to Use This Workflow Active n8n instance (cloud or self-hosted) WooCommerce store with REST API access Airtable account with Base and Table Slack workspace with API access OpenAI API key (for AI-generated messages) Permission to write data to Airtable and Slack How It Works & How To Set Up Step 1: Configure the Scheduler Set how often the workflow runs in Check Failed Orders (Scheduler) (e.g., every 5 minutes, 15 minutes, or hourly). Step 2: Set Your WooCommerce Domain In Set WooCommerce Domain, enter your store domain: Plain textANTLR4BashCC#CSSCoffeeScriptCMakeDartDjangoDockerEJSErlangGitGoGraphQLGroovyHTMLJavaJavaScriptJSONJSXKotlinLaTeXLessLuaMakefileMarkdownMATLABMarkupObjective-CPerlPHPPowerShell.propertiesProtocol BuffersPythonRRubySass (Sass)Sass (Scss)SchemeSQLShellSwiftSVGTSXTypeScriptWebAssemblyYAMLXML yourstore.com This value is reused across the workflow. Step 3: Fetch Failed Orders In Fetch Failed Orders From WooCommerce, configure Basic Authentication using: Consumer Key Consumer Secret The workflow fetches: Plain textANTLR4BashCC#CSSCoffeeScriptCMakeDartDjangoDockerEJSErlangGitGoGraphQLGroovyHTMLJavaJavaScriptJSONJSXKotlinLaTeXLessLuaMakefileMarkdownMATLABMarkupObjective-CPerlPHPPowerShell.propertiesProtocol BuffersPythonRRubySass (Sass)Sass (Scss)SchemeSQLShellSwiftSVGTSXTypeScriptWebAssemblyYAMLXML https://{{wc_domain}}/wp-json/wc/v3/orders?status=failed Step 4: Loop & Duplicate Check Each failed order is processed individually using Loop Over Items. The workflow searches Airtable using Search Records to check whether the order\_id already exists. A Merge node ensures safe data handling, and the IF node decides whether the order is a duplicate or a new entry. Step 5: Format New Order Data The Format Order Data node normalizes WooCommerce data, maps failure reasons, builds admin and retry URLs, and prepares the data for storage. Step 6: Save to Airtable New failed orders are saved in Airtable using Save Failed Order to Airtable. Duplicate orders are skipped to prevent data duplication. Step 7: Generate & Send Slack Alerts For new failed orders, the workflow generates a concise AI-based summary and sends it to Slack. Duplicate orders can optionally trigger an informational Slack message. How To Customize Polling Frequency:** Change scheduler interval Duplicate Logic:** Modify Airtable search or IF condition Stored Fields:** Adjust Airtable field mappings Formatting Rules:* Edit JavaScript in *Format Order Data** Slack Message Style:** Update AI prompt Optional Enhancements Retry-payment tracking with attempts count Customer notification via email or SMS Jira/Trello ticket creation Google Sheets or BI dashboard sync Multi-store WooCommerce support Example Use Cases Centralized failed-payment tracking in Airtable Instant Slack alerts for support and finance teams Clean reporting without duplicate records Faster issue resolution with AI summaries Scalable foundation for recovery automation Troubleshooting Guide | Issue | Possible Cause | Solution | | --------------------------- | ----------------------------------- | ------------------------------------------------------ | | No orders fetched | Wrong WooCommerce domain or API URL | Check Set WooCommerce Domain and HTTP Request URL | | 401 Unauthorized | Invalid API key/secret | Regenerate keys from WooCommerce → REST API | | Airtable record not created | Field mismatch | Confirm column names and types in Airtable | | Slack message empty | AI node prompt or path mismatch | Confirm output path: $json.output[0].content[0].text | | Workflow not running | Scheduler disabled | Ensure workflow is Active | | API timeout | Store too slow or blocked | Whitelist server IP or increase timeout in HTTP node | Need Help? If you need assistance customizing this workflow, adding new features or integrating more systems, feel free to reach out. The n8n automation team at WeblineIndia can help with: Advanced WooCommerce automations Multi-store workflows Airtable/Slack/OpenAI integrations Custom logic, validations and data pipelines And many such advanced automation solutions. We’re here to support you in scaling your automation journey.
by Kevin Yu
Quick overview This workflow runs every weekday morning to fetch tasks from a specified Asana project, bucket them by due status and completion activity, and post a Slack Block Kit digest with counts, key task links, and per-assignee open workload. How it works Runs on a weekday-morning schedule. Pulls tasks from a chosen Asana project via the Asana REST API, including assignee, due date, completion status, and task links, and paginates through results as needed. Groups open tasks into overdue, due today, due this week, and unassigned buckets, and also collects tasks completed within the configured lookback window. Calculates summary counts and open-task load per assignee. Formats the results into a Slack Block Kit message with a short totals line and up to five linked tasks per bucket. Posts the digest to the specified Slack channel. Setup Add an Asana Personal Access Token (Asana API credentials) and select it for the HTTP request that fetches project tasks. Add a Slack OAuth credential and ensure the app/bot can post messages to your target channel. In the configuration step, set your Asana project GID, Slack channel ID, timezone, and the lookback window for recently completed tasks. Adjust the schedule (days and hour) to match when you want the digest to run, then execute once to verify output before activating. Requirements An Asana account with access to the project you want reported on. The free tier is enough. An Asana Personal Access Token. The digest only ever contains tasks that token's own user can already see, so a token from outside the project returns nothing. A Slack bot token with the chat:write scope, held as n8n's Slack API credential. The bot already in the destination channel. A private channel needs it invited first. The Slack channel ID, not the name. The node selects by ID and will not resolve #general. No AI provider, no community nodes, no paid tier. Runs on Cloud or self-hosted. Customization lookbackHours (default 24) controls how far back completed tasks are collected. The totals line reads "completed in the last day" as fixed text, so reword it there if you change this. MAX_LINKS (default 5) in Build Slack Digest Blocks caps linked tasks per section. The remainder shows as "+N more". The due-this-week window ends on the coming Sunday via daysUntilSunday. Change it for a rolling seven-day window instead. Section headings, order, and the colour emoji are plain strings in Build Slack Digest Blocks. Set a summaryLine field on the item before Build Slack Digest Blocks and it renders as a quote above the buckets. That is where a model call belongs if you want one, and it changes no counts. Pagination guards on the Asana call: 100 tasks per page, 20 pages maximum, 300ms apart. Additional info Nothing in this workflow calls a model, so the same Asana data always produces the same digest and a run costs nothing beyond the two accounts. Two timezones are in play: the schedule fires on your n8n instance timezone, while overdue and due today are decided from the timezone set in the config node, so set both if they differ. Open tasks with no due date land in no bucket at all, yet they still count toward the totals line and per-assignee load, so the buckets will not sum to the total. Unassigned is a separate list rather than an exclusive bucket, so an overdue task with no owner appears in both. Pagination stops after 20 pages of 100 tasks, and a project larger than that is truncated with no warning and low counts. The digest posts on every run whether or not anything is due, and there is no stored state, so a manual execution posts a second copy of the same snapshot. The Asana read and the Slack post each retry three times, and if they still fail the run stops silently, so set an n8n error workflow if people rely on this. One quirk worth knowing: the builder computes a plain-text fallback string, but the Slack node sends blocks only, so mobile notification previews can arrive with no preview text.
by malcolm
Inspiration & Notes This workflow was born out of a very real problem. While writing a book, I found the process of discovering suitable literary agents and managing outreach to be manual, and surprisingly difficult to scale. Researching agents, checking submission rules, personalizing emails, tracking submissions, and staying organized quickly became a full-time job on its own. So instead of doing it manually, I automated it. I built this entire workflow in 3 days — and the goal of publishing it is to show that you can do the same. With the right structure and intent, complex sales and marketing workflows don’t have to take months to build. Contact & Collaboration If you have questions, business inquiries, or would like help setting up automation workflows, feel free to reach out: 📩 malcolm95authoring@gmail.com I genuinely enjoy designing workflows and automation systems, especially when they support meaningful projects. I work primarily from interest and impact rather than purely financial motivation. Whether I take on a project for FREE or paid for the following reasons: I LOVE setting up workflows and automation. I work for meaningfulness, not for money. I may do the work for free**, depending on how meaningful the project is. If the problem statement matters, the motivation follows. It also depends on the value I bring to the table** -- If I can contribute significant value through system design, I’m more inclined to get involved. If you’re building something thoughtful and need help automating it, I’m always happy to have a conversation. Enjoy~! 0. Overview Automates the end-to-end literary agent outreach pipeline, from data ingestion and eligibility filtering to deep agent research, personalized email generation, submission tracking, and analytics. Architecture The system is organized into four logical domains: The system is modular and is divided into four domains: --> Data Engineering --> Marketing & Research --> Sales (Outreach) --> Data Analysis Each domain operates independently and passes structured data downstream. 1. Data Engineering Purpose: Ingest and normalize agent data from multiple sources into a single source of truth. Inputs Google BigQuery Azure Blob Storage AWS S3 Google Sheets (Optional) HTTP sources Key Steps Scheduled ingestion trigger Merge and normalize heterogeneous data formats (CSV, tables) Deduplication and validation AI-assisted enrichment for missing metadata Append-only writes to a central Google Sheet Output Clean, normalized agent records ready for eligibility evaluation 2. Marketing & Research Purpose: Decide who to contact and how to personalize outreach. Eligibility Evaluation An AI agent evaluates each record against strict rules: Email submissions enabled Not QueryTracker-only or QueryManager-only Genre fit (e.g. Memoir, Spiritual, Self-help, Psychology, Relationships, Family) Outputs send_email (boolean) reason (auditable explanation) Deep Research For eligible agents only: Public research from agency sites, interviews, Manuscript Wish List, and LinkedIn (if public) Extracts: Professional background Editorial interests Genres represented Notable clients/books (if publicly listed) Public statements Source-backed personalization angles Strict Rule: All claims must be explicitly cited; no inference or hallucination is allowed. 3. Sales (Outreach) Purpose: Execute personalized email outreach and maintain clean submission tracking. Steps AI generates agent-specific email copy Copy is normalized for tone and clarity Email is sent (e.g. Gmail) Submission metadata is logged: Submission Completed Submission Timestamp Channel used Result Consistent, traceable outreach with CRM-style hygiene 4. Data Analysis Purpose: Measure pipeline health and outreach effectiveness. Features Append-only decision and submission logs QuickChart visualizations for fast validation (e.g. TRUE vs FALSE completion rates) Optional integration with: Power BI Google Analytics 4 Supports Completion rate analysis Funnel tracking Source/platform performance Decision auditing Design Principles Separation of concerns** (ingestion ≠ decision ≠ outreach ≠ analytics) AI with hard guardrails** (strict schemas, source-only facts) Append-only logging** (analytics-safe, debuggable) Modular & extensible** (plug-and-play data sources) Human-readable + machine-usable outputs** Constraints & Notes Only public, professional information is used No private or speculative data HTTP scraping avoided unless necessary Power BI Embedded is not required Workflow designed and implemented end-to-end in ~3 days Use Cases Marketing Audience discovery Agent segmentation Personalization at scale Campaign readiness Funnel automation Sales Lead qualification Deduplication Outreach execution Status tracking Pipeline hygiene Tech Stack Automation:** n8n AI:** OpenAI (GPT) Scripting:** JavaScript Data Stores:** Google Sheets Email:** Gmail Visualization:** QuickChart BI (optional):** Power BI, Google Analytics 4 Cloud Sources:** AWS S3, Azure Blob, BigQuery Status This workflow is production-ready, modular, and designed for extension into other sales or marketing domains beyond literary outreach.
by WeblineIndia
Weekly WooCommerce Finance KPI Automation with HTTP APIs & Slack This workflow automatically gathers weekly WooCommerce order and refund data, calculates essential financial KPIs, detects potential refund-related risks and sends a clear weekly finance summary to Slack. Once configured, it runs on a schedule and delivers leadership-ready insights without any manual reporting. Quick Implementation Steps Import the workflow into your automation platform. Update the WooCommerce store domain in the configuration step. Add WooCommerce Consumer Key and Consumer Secret for API access. Connect your Slack account and choose a destination channel. Enable the workflow to receive weekly finance updates automatically. What It Does This workflow automates the weekly finance reporting process for WooCommerce stores by combining sales and refund data into a single, structured summary. It collects completed orders, cleans and standardizes the data and processes refund records to ensure accurate totals and counts. Using this data, the workflow calculates key metrics such as total sales amount, number of orders, total refunds and refund ratios. These KPIs help teams quickly assess store performance and identify refund patterns that may require attention. The workflow concludes by sending a well-formatted, executive-friendly digest to Slack, ensuring that finance and leadership teams always have timely and reliable insights. Who’s It For This workflow is designed for: Finance and accounting teams CFOs and business leaders WooCommerce store owners Operations and revenue managers Agencies managing WooCommerce stores Requirements to Use This Workflow To use this workflow, you need: A workflow automation platform A WooCommerce store with REST API access enabled WooCommerce Consumer Key and Consumer Secret Access to a Slack workspace Permission to configure API credentials and Slack integrations How It Works & How To Set Up 1. Weekly Schedule Trigger Automatically runs the workflow once every week. Controls when KPI data is generated. 2. WooCommerce Store Configuration Defines the WooCommerce domain used for all API calls. Makes it easy to reuse or update the workflow for another store. 3. Fetch WooCommerce Orders Retrieves order data using the WooCommerce Orders API. Pulls data relevant to the weekly reporting period. Uses HTTP Basic Authentication. 4. Filter Completed Orders Keeps only orders with a completed status. Ensures only successful sales are included. 5. Normalize Order Data Extracts essential finance fields: Order ID Order date Order total Line items Creates a clean data structure for KPI calculations. 6. Fetch WooCommerce Refunds Retrieves refund records using the WooCommerce Refunds API. Ensures refunds are analyzed alongside sales data. 7. Normalize Refund Data Extracts refund ID, parent order ID and refund amount. Standardizes refund information for accurate aggregation. 8. Combine Orders & Refunds Merges sales and refund datasets into a single input. Prepares the data for KPI calculations. 9. Calculate Finance KPIs Calculates: Total sales amount Total order count Total refund amount Total refund count Refund-to-sales ratio Refund-to-order ratio Removes duplicate refunds. Adds automatic risk flags when thresholds are exceeded. 10. Send Weekly KPI Digest to Slack Posts a formatted summary message to Slack. Users can select any Slack channel for delivery. Designed for quick review by leadership teams. How To Customize Nodes Schedule**: Change the weekly run day or time. Order Filters**: Include additional order statuses if required. KPI Logic**: Modify ratios, thresholds or calculations. Slack Message**: Adjust formatting, wording or emojis. Store Setup**: Reuse the workflow for different WooCommerce stores. Add-Ons (Optional Enhancements) This workflow can be extended with: Explicit weekly date filters Spreadsheet or database exports Email delivery in addition to Slack Multi-store KPI reporting Product-level or category-level metrics Automated alerts for unusual refund activity Use Case Examples Common use cases include: Weekly WooCommerce finance performance reporting Refund trend monitoring for leadership teams Automated CFO-level summaries Operations and revenue review meetings Agency reporting for managed WooCommerce stores There are many additional business-specific use cases where this workflow can be applied. Troubleshooting Guide | Issue | Possible Cause | Solution | | --------------------------- | ---------------------------------- | -------------------------------------------- | | Slack message not received | Slack integration not configured | Reconnect Slack account and select a channel | | Sales totals appear as zero | No completed orders for the period | Verify order status and store activity | | Refund data missing | API permission issue | Confirm WooCommerce API access | | Authentication error | Invalid credentials | Regenerate Consumer Key and Secret | | Workflow not running | Automation not activated | Enable the workflow | Need Help? If you need assistance setting up this workflow, customizing KPIs or extending it with advanced reporting features? WeblineIndia can help you: Configure and deploy automation workflows Customize finance and reporting logic Integrate WooCommerce with Slack and other tools Build similar workflows tailored to your business 👉 Reach out to our n8n automation experts at WeblineIndia for expert support and custom automation solutions.
by Vigh Sandor
Setup Instructions Overview This n8n workflow monitors your Proxmox VE server and sends automated reports to Telegram every 15 minutes. It tracks VM status, host resource usage, temperature sensors, and detects recently stopped VMs. Prerequisites Required Software n8n instance (self-hosted or cloud) Proxmox VE server with API access Telegram account with bot created via BotFather lm-sensors package installed on Proxmox host Required Access Proxmox admin credentials (username and password) SSH access to Proxmox server Telegram Bot API token Telegram Chat ID Installation Steps Step 1: Install Temperature Sensors on Proxmox SSH into your Proxmox server and run: apt-get update apt-get install -y lm-sensors sensors-detect Press ENTER to accept default answers during sensors-detect setup. Test that sensors work: sensors | grep -E 'Package|Core' Step 2: Create Telegram Bot Open Telegram and search for BotFather Send /newbot command Follow prompts to create your bot Save the API token provided Get your Chat ID by sending a message to your bot, then visiting: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates Look for "chat":{"id": YOUR_CHAT_ID in the response Step 3: Configure n8n Credentials SSH Password Credential In n8n, go to Credentials menu Create new credential: SSH Password Enter: Host: Your Proxmox IP address Port: 22 Username: root (or your admin user) Password: Your Proxmox password Telegram API Credential Create new credential: Telegram API Enter the Bot Token from BotFather Step 4: Import and Configure Workflow Import the JSON workflow into n8n Open the "Set Variables" node Update the following values: PROXMOX_IP: Your Proxmox server IP address PROXMOX_PORT: API port (default: 8006) PROXMOX_NODE: Node name (default: pve) TELEGRAM_CHAT_ID: Your Telegram chat ID PROXMOX_USER: Proxmox username with realm (e.g., root@pam) PROXMOX_PASSWORD: Proxmox password Connect credentials: SSH - Get Sensors node: Select your SSH credential Send Telegram Report node: Select your Telegram credential Save the workflow Activate the workflow Configuration Options Adjust Monitoring Interval Edit the "Schedule Every 15min" node: Change minutesInterval value to desired interval (in minutes) Recommended: 5-30 minutes Adjust Recently Stopped VM Detection Window Edit the "Process Data" node: Find line: const fifteenMinutesAgo = now - 900; Change 900 to desired seconds (900 = 15 minutes) Modify Temperature Warning Threshold The workflow uses the "high" threshold defined by sensors. To manually set threshold, edit "Process Data" node: Modify the temperature parsing logic Change comparison: if (current >= high) to use custom value Testing Test Individual Components Execute "Set Variables" node manually - verify output Execute "Proxmox Login" node - check for valid ticket Execute "API - VM List" - confirm VM data received Execute complete workflow - check Telegram for message Troubleshooting Login fails: Verify PROXMOX_USER format includes realm (e.g., root@pam) Check password is correct Ensure allowUnauthorizedCerts is enabled for self-signed certificates No temperature data: Verify lm-sensors is installed on Proxmox Run sensors command manually via SSH Check SSH credentials are correct Recently stopped VMs not detected: Check task log API endpoint returns data Verify VM was stopped within detection window Ensure task types qmstop or qmshutdown are logged Telegram not receiving messages: Verify bot token is correct Confirm chat ID is accurate Check bot was started (send /start to bot) Verify parse_mode is set to HTML in Telegram node How It Works Workflow Architecture The workflow executes in a sequential chain of nodes that gather data from multiple sources, process it, and deliver a formatted report. Execution Flow Schedule Trigger (15min) Set Variables Proxmox Login (get authentication ticket) Prepare Auth (prepare credentials for API calls) API - VM List (get all VMs and their status) API - Node Tasks (get recent task log) API - Node Status (get host CPU, memory, uptime) SSH - Get Sensors (get temperature data) Process Data (analyze and structure all data) Generate Formatted Message (create Telegram message) Send Telegram Report (deliver via Telegram) Data Collection VM Information (Proxmox API) Endpoint: /api2/json/nodes/{node}/qemu Retrieves: Total VM count Running VM count Stopped VM count VM names and IDs Task Log (Proxmox API) Endpoint: /api2/json/nodes/{node}/tasks?limit=100 Retrieves recent tasks to detect: qmstop operations (VM stop commands) qmshutdown operations (VM shutdown commands) Task timestamps Task status Host Status (Proxmox API) Endpoint: /api2/json/nodes/{node}/status Retrieves: CPU usage percentage Memory total and used (in GB) System uptime (in seconds) Temperature Data (SSH) Command: sensors | grep -E 'Package|Core' Retrieves: CPU package temperature Individual core temperatures High and critical thresholds Data Processing VM Status Analysis Counts total, running, and stopped VMs Queries task log for stop/shutdown operations Filters tasks within 15-minute window Extracts VM ID from task UPID string Matches VM ID to VM name from VM list Calculates time elapsed since stop operation Temperature Intelligence The workflow implements smart temperature reporting: Normal Operation (all temps below high threshold): Calculates average temperature across all cores Displays min, max, and average values Example: "Average: 47.5 C (Min: 44.0 C, Max: 52.0 C)" Warning State (any temp at or above high threshold): Displays all temperature readings in detail Shows full sensor output with thresholds Changes section title to "Temperature Warning" Adds fire emoji indicator Resource Calculation CPU Usage: API returns decimal (0.0 to 1.0) Converted to percentage: cpu * 100 Memory: API returns bytes Converted to GB: bytes / (1024^3) Calculates percentage: (used / total) * 100 Uptime: API returns seconds Converted to days and hours: days = seconds / 86400, hours = (seconds % 86400) / 3600 Report Generation Message Structure The Telegram message uses HTML formatting for structure: Header Section Report title Generation timestamp Virtual Machines Section Total VM count Running VMs with checkmark Stopped VMs with stop sign Recently stopped count with warning Detailed list if VMs stopped in last 15 minutes Host Resources Section CPU usage percentage Memory used/total with percentage Host uptime in days and hours Temperature Section Smart display (summary or detailed) Warning indicator if thresholds exceeded Monospace formatting for sensor output HTML Formatting Features Bold tags for headers and labels Italic for timestamps Code blocks for temperature data Unicode separators for visual structure Emoji indicators for status (checkmark, stop, warning, fire) Security Considerations Credential Storage Passwords stored in n8n Set node (encrypted in database) Alternative: Use n8n environment variables Recommendation: Use Proxmox API tokens instead of passwords API Communication HTTPS with self-signed certificate acceptance Authentication via session tickets (15-minute validity) CSRF token validation for API requests SSH Access Password-based authentication (can use key-based) Commands limited to read-only operations No privilege escalation required Performance Impact API Load 3 API calls per execution (VM list, tasks, status) Lightweight endpoints with minimal data 15-minute interval reduces server load Execution Time Typical workflow execution: 5-10 seconds Login: 1-2 seconds API calls: 2-3 seconds SSH command: 1-2 seconds Processing: less than 1 second Resource Usage Minimal CPU impact on Proxmox Small memory footprint Negligible network bandwidth Extensibility Adding Additional Metrics To monitor additional data points: Add new API call node after "Prepare Auth" Update "Process Data" node to include new data Modify "Generate Formatted Message" for display Integration with Other Services The workflow can be extended to: Send to Discord, Slack, or email Write to database or log file Trigger alerts based on thresholds Generate charts or graphs Multi-Node Monitoring To monitor multiple Proxmox nodes: Duplicate API call nodes Update node names in URLs Merge data in processing step Generate combined report
by Rahul Joshi
Description This workflow automates the evaluation of interviewer feedback using AI. It retrieves raw notes from Google Sheets, processes them through GPT-4o-mini for structured scoring, validates outputs, and calculates weighted quality scores. The system provides real-time Slack feedback to interviewers, logs AI errors for transparency, and recommends training if the feedback quality is low. What This Template Does (Step-by-Step) ⚡ Manual Trigger – Runs the workflow manually to start evaluation. 📋 Fetch Raw Feedback Data (Google Sheets) – Reads all feedback entries (Role, Stage, Interviewer Email, Feedback Text, row_number). 🧠 AI Quality Evaluator (Azure GPT-4o-mini) – Processes feedback into structured JSON across 5 dimensions. 🔍 Analyze Feedback Quality (LLM Chain) – Applies scoring rules (Specificity, STAR, Bias-Free, Actionability, Depth) and outputs structured JSON. ✅ Validate AI Response – Ensures AI output isn’t undefined or malformed. 🚨 Log AI Errors (Google Sheets) – Records invalid AI responses for debugging and auditing. 🔄 Parse AI JSON Output (Code Node) – Converts AI JSON text into structured n8n objects with error handling. 🧮 Calculate Weighted Quality Score (Code Node) – Computes final weighted score (0–100), generates flags, formats vague phrases, and preserves context. 💾 Save Scores to Spreadsheet (Google Sheets) – Updates the original feedback row with Score, Flags, and AI JSON. 💬 Send Feedback Summary to Interviewer (Slack) – Sends interviewers a structured Slack report (score, flags, vague phrases, STAR improvement tips). 🎯 Check if Training Needed – Applies threshold logic: if score < 50, route to training recommendations. 📚 Send Training Recommendations (Slack) – Delivers STAR method guides and bias-free interviewing resources to low scorers. Prerequisites Google Sheets (Raw_Feedback + Error Log Sheet) Azure OpenAI API credentials (for GPT-4o-mini) Slack API credentials (for sending feedback & training notifications) n8n instance (cloud or self-hosted) Key Benefits ✅ Automated interview feedback quality scoring ✅ Bias detection and vague feedback flagging ✅ Real-time Slack feedback to interviewers ✅ Error logging for AI reliability tracking ✅ Training recommendations for low scorers ✅ Audit trail maintained in Google Sheets Perfect For HR & Recruitment teams ensuring structured interviewer feedback Organizations enforcing STAR method & bias-free hiring Teams seeking continuous interviewer coaching Companies needing audit-ready records of interview quality
by n8n Automation Expert | Template Creator | 2+ Years Experience
🎯 What This Workflow Does Transform your digital payment business with a fully-featured Telegram bot that handles everything from product listings to transaction processing. Perfect for entrepreneurs looking to automate their PPOB (mobile credit, data packages, bill payments) business operations without coding expertise. ✨ Key Features 📱 Complete Transaction Management Prepaid Services**: Mobile credit, data packages, PLN tokens Gaming**: Game vouchers for popular platforms E-Wallet**: OVO, DANA, GoPay, ShopeePay top-ups Bill Payments**: PLN postpaid, Telkom, cable TV, internet, credit cards 💰 Smart Business Operations Real-time balance checking with low-balance alerts Automated transaction processing with MD5 security Interactive product catalog with categorized browsing Transaction history and status tracking Deposit request management 🤖 User-Friendly Interface Intuitive inline keyboard navigation Multi-step transaction flows with validation Comprehensive error handling and user feedback Professional messaging with emojis and formatting 🛠️ Technical Highlights Robust Architecture Switch-based routing** for efficient command handling MD5 signature authentication** for secure API communications Session management** for multi-step user interactions Comprehensive error handling** with user-friendly messages API Integrations Digiflazz API**: Balance checking, product listings, transactions, bill inquiries Telegram Bot API**: Message handling, inline keyboards, callback queries Secure credential management** with environment variables 📋 Setup Requirements Prerequisites Active Digiflazz account with API credentials Telegram Bot Token from @BotFather n8n instance (cloud or self-hosted) Environment Variables DIGIFLAZZ_USERNAME=your_digiflazz_username DIGIFLAZZ_API_KEY=your_digiflazz_api_key 🎮 How to Use Customer Commands /start - Welcome message and main menu /menu - Access main navigation /balance - Check account balance /products - Browse product catalog /topup - Process prepaid transactions /checkbill - Inquiry postpaid bills /paybill - Pay postpaid services /deposit - Request balance deposit /history - View transaction history Business Features Automated balance monitoring** with threshold alerts Product categorization** for easy browsing Transaction confirmation** with detailed receipts Multi-payment type support** across various service providers 🔒 Security & Compliance MD5 signature verification** for all API calls Input validation** and sanitization Session timeout management** Error logging** and monitoring HTTPS-only communications** 💡 Business Benefits For PPOB Entrepreneurs Reduce manual work** by 90% through automation 24/7 customer service** without human intervention Professional presentation** builds customer trust Scalable operations** handle unlimited transactions For Customers Instant transactions** with real-time confirmations Easy navigation** through intuitive menus Multiple service options** in one convenient bot Reliable service** with comprehensive error handling 📊 Performance Features Sub-second response times** for balance checks Concurrent transaction processing** Automatic retry logic** for failed operations Detailed logging** for business analytics 🎯 Perfect For Digital payment entrepreneurs** starting PPOB businesses Existing businesses** looking to automate customer service Resellers** wanting professional transaction interfaces Developers** seeking proven automation templates 📱 Supported Services Prepaid Products Mobile credit (all Indonesian operators) Data packages and internet vouchers PLN electricity tokens Game vouchers (Mobile Legends, Free Fire, PUBG, etc.) Postpaid Services PLN electricity bills Telkom phone bills Cable TV subscriptions (First Media, MNC, etc.) Internet service providers Credit card payments Multifinance installments 🚀 Getting Started Import the workflow JSON into your n8n instance Configure Telegram and Digiflazz credentials Set up environment variables Activate the workflow Test with your Telegram bot Start serving customers immediately! 💎 Premium Features Comprehensive documentation** with setup guides Error handling** for all edge cases Professional UI/UX** design Scalable architecture** for business growth Community support** and updates Transform your digital payment business today with this production-ready Telegram bot automation. No coding required – just configure and launch! Perfect for the Indonesian PPOB market with full Digiflazz integration and professional customer experience.