by Qandil
What it does Automated weekly WAF security assessments with Slack reporting. Detects your WAF vendor, runs a security assessment, grades your protection, and alerts your team when the grade drops below threshold. About WAFtester WAFtester is an open-source CLI for testing Web Application Firewalls. It ships 27 MCP tools, 2,800+ attack payloads across 18 categories (SQLi, XSS, SSRF, SSTI, command injection, XXE, and more), detection signatures for 26 WAF vendors and 9 CDNs, and enterprise-grade assessment with F1/MCC scoring and letter grades (A+ through F). GitHub: github.com/waftester/waftester Docs: Installation | Examples | Commands Who it's for Security teams needing continuous WAF monitoring DevOps engineers tracking WAF configuration drift Compliance teams requiring regular security assessments How it works The workflow has seven nodes: Weekly Schedule — Triggers every Monday at 3 AM (configurable) Detect WAF — Calls WAFtester's detect_waf tool to fingerprint the WAF vendor and CDN Start Assessment — Launches an async assess task testing SQLi, XSS, traversal, cmdi, and SSRF Wait — Pauses to let the assessment run Poll Results — Calls get_task_status to retrieve completed results Check Results — Routes based on the WAF grade (pass if "A" or better, fail otherwise) Slack (Pass/Fail) — Posts a summary to your Slack channel with grade, detection rate, and bypass count How to set up Start WAFtester MCP server: docker run -p 8080:8080 ghcr.io/waftester/waftester:latest mcp --http :8080 Set environment variables: WAF_TARGET_URL (required), WAFTESTER_MCP_URL, SLACK_CHANNEL Add Slack OAuth2 credentials and select them in both Slack nodes Activate the workflow Alternatively, use the included docker-compose.yml to run both n8n and WAFtester together. Requirements | Requirement | Details | |---|---| | WAFtester MCP server | Docker image (ghcr.io/waftester/waftester:latest) or binary install | | Slack | Workspace with OAuth2 bot credentials | | Authorization | Only test targets you have explicit written permission to test | How to customize Adjust schedule in the Weekly Schedule node Change grade threshold in the Check Results node Add attack categories in Start Assessment's categories array Swap Slack for email, Teams, or any n8n notification node Links WAFtester website GitHub repository Installation guide Full examples Docker Hub
by vinci-king-01
Influencer Content Monitor with ScrapeGraphAI Analysis and ROI Tracking 🎯 Target Audience Marketing managers and brand managers Influencer marketing agencies Social media managers Digital marketing teams Brand partnerships coordinators Marketing analysts and strategists Campaign managers ROI and performance analysts 🚀 Problem Statement Manual monitoring of influencer campaigns is time-consuming and often misses critical performance insights, brand mentions, and ROI calculations. This template solves the challenge of automatically tracking influencer content, analyzing engagement metrics, detecting brand mentions, and calculating campaign ROI using AI-powered analysis and automated workflows. 🔧 How it Works This workflow automatically monitors influencer profiles and content using ScrapeGraphAI for intelligent analysis, tracks brand mentions and sponsored content, calculates performance metrics, and provides comprehensive ROI analysis for marketing campaigns. Key Components Daily Schedule Trigger - Runs automatically every day at 9:00 AM to monitor influencer campaigns ScrapeGraphAI - Influencer Profiles - Uses AI to extract profile data and recent posts from Instagram Content Analyzer - Analyzes post content for engagement rates and quality scoring Brand Mention Detector - Identifies brand mentions and sponsored content indicators Campaign Performance Tracker - Tracks campaign metrics and KPIs Marketing ROI Calculator - Calculates return on investment for campaigns 📊 Data Analysis Specifications The template analyzes and tracks the following metrics: | Metric Category | Data Points | Description | Example | |----------------|-------------|-------------|---------| | Profile Data | Username, Followers, Following, Posts Count, Bio, Verification Status | Basic influencer profile information | "@influencer", "100K followers", "Verified" | | Post Analysis | Post URL, Caption, Likes, Comments, Date, Hashtags, Mentions | Individual post performance data | "5,000 likes", "150 comments" | | Engagement Metrics | Engagement Rate, Content Quality Score, Performance Tier | Calculated performance indicators | "3.2% engagement rate", "High performance" | | Brand Detection | Brand Mentions, Sponsored Content, Mention Count | Brand collaboration tracking | "Nike mentioned", "Sponsored post detected" | | Campaign Performance | Total Reach, Total Engagement, Average Engagement, Performance Score | Overall campaign effectiveness | "50K total reach", "85.5 performance score" | | ROI Analysis | Total Investment, Estimated Value, ROI Percentage, Cost per Engagement | Financial performance metrics | "$2,500 investment", "125% ROI" | 🛠️ Setup Instructions Estimated setup time: 20-25 minutes Prerequisites n8n instance with community nodes enabled ScrapeGraphAI API account and credentials Instagram accounts to monitor (influencer usernames) Campaign budget and cost data for ROI calculations Step-by-Step Configuration 1. Install Community Nodes Install required community nodes npm install n8n-nodes-scrapegraphai 2. Configure ScrapeGraphAI Credentials Navigate to Credentials in your n8n instance Add new ScrapeGraphAI API credentials Enter your API key from ScrapeGraphAI dashboard Test the connection to ensure it's working 3. Set up Schedule Trigger Configure the daily schedule (default: 9:00 AM UTC) Adjust timezone to match your business hours Set appropriate frequency for your monitoring needs 4. Configure Influencer Monitoring Update the websiteUrl parameter with target influencer usernames Customize the user prompt to extract specific profile data Set up monitoring for multiple influencers if needed Configure brand keywords for mention detection 5. Customize Brand Detection Update brand keywords in the Brand Mention Detector node Add sponsored content indicators (#ad, #sponsored, etc.) Configure brand mention sensitivity levels Set up competitor brand monitoring 6. Configure ROI Calculations Update cost estimates in the Marketing ROI Calculator Set value per engagement and reach metrics Configure campaign management costs Adjust ROI calculation parameters 7. Test and Validate Run the workflow manually with test data Verify all analysis steps complete successfully Check data accuracy and calculation precision Validate ROI calculations with actual campaign data 🔄 Workflow Customization Options Modify Monitoring Parameters Adjust monitoring frequency (hourly, daily, weekly) Add more social media platforms (TikTok, YouTube, etc.) Customize engagement rate calculations Modify content quality scoring algorithms Extend Brand Detection Add more sophisticated brand mention detection Implement sentiment analysis for brand mentions Include competitor brand monitoring Add automated alert systems for brand mentions Customize Performance Tracking Modify performance tier thresholds Add more detailed engagement metrics Implement trend analysis and forecasting Include audience demographic analysis Output Customization Add integration with marketing dashboards Implement automated reporting systems Create alert systems for performance drops Add campaign comparison features 📈 Use Cases Influencer Campaign Monitoring**: Track performance of influencer partnerships Brand Mention Detection**: Monitor brand mentions across influencer content ROI Analysis**: Calculate return on investment for marketing campaigns Competitive Intelligence**: Monitor competitor brand mentions Performance Optimization**: Identify top-performing content and influencers Campaign Reporting**: Generate automated reports for stakeholders 🚨 Important Notes Respect Instagram's terms of service and rate limits Implement appropriate delays between requests to avoid rate limiting Regularly review and update brand keywords and detection parameters Monitor API usage to manage costs effectively Keep your credentials secure and rotate them regularly Consider data privacy and compliance requirements Ensure accurate cost data for ROI calculations 🔧 Troubleshooting Common Issues: ScrapeGraphAI connection errors: Verify API key and account status Instagram access issues: Check account accessibility and rate limits Brand detection false positives: Adjust keyword sensitivity ROI calculation errors: Verify cost and value parameters Schedule trigger failures: Check timezone and cron expression Data parsing errors: Review the Code node's JavaScript logic Support Resources: ScrapeGraphAI documentation and API reference n8n community forums for workflow assistance Instagram API documentation and best practices Influencer marketing analytics best practices ROI calculation methodologies and standards
by Dyogo Henrique de Oliveira Ortega
Quick Overview This workflow monitors a Gmail inbox for potential privacy/data deletion requests, classifies each email, creates the appropriate Jira issue, logs a minimal audit record to BigQuery, and alerts the team in Slack, with an optional Gmail confirmation draft for human review. How it works Triggers when a new email matching deletion-related keywords arrives in Gmail (or runs manually for testing). Loads shared configuration values like Jira project details, BigQuery destination, SLA window, Slack channel, and confidence threshold. Cleans the email text, extracts the requester address, classifies the request type (deletion/access/correction), and calculates an SLA due date with a confidence score. Creates a Jira task for the privacy team when the classification is confident, or creates a separate Jira task labeled for manual review when it is not. Inserts an audit row into Google BigQuery with metadata such as request type, confidence, received time, due date, and whether a Jira issue was created. Posts a Slack message to the configured channel about the routed request or the need for manual review. Creates a draft confirmation email in Gmail for the requester after a routed request. Setup Connect Gmail credentials for the inbox to monitor and ensure the Gmail trigger query matches the keywords you use for privacy requests. Add Jira credentials (or an Atlassian API token via HTTP auth) and set your Jira base URL, project key, and issue type in the workflow variables. Add Google Cloud/BigQuery credentials for the BigQuery API and create the target project, dataset, and table referenced in the workflow variables. Add Slack credentials for the Slack Web API and set the target channel ID in the workflow variables. Update the workflow variables for your SLA days, minimum confidence threshold, and manual-review label, and replace the Gmail draft node with a proper base64url-encoded MIME template if you want to keep the confirmation draft step.
by Jitesh Dugar
Streamline your automotive service center's operations with this comprehensive automation. This workflow manages the entire customer lifecycle—from automated service reminders and instant appointment booking via WhatsApp to mileage tracking and full service history logs—all synchronized in real-time with Google Sheets and WATI. 🎯 What This Workflow Does This template transforms WhatsApp into a self-service hub for vehicle owners and a management tool for garage staff: ⏰ Automated Reminders Service Due: Every morning at 9 AM, the bot scans your database and identifies vehicles due for service based on either their next service date or mileage threshold, sending a personalized WhatsApp alert to the owner. Appointment Prep: At 8 AM daily, the system reminds owners of their confirmed appointments for the following day, reducing no-shows. 📅 Instant Booking & Confirmation When an owner replies with book, the bot dynamically generates available slots for the next 3 weekdays. Owners pick a slot (e.g., confirm 1), and the appointment is instantly logged in your Appointments sheet with a confirmation message sent back. 📏 Mileage & Status Management Owners can update their odometer reading anytime by sending mileage <km>. The bot automatically recalculates their next service point and warns them if they are approaching a critical maintenance interval. 📋 History & Staff Tools Customer View: Owners can request their vehicle's full status card or a detailed history of their last 5 service records. Staff Logging: Garage technicians can log completed work using a simple command (e.g., logservice MH12... 52000 Oil Change 2500), which automatically updates the service history and resets the reminder cycle. ✨ Key Features Intelligent Odometer Tracking:** Predicts service needs by comparing current mileage against individual service intervals. Dynamic Slot Generation:** Automatically avoids weekends and generates morning/afternoon options to simplify the booking experience. Command-Based Routing:** Uses an intuitive keyword system (book, status, history, mileage) to handle multiple customer requests simultaneously. Duplicate Prevention:** Tracks "reminders sent" to ensure customers aren't pestered with multiple alerts for the same service period. 💼 Perfect For Independent Garages:** Providing a "dealership-level" digital experience without expensive software. Fleet Managers:** Tracking maintenance schedules for corporate vehicles. Car Dealerships:** Automating follow-ups for post-purchase service packages. Motorcycle Repair Shops:** Managing quick oil changes and seasonal check-ups. 🔧 What You'll Need Required Integrations WATI:** For WhatsApp messaging and handling incoming customer commands. Google Sheets:** To act as your 3-part database (Vehicles, Appointments, and ServiceHistory). ⚙️ Configuration Steps Google Sheet Setup: Create a sheet with three tabs: Vehicles Appointments ServiceHistory Document ID: Replace YOUR_GOOGLE_SHEET_ID in every Google Sheets node with your specific sheet's ID. Credentials: Connect your Google Sheets OAuth2 and WATI account credentials in n8n. Ready to automate your service bay? Import this template, connect your Google Sheet, and start sending intelligent reminders to your customers today!
by WeblineIndia
Facebook Page Negative Review Watchdog → Slack Escalation + Supabase Ticket This workflow automatically monitors Facebook Page reviews, detects negative feedback (≤ 2 stars), alerts the support team via Slack and attempts to create a support record in Supabase with built-in error handling. This workflow listens for Facebook Page reviews through a webhook. When a review with a rating of 2 stars or less is received, the workflow prepares and standardizes the incoming data, sends an immediate Slack alert to the support team and attempts to store the review as a support record in Supabase. If the database operation fails, a fallback Slack alert is triggered with the relevant error details. You receive: Instant Slack alerts for negative Facebook reviews.** Centralized data preparation via a global configuration step.** Automated support record creation.** Error visibility if storage fails.** No manual monitoring of Facebook reviews.** Ideal for customer support teams that want immediate visibility and structured tracking of negative customer feedback. Quick Start – Implementation Steps Import the provided n8n workflow JSON. Configure the Facebook Page Review Trigger webhook URL in your Facebook integration. Review and adjust the Global Configuration node to match your incoming payload structure. Connect your Slack credentials and select the channel for alerts. Connect your Supabase credentials and configure the table used for storage. Activate the workflow — monitoring starts instantly. What It Does This workflow automates negative review handling: Receives Facebook Page review data via a webhook. Prepares and standardizes key review fields using a global configuration step. Checks whether the review rating is ≤ 2 stars. Sends a formatted Slack alert to the support team with full review context. Attempts to create a support record in Supabase. Detects Supabase insert failures. Sends a fallback Slack alert including the Supabase error message if record creation fails. This ensures no negative review is missed, even if downstream storage encounters issues. Who’s It For This workflow is ideal for: Customer support teams. Social media monitoring teams. SaaS companies handling public feedback. Operations teams needing visibility into failures. Product teams tracking user dissatisfaction. Any business receiving Facebook Page reviews. Requirements To run this workflow, you need: n8n instance** (cloud or self-hosted) Facebook Page review integration** (webhook-based) Slack workspace** with API access Supabase project** with insert permissions Basic understanding of JSON payloads and webhooks How It Works Facebook Page Review Trigger Receives new review data via POST webhook. Global Configuration Maps and standardizes incoming review fields such as rating, review text, reviewer name and page name for consistent downstream usage. Check Negative Review (≤ 2 Stars) Filters reviews and allows execution only for negative ratings. Slack – New Negative Review Alert Sends an immediate Slack notification with: Page name Reviewer name Rating Review text Create Support Case (Supabase) Attempts to store the review as a support record. Check Case Creation Failure Verifies whether the Supabase insert returned an error. Slack – Case Creation Failed Alert Sends a fallback Slack alert including review context and Supabase error details. Setup Steps Import the workflow JSON into n8n. Open Facebook Page Review Trigger and copy the webhook URL. Configure your Facebook system to send review events to this webhook. Review the Global Configuration node and update field mappings if needed. Connect Slack API credentials and select the desired channel. Connect Supabase credentials and configure the target table. Save and activate the workflow. How To Customize Nodes Customize Review Threshold Modify the Check Negative Review (≤ 2 Stars) IF node: Change the rating threshold (e.g., ≤ 1 or ≤ 3) Add additional conditions such as page name or keywords Customize Slack Alerts You may add: Emojis for urgency Mentions (@channel, @support) Links to the Facebook review Severity labels (LOW / HIGH) Customize Data Storage You can extend stored data with: Review timestamp Review ID Review URL Status (Open / In Progress / Resolved) Assigned support agent Add-Ons (Optional Enhancements) You can extend this workflow to: Prevent duplicate review inserts Add retry logic for storage failures Route alerts to different Slack channels per page Create dashboards from stored review data Integrate ticketing tools (Zendesk, Jira) Add sentiment analysis using AI Generate daily or weekly negative review summaries Use Case Examples 1. Customer Support Monitoring Instant awareness of dissatisfied customers. 2. Social Media Reputation Management No need to manually check Facebook reviews. 3. SLA Enforcement Ensure negative feedback is logged and tracked. 4. Operations Visibility Error alerts ensure failures never go unnoticed. 5. Product Feedback Loop Capture recurring complaints for product improvement. Troubleshooting Guide | Issue | Possible Cause | Solution | |-----|---------------|----------| | Slack alert not sent | Invalid Slack credentials | Reconnect Slack API | | Storage insert fails | Table or permission issue | Verify table and access rules | | Error alert always triggers | Incorrect IF condition | Validate error field mapping | | Workflow not running | Workflow inactive | Activate workflow | | Webhook not firing | Incorrect URL | Re-check webhook configuration | Need Help? If you need help extending or productionizing this workflow like adding retries, scaling alerts, improving error handling or integrating additional systems — our n8n automation team at WeblineIndia can assist with advanced automation and workflow design.
by Dariusz Koryto
Get automated weather updates delivered directly to your Telegram chat at scheduled intervals. This workflow fetches current weather data from OpenWeatherMap and sends formatted weather reports via a Telegram bot. Use Cases Daily morning weather briefings Regular weather monitoring for outdoor activities Automated weather alerts for specific locations Personal weather assistant for travel planning Prerequisites Before setting up this workflow, ensure you have: An OpenWeatherMap API account (free tier available) A Telegram bot token Your Telegram chat ID n8n instance (cloud or self-hosted) Setup Instructions Step 1: Create OpenWeatherMap Account Go to OpenWeatherMap and sign up for a free account Navigate to the API keys section in your account Copy your API key (you'll need this for the workflow configuration) Step 2: Create Telegram Bot Open Telegram and search for @BotFather Start a chat and use the /newbot command Follow the prompts to create your bot and get the bot token Save the bot token securely Step 3: Get Your Telegram Chat ID Start a conversation with your newly created bot Send any message to the bot Visit https://api.telegram.org/bot<YourBOTToken>/getUpdates in your browser Look for your chat ID in the response (it will be a number like 123456789) Step 4: Configure the Workflow Import this workflow into your n8n instance Configure each node with your credentials: Schedule Trigger Node Set your preferred schedule (default: daily at 8:00 AM) Use cron expression format (e.g., 0 8 * * * for 8 AM daily) Get Weather Node Add your OpenWeatherMap credentials Update the cityName parameter to your desired location Format: "CityName,CountryCode" (e.g., "London,UK") Send a text message Node Add your Telegram bot credentials (bot token) Replace XXXXXXX in the chatId field with your actual chat ID Customization Options Location Settings In the "Get Weather" node, modify the cityName parameter to change the location. You can specify: City name only: "Paris" City with country: "Paris,FR" City with state and country: "Miami,FL,US" Schedule Frequency In the "Schedule Trigger" node, adjust the cron expression: Every 6 hours: 0 */6 * * * Twice daily (8 AM & 6 PM): 0 8,18 * * * Weekly on Mondays at 9 AM: 0 9 * * 1 Message Format In the "Format Weather" node, you can customize the message template by modifying the message variable in the function code. Current format includes: Current temperature with "feels like" temperature Min/max temperatures for the day Weather description and precipitation Wind speed and direction Cloud coverage percentage Sunrise and sunset times Language Support In the "Get Weather" node, change the language parameter to get weather descriptions in different languages: English: "en" Spanish: "es" French: "fr" German: "de" Polish: "pl" Troubleshooting Common Issues Weather data not updating: Verify your OpenWeatherMap API key is valid and active Check if you've exceeded your API rate limits Ensure the city name format is correct Messages not being sent: Confirm your Telegram bot token is correct Verify the chat ID is accurate (should be a number, not username) Make sure you've started a conversation with your bot Workflow not triggering: Check if the workflow is activated (toggle switch should be ON) Verify the cron expression syntax is correct Ensure your n8n instance is running continuously Testing the Workflow Use the "Test workflow" button to run manually Check each node's output for errors Verify the final message format in Telegram Node Descriptions Schedule Trigger Automatically starts the workflow based on a cron schedule. Runs at specified intervals to fetch fresh weather data. Get Weather Connects to OpenWeatherMap API to retrieve current weather conditions for the specified location. Format Weather Processes the raw weather data and creates a user-friendly message with emojis and organized information. Send a text message Delivers the formatted weather report to your Telegram chat using the configured bot. Additional Features You can extend this workflow by: Adding weather alerts for specific conditions (temperature thresholds, rain warnings) Including weather forecasts for multiple days Sending reports to multiple chat recipients Adding location-based emoji selection Integrating with other notification channels (email, Slack, Discord) Security Notes Keep your API keys and bot tokens secure Don't share your chat ID publicly Consider using n8n's credential system for storing sensitive information Regularly rotate your API keys for better security Special thanks to Arkadiusz, the only person who supports me in n8n mission to make automation great again.
by Sparsh From Automation Jinn
Automated SEO Data Engine using DataForSEO & Airtable This workflow automatically pulls SERP rankings, competitor keywords, and related keyword ideas from DataForSEO and stores structured results in Airtable — making SEO tracking and keyword research streamlined and automated. 🏗️ What this automation does | Step | Component | Purpose | |------|-----------|---------| | 1 | Trigger (Manual: “Execute workflow”) | Starts the workflow on demand — optionally replaceable with a schedule or webhook. | | 2 | Read seed keywords from Airtable (SERP Keywords table) | Fetches the list of keywords for which to track SERP. | | 3 | Post SERP task to DataForSEO API | Requests Google organic SERP results (depth up to 10) for each keyword. | | 4 | Wait + Poll for results (after ~1 min) | Gives DataForSEO time to process, then retrieves the completed task results. | | 5 | Parse & store SERP results into Airtable (SERP rankings table) | Records rank, URL, domain, title, description, breadcrumb, etc. for each result. | | 6 | Read competitor list from Airtable (Competitor Research table) | Fetches competitors (domains/sites) marked for keyword research. | | 7 | Post competitor-site keywords task to DataForSEO | Fetches keywords used by competitor sites. | | 8 | Wait + Poll + Store competitor keywords into Airtable (Competitor Keywords Research) | Captures keyword, competition level, search volume, CPC, monthly volume trends. | | 9 | Aggregate seed keywords → request related keywords via DataForSEO | Retrieves related / similar keyword ideas for seed list (keyword expansion). | | 10 | Store related keywords into Airtable (Similar Keywords table) | Saves keyword data for long-tail / expansion analysis. | 📌 Key Integrations & Tools n8n** — Workflow automation and orchestration Airtable** — Storage for seed keywords, competitor list, and all result tables (SERP Rankings, Competitor Keywords, Similar Keywords) DataForSEO API** — For SERP data, competitor-site keywords, and related keyword suggestions Core n8n nodes: Trigger, HTTP Request, Wait, Split Out, Aggregate, Airtable (search & create) 📄 Data Output / Stored Fields SERP Rankings type, rank_group, rank_absolute, page, domain, title, description, url, breadcrumb Linked to original seed keyword via SERP Keywords reference Competitor Keywords & Similar Keywords Keyword Competition, Competition_Index Search_Volume, CPC, Low_Top_Of_Page_Bid, High_Top_Of_Page_Bid (if available) Monthly search-volume fields: Jan_2025, Feb_2025, …, Dec_2025 (mapped from API's monthly_searches) For competitor keywords: linked to competitor (company/domain) For similar keywords: linked to seed keyword 🔔 Important Notes Month-volume mapping:** Ensure the index mapping from API’s monthly_searches to months is correct — wrong indices will mislabel month data. Fixed wait time:** Current 1-minute wait may not always suffice — for large workloads or slow API responses, increase wait or implement polling/backoff logic. No deduplication:** Running repeatedly may produce duplicate Airtable records. Consider adding search-or-update logic to avoid duplicates. Rate limits / quotas:** Airtable and DataForSEO have limits — batch carefully, throttle requests or add spacing to avoid hitting limits. Credentials security:** Store Airtable and DataForSEO API credentials securely in n8n’s credentials manager — avoid embedding tokens directly in workflow JSON. 🚀 Why this Workflow is Useful Fully automates SERP tracking and competitor keyword research — no manual work needed after setup Maintains structured, historical data in Airtable — ideal for tracking rank changes, discovering competitor moves, and keyword expansion over time Great for SEO teams, agencies, content owners, or anyone needing systematic keyword intelligence and monitoring 🌟 Recommended Next Steps Replace manual trigger with a Schedule Trigger (daily/weekly) for automated runs Add deduplication (upsert) logic to prevent duplicate records and keep Airtable clean Improve robustness: add retry logic for API failures, rate-limit handling, and error notifications (Slack / email) Add logging of API response data (task IDs, raw responses) for debugging and audit trails (Optional) Build a reporting dashboard (Airtable Interface / BI tool) to visualise rank trends, keyword growth, and competitor comparisons 📝 Usage / Setup Checklist Configure Airtable base / tables: SERP Keywords, Competitor Research, SERP rankings, Competitor Keywords Research, Similar Keywords. Add credentials in n8n: Airtable API token; DataForSEO API credentials (HTTP Basic / Header auth). Import this workflow JSON into your n8n instance. Update any base/table/field IDs if different. (Optional) Replace Manual Trigger with Schedule Trigger, enable workflow. Run once with a small seed list — verify outputs, schema, and month-volume mapping. Enable periodic runs and monitor for rate limits or API errors.
by Milan Vasarhelyi - SmoothWork
Video Introduction Want to automate your inbox or need a custom workflow? 📞 Book a Call | 💬 DM me on Linkedin Overview This workflow automates sending personalized SMS messages directly from a Google Sheet using Twilio. Simply update a row's status to "To send" and the workflow automatically sends the text message, then updates the status to "Success" or "Error" based on delivery results. Perfect for event reminders, bulk notifications, appointment confirmations, or any scenario where you need to send customized messages to multiple recipients. Key Features Simple trigger mechanism**: Change the status column to "To send" to queue messages Personalization support**: Use [First Name] and [Last Name] placeholders in message templates Automatic status tracking**: The workflow updates your spreadsheet with delivery results Error handling**: Failed deliveries are clearly marked, making it easy to identify issues like invalid phone numbers Runs every minute**: The workflow polls your sheet continuously when active Setup Instructions Step 1: Copy the Template Spreadsheet Make a copy of the Google Sheets template by going to File → Make a copy. You must use your own copy so the workflow has permission to update status values. Step 2: Connect Your Accounts Google Sheets: Add your Google account credentials to the 'Monitor Google Sheet for SMS Queue' trigger node Twilio: Sign up for a free Twilio account (trial works for testing). From your Twilio dashboard, get your Account SID, Auth Token, and Twilio phone number, then add these credentials to the 'Send SMS via Twilio' node Step 3: Configure the Workflow In the Config node, update: sheet_url: Paste the URL of your copied Google Sheet from_number: Enter your Twilio phone number (include country code, e.g., +1234567890) Step 4: Activate and Test Activate the workflow using the toggle in the top right corner. Add a row to your sheet with the required information (ID, First Name, Phone Number, Message Template) and set the Status to "To send". Within one minute, the workflow will process the message and update the status accordingly.
by Pauline
This workflow allows you to have a Slack alert when one of your n8n workflows gets an issue. Error trigger**: This node launched the workflow when one of your active workflows gets an issue Slack node**: This node sends you a customized message to alert you and to check the error ⚠️ You don't have to activate this workflow for it to be effective
by Redowan Ahmed Farhan
How it works Checks Google Flights prices for different departure dates for given departure and destination place using the Apify scraper Runs every 10 minutes at night and once per hour during the day via a smart schedule gate Aggregates all date results, finds the cheapest flight, builds a price calendar, and tracks price trends across runs Sends a urgent price-drop alert to Slack when the price falls below the given price , or a regular status update when it does not Set up steps Takes about 10 minutes to configure Connect your Apify account and confirm access to the Google Flights scraper actor Authenticate your Slack workspace and verify the channel IDs for #price-drop, #regular-update, and #sales-team Keep detailed node descriptions and field references in the sticky notes inside the workflow
by vvrr22042026
How it works This workflow provides a reusable error handling, audit logging, and observability pattern for n8n workflows using two n8n custom Data Tables: AuditLog and ErrorLog. It is designed to be used across multiple workflows as a central logging workflow. At a high level, it: • Captures unhandled workflow errors using the n8n Error Trigger • Stores technical error details in an ErrorLog Data Table • Allows other workflows to write business/audit events into an AuditLog Data Table • Adds useful observability metadata such as workflow name, workflow ID, execution ID, error message, failed node, severity, and correlation ID • Redacts sensitive values such as passwords, tokens, API keys, and authorization headers before logging • Includes scheduled cleanup logic to purge old log records after a configurable retention period This template is useful for production-grade n8n setups where multiple workflows need a consistent and reusable logging approach. Set up steps Setup should take around 10–15 minutes. Before using this template: • Create two n8n Data Tables named AuditLog and ErrorLog • Make sure the table columns match the expected structure described below • Import this workflow into n8n • Re-select your actual Data Tables in the Data Table nodes after import • Set the retention period, for example 90 days, in the configuration node • Activate the workflow • In other workflows, select this workflow as the Error Workflow in Workflow Settings • For audit logging, call this workflow using the Execute Workflow node No hardcoded API keys are used in this template. Data Tables used This template expects two n8n Data Tables. AuditLog | Column | Type | |---|---| | logID | String | | logType | String | | logDate | Date & Time | | WorkflowName | String | | WorkflowID | String | | logData | String / JSON text | ErrorLog | Column | Type | |---|---| | ErrorLogID | String | | ErrorLogDate | Date & Time | | ErrorMessage | String | | WorkflowID | String | | WorkflowName | String | | BusinessData | String / JSON text | Use Date & Time for logDate and ErrorLogDate. The workflow writes ISO-8601 timestamps, for example: 2026-04-28T10:30:00.000Z This allows the purge logic to delete records older than the configured retention period, for example 90 days. Call from any workflow Add Execute Workflow node and select this workflow. Send for audit logging: { "logType": "START | SUCCESS | WARNING | BUSINESS_ERROR", "workflowName": "={{ $workflow.name }}", "workflowId": "={{ $workflow.id }}", "correlationId": "={{ $execution.id }}", "businessKey": "invoice-123", "message": "Invoice extracted successfully", "payload": { "invoiceNo": "INV-123", "amount": 100 } } For automatic failures, configure each workflow setting: Error Workflow = this workflow.
by Elodie Tasia
Create centralized, structured logs directly from your n8n workflows, using Supabase as your scalable log database. Whether you're debugging a workflow, monitoring execution status, or tracking error events, this template makes it easy to log messages in a consistent, structured format inspired by Log4j2 levels (DEBUG, INFO, WARN, ERROR, FATAL). You’ll get a reusable sub-workflow that lets you log any message with optional metadata, tied to a workflow execution and a specific node. What this template does Provides a sub-workflow that inserts log entries into Supabase. Each log entry supports the following fields: workflow_name: Your n8n workflow identifier node_name: last executed node execution_id: n8n execution ID for correlation log_level: One of DEBUG, INFO, WARN, ERROR, FATAL message: Textual message for the log metadata: Optional JSON metadata (flexible format) Comes with examples for diffrerent log levels: Easily call the sub-workflow from any step with a Execute Workflow node and pass dynamic parameters. Use Cases Debug complex workflows without relying on internal n8n logs. Catch and trace errors with contextual metadata. Integrate logs into external dashboards or monitoring tools via Supabase SQL or APIs. Analyze logs by level, time, or workflow. Requirements To use this template, you'll need: A Supabase project with: A log_level_type enum A logs table matching the expected structure A service role key or supabase credentials available in n8n. The table shema and SQL scripts are given in the template file. How to Use This Template Clone the sub-workflow into your n8n instance. Set up Supabase credentials (in the Supabase node). Call the sub-workflow using the Execute Workflow node. Provide input values like: { "workflow_name": "sync_crm_to_airtable", "execution_id": {{$execution.id}}, "node_name": "Airtable Insert", "log_level": "INFO", "message": "New contact pushed to Airtable successfully", "metadata": { "recordId": "rec123", "fields": ["email", "firstName"] } } Repeat anywhere you need to log custom events.