by Zain Khan
Quick Overview This workflow runs weekly to scan competitor ad copy from Meta, Google Ads, and LinkedIn via Adyntel, detects newly emerging terms, uses OpenAI to assess launch signals, and records results in Google Sheets while sending a Slack alert when a launch signal is detected. How it works Runs every week on a schedule (Monday) to start the competitor monitoring cycle. Reads competitors marked as Pending from Google Sheets and processes them one by one. For each competitor domain, pulls current ads from Meta, Google Ads, and LinkedIn using Adyntel and combines the results. Extracts and deduplicates ad titles and body copy, then loads the competitor’s previously known terms from Google Sheets. Extracts candidate new terms from this week’s ad copy, filters for terms that recur across multiple ads, and decides whether there are meaningful new terms to analyze. If meaningful new terms exist, sends the context to OpenAI to classify the terms and determine whether a product launch signal is present, then appends the signal record and the newly classified terms to Google Sheets. If no meaningful new terms exist, appends baseline terms from this week’s ad titles to Google Sheets to prevent future false “new term” detections. Updates the competitor’s status to Done in Google Sheets and, when a signal is detected, formats a Slack alert message and continues to the next competitor. Setup Connect Google Sheets OAuth credentials and update the spreadsheet ID/sheet tabs for competitors (with a status column), known_terms, and launch_signals. Add an Adyntel API credential and ensure each competitor row includes a valid domain value for ad lookups. Add an OpenAI API key for the OpenAI Chat Model used by the AI Agent. Configure a Slack notification step (this template formats a message but does not send it) by adding a Slack node/webhook and posting the formatted slack_message to your chosen channel. Confirm the schedule settings (weekly on Monday) and adjust term extraction thresholds in the code steps if you want different sensitivity.
by Ramdoni
Track changes and approvals in Excel 365 📌 Overview This workflow monitors an Excel 365 sheet every minute and detects new, updated, and deleted rows using a unique ID column. It compares the current dataset with the previous snapshot and identifies field-level differences. When changes are detected, the workflow filters rows that require approval (Status = “Waiting Approval”), sends structured notifications, and optionally logs every field-level change into an audit sheet (Excel or Google Sheets). The configuration layer allows you to define the ID column, ignored fields, and audit logging behavior without modifying the comparison logic. This template is suitable for approval tracking, operational monitoring, and lightweight compliance logging. How it works Runs every minute using a schedule trigger Reads rows from Excel 365 Normalizes and stores a snapshot Compares with the previous state Detects new, updated, and deleted rows Filters rows with “Waiting Approval” status Sends structured notifications Logs changes if audit logging is enabled Setup steps Configure Microsoft Excel credentials Ensure your sheet contains a unique ID column Update the Environment Config node 4.(Optional) Configure Google Sheets credentials for audit logging Activate the workflow 🚀 Features ⏱ Scheduled Monitoring Runs automatically every 1 minute Near real-time Excel monitoring Prevents unnecessary execution when no changes are detected 🔍 Row-Level Change Detection Detects: ✅ New rows ✏️ Updated rows ❌ Deleted rows Uses a unique ID field per row for accurate tracking. ⸻ 🧠 Field-Level Comparison Compares previous vs current values Identifies exactly which fields changed Outputs structured change data Prevents false positives via data normalization ⸻ ⚙️ Environment Configuration Layer Centralized configuration node allows easy customization without modifying core logic. Configurable options include: idField ignoreFields monitorOnly firstRunSilent enableAuditLog No hardcoded logic required. ⸻ 🛑 Approval Validation Layer Filters rows where Status = "Waiting Approval" Sends notifications only for relevant approval cases Prevents unnecessary alerts ⸻ 🔔 Smart Notification System Sends formatted change notifications Includes: Change Type (NEW / UPDATED / DELETED) Row ID Field-level old → new values Fully customizable message formatting. ⸻ 📊 Optional Audit Logging If enabled in the Environment Config: Converts each field-level change into structured audit rows Appends logs to: Excel 365 (Audit Sheet) Google Sheets (External Log) Audit Log Structure | Timestamp | ChangeType | RowID | Field | OldValue | New Value | |-------------|--------------|--------|------|----------|------------| Designed for compliance and tracking purposes. 📦 Use Cases Internal approval tracking Financial data monitoring Sales pipeline control Procurement workflows Excel-based compliance systems SME automation systems 🧩 Requirements Microsoft 365 (Excel Online – Business) n8n (Cloud or Self-hosted) Microsoft credentials configured in n8n Telegram Bot (Optional) Google Sheets credentials for audit logging 🔧 Configuration Guide All system behavior is controlled from the Environment Config node. Example configuration structure: { CONFIG: { idField: "ID", ignoreFields: ["UpdatedAt", "LastModified"], monitorOnly: null, firstRunSilent: true, enableAuditLog: true } } You can customize: Which column acts as unique ID Which fields to ignore Which fields to monitor exclusively Whether to enable audit logging Whether first run should be silent 🟢 First Run Behavior On first execution: The workflow initializes internal snapshot storage No mass notification is sent (if firstRunSilent = true) This prevents false “NEW row” alerts during setup. 🏢 Who Is This For? Operations teams Finance departments SMEs using Excel as core system Automation consultants Businesses requiring lightweight audit tracking ⸻ 💡 Why This Workflow? Unlike simple Excel polling workflows, this solution: Tracks changes at field level Supports approval-based filtering Includes structured audit logging Avoids duplicate alerts Is fully configurable Designed for production usage This is not just an Excel notifier — it is a structured Change Tracking & Approval Monitoring System built on n8n.
by Kevin Yu
Quick overview This workflow runs hourly to fetch Twilio Monitor Debugger alerts from the last hour, groups them by error code and log level, logs each alert to Google Sheets, and posts a single aggregated digest to a Slack channel. How it works Runs every 60 minutes on a schedule. Computes an ISO start date (now minus the lookback window) and a page size for the Twilio query. Fetches recent alerts from the Twilio Monitor Alerts API using the computed time window. Stops if no alerts are returned to avoid posting empty updates. Groups alerts by error code and log level, builds a Slack digest with counts and sample messages, and prepares one row per alert. Appends the alert rows to Google Sheets and posts the grouped digest message to Slack. Setup Add a Twilio API credential (Account SID and Auth Token) and connect it to the HTTP request that calls the Twilio Monitor Alerts API. Add Google Sheets OAuth2 credentials, then select the target spreadsheet and sheet tab and ensure it has columns for timestamp, error_code, log_level, resource_sid, request_url, and alert_sid. Add a Slack credential and set the destination channel for the digest message. Adjust the schedule interval and keep the lookback window in sync so the query covers the time between runs. Requirements A Twilio account with API access (Account SID and Auth Token). The Monitor Alerts API works on trial and paid accounts. A Google account with a spreadsheet you can write to. A Slack workspace, a channel, and a Slack app credential. Customization Log only errors by filtering out the warning level before the grouping step. Send high-severity error codes to their own channel or add an @mention, by branching on the error code. Add pagination if a single window can return more than one page of alerts. Keep only the branch you want: drop the Sheets append for a Slack-only alert, or drop the Slack post to keep just the audit log. Additional info This treats Twilio as the system being watched rather than the channel that sends the alert, so failed webhooks and rejected sends that normally sit unseen in the Twilio debugger surface on a schedule instead of when a customer complains. It is read-only and never sends a message, so it costs nothing to run, and grouping by error code and log level keeps one misconfiguration from flooding the channel with hundreds of identical lines. There is no AI in the path, so the same alerts always produce the same digest.
by Vivekanand M
Upwork Proposal Automation with AI, Airtable and Slack 📘 Description This workflow automates the complete Upwork job discovery and proposal generation process by continuously monitoring job listings, intelligently filtering opportunities based on your skill set, generating personalised AI-written proposals, and delivering instant notifications — all without any manual effort. The workflow is triggered automatically every minute via Vollna's RSS feed, which monitors Upwork job postings matching your configured search filters. Each new job listing is parsed and analysed to extract key details, including title, description, budget, required skills, and job ID. A skills matching engine scores each job against your defined skill set and filters out weak matches. Duplicate jobs are automatically detected and skipped using Airtable as a reference store, ensuring AI credits are never wasted on already-processed listings. For every qualified new job, GPT-4o-mini generates a tailored 150–250-word proposal that references specific details from the job post, aligns your experience to the client's exact requirements, and ends with a clear call to action. The proposal and all job metadata are saved to an Airtable base for review. A formatted Slack notification is sent instantly with the full job details and generated proposal, allowing you to review, edit, and apply directly from Upwork with a single click. ⚙️ What This Workflow Does (Step-by-Step) 📡 RSS Feed Monitoring — Polls Vollna's Upwork RSS feed every minute for new job listings matching your skill keywords. Vollna replaces Upwork's discontinued native RSS feed (removed August 2024) and supports 30+ filter parameters, including category, budget, and client history. 🔍 Parse & Extract — Extracts structured fields from each RSS item, including job title, full description, budget, required skills, posted date, job ID, and clean Upwork job URL (decoded from Vollna's redirect format). 🎯 Filter: Skills Match — Scores each job against your defined skill list. Jobs scoring fewer than 2 matched skills are dropped immediately, ensuring only relevant opportunities proceed. ⭐ Filter: Client Quality — Filters out clients with ratings below 4.5. New clients with no rating history are allowed through by default. 🔁 Duplicate Detection — Queries Airtable to check if the job ID has already been processed in a previous run. Duplicate jobs are silently skipped without generating a proposal. 🤖 AI Proposal Generation — Calls GPT-4o-mini with a structured prompt containing the job details and your freelancer profile. Generates a concise, personalised proposal that opens with a specific reference to the job post, highlights relevant experience with real numbers, proposes a concrete first step, and ends with a soft call to action. 💾 Save to Airtable — Creates a new record in your Airtable base with all job fields, matched skills, match score, generated proposal, and status set to "New" for review tracking. 💬 Slack Notification — Sends a formatted message to your Slack channel with the job title, budget, match score, matched skills, required skills, direct Upwork job link, and the full AI-generated proposal — ready to copy and submit. 🧩 Prerequisites Vollna account** — Free tier available at vollna.com. Create a job filter matching your skills and copy the RSS feed URL from the Filters section OpenAI API key** — Used for GPT-4o-mini proposal generation (~$0.007 per proposal) Airtable account** — Free tier supports up to 1,000 records. Create a base with the schema below Slack workspace** — Bot token with chat:write permission, invited to your target channel 🗄️ Airtable Base Schema Create a table called Upwork Proposals with these fields: | Field Name | Type | |---|---| | Job Title | Single line text | | Job URL | URL | | Upwork URL | URL | | Posted At | Date | | Budget | Single line text | | Skills Required | Long text | | Matched Skills | Long text | | Match Score | Number | | AI Proposal | Long text | | Status | Single select: New, Reviewed, Applied, Skipped | | Job ID | Single line text | | Notes | Long text | 💰 Cost Estimate | Item | Estimated Cost | |---|---| | Vollna (free tier) | $0/mo | | GPT-4o-mini (50 proposals/day) | $1–3/mo | | Airtable (free tier) | $0/mo | | n8n self-hosted (AWS t3.small) | ~$10–15/mo | | Total | ~$11–18/mo | ⚙️ Setup Instructions Vollna — Sign up at vollna.com, create a job filter with your target keywords and skill categories, then copy the RSS feed URL from the Filters section Airtable — Create a new base and table using the schema above. Copy your Base ID from the Airtable URL and connect your Personal Access Token in n8n credentials OpenAI — Add your OpenAI API key as an n8n credential (HTTP Header Auth with Authorisation: Bearer sk-...) Slack — Create a Slack app, add chat:write scope, install to your workspace, invite the bot to your channel with /invite @your-bot-name Customise the AI prompt — Open the Build OpenAI Payload node and update the MY PROFILE section with your actual name, skills, and experience details Update skill filters — In the Filter: Skills Match node, update the YOUR_SKILLS array to match your exact skill set Publish the workflow — Click Publish. The RSS trigger will begin polling Vollna every minute automatically 💡 Key Benefits ✔ Fully automated job discovery — no manual searching required ✔ Skills-based filtering ensures AI only runs on relevant jobs ✔ Personalised proposals referencing specific job details — not generic templates ✔ Airtable CRM for tracking proposal status and conversion rates ✔ Instant Slack alerts with one-click access to apply on Upwork ✔ Deduplication prevents reprocessing the same job across runs ✔ Modular design — swap OpenAI for Claude or AWS Bedrock with minimal changes ✔ Cost-optimised — GPT-4o-mini keeps proposal generation under $3/month at scale 👥 Perfect For Freelancers on Upwork wanting to automate proposal writing Agencies managing multiple freelancer profiles Developers and automation specialists looking to win more technical contracts Anyone spending more than 30 minutes per day manually browsing and applying to Upwork jobs
by WeblineIndia
Smart Contract Event Monitor (Web3) This workflow automatically monitors the Ethereum blockchain, extracts USDT transfer events, filters large-value transactions, stores them in Airtable and sends a clean daily summary alert to Slack. This workflow checks the latest Ethereum block every day and identifies high-value USDT transfers. It fetches on-chain logs using Alchemy, extracts sender/receiver/value details, filters transactions above a threshold, stores them in Airtable and finally sends a single clear summary alert to Slack. You receive: Daily blockchain check (automated) Airtable tracking of all high-value USDT transfers A Slack alert summarizing the count + the largest transfer Ideal for teams wanting simple, automated visibility of suspicious or large crypto movements without manually scanning the blockchain. Quick Start – Implementation Steps Add your Alchemy Ethereum Mainnet API URL in both HTTP nodes. Connect and configure your Airtable base & table. Connect your Slack credentials and set the channel for alerts. Adjust the value threshold in the IF node (default: 1,000,000,000). Activate the workflow — daily monitoring begins instantly. What It Does This workflow automates detection of high-value USDT transfers on Ethereum: Fetches the latest block number using Alchemy. Retrieves all USDT Transfer logs from that block. Extracts structured data: Sender Receiver Amount Contract Block number Transaction hash Filters only transactions above a configurable threshold. Saves each high-value transaction into Airtable for record-keeping. Generates a summary including: Total number of high-value transfers The single largest transfer Sends one clean alert message to Slack. This ensures visibility of suspicious or large fund movements with no repeated alerts. Who’s It For This workflow is ideal for: Crypto analytics teams Blockchain monitoring platforms Compliance teams tracking high-value activity Web3 product teams Developers needing automated USDT transfer tracking Anyone monitoring whale movements / suspicious transactions Requirements to Use This Workflow To run this workflow, you need: n8n instance** (cloud or self-hosted) Alchemy API URL** (Ethereum Mainnet) Airtable base** + Personal Access Token Slack workspace** with API permissions Basic understanding of Ethereum logs, hex values & JSON data How It Works Daily Check – Workflow runs automatically at your set time. Get Latest Block Number – Fetches newest Ethereum block from Alchemy. Fetch USDT Logs – Queries all Transfer events (ERC-20 standard). Extract Transaction Details – Converts hex → readable data. Filter High-Value Transactions – Keeps only large value transfers. Save to Airtable – Adds each transfer record to your database. Generate Summary – Finds the largest transfer & total count. Send Slack Alert – Notifies your team with one clean summary. Setup Steps Import the provided n8n JSON file. Open the Get Latest Block and Fetch Logs HTTP nodes → add your Alchemy API URL. Ensure USDT contract address (already included):0xdAC17F958D2ee523a2206206994597C13D831ec7 Connect your Airtable account and map: Contract From Address To Address Value Block Number txHash Connect Slack API credentials and choose your channel. Change the threshold limit in the IF node if needed (default: 1B). Activate the workflow — done! How To Customize Nodes Customize Value Threshold Modify the IF node: Increase or decrease the minimum transfer value Change logic to smaller or larger whale-tracking Customize Airtable Storage You can add fields like: Timestamp Token symbol USD price (using price API) Transaction status Risk classification Customize Slack Alerts You may add: Emojis Mentions (@channel, @team) Links to Etherscan Highlighted blocks for critical transfers Customize Web3 Provider Replace Alchemy with: Infura QuickNode Public RPC (not recommended for reliability) Add-Ons (Optional Enhancements) You can extend this workflow to: Track multiple ERC-20 tokens Process several blocks instead of just the latest Add price conversion (USDT → USD value) Detect transfers to suspicious wallets Generate daily or weekly summary reports in Slack Create a dashboard using Airtable Interfaces Add OpenAI-based insights (large spike, suspicious pattern, etc.) Use Case Examples 1\. Whale Tracking Detect large USDT movements (>1M or >5M). 2\. Compliance Monitoring Log high-value transfers in Airtable for audits. 3\. Real-Time Alerts Slack alerts tell your team instantly about big movements. 4\. On-Chain Analytics Automate structured extraction of Ethereum logs. 5\. Exchange Monitoring Detect large inflows/outflows to known addresses. Troubleshooting Guide | Issue | Possible Cause | Solution | |------------------------|-----------------------------------|---------------------------------------------------------| | No data in Airtable | Logs returned empty | Ensure USDT transfer events exist in that block | | Values are “zero” | Hex parsing failed | Check extract-code logic | | Slack alert not sent | Invalid credentials | Update Slack API key | | Airtable error | Wrong field names | Match Airtable column names exactly | | HTTP request fails | Wrong RPC URL | Re-check Alchemy API key | | Workflow not running | Schedule disabled | Enable "Daily Check" node | Need Help? If you need help customizing or extending this workflow — adding multi-token monitoring, setting up dashboards, improving alerts or scaling this for production — our n8n workflow developers at WeblineIndia can assist you with advanced automation.
by Rahul Joshi
Description: Automate your developer onboarding quality checks with this n8n workflow template. Whenever a new onboarding task is created in ClickUp, the workflow logs it to Google Sheets, evaluates its completeness using Azure OpenAI GPT-4o-mini, and alerts your team in Slack if critical details are missing. Perfect for engineering managers, DevOps leads, and HR tech teams who want to maintain consistent onboarding quality and ensure every developer gets the tools, credentials, and environment setup they need — without manual review. ✅ What This Template Does (Step-by-Step) ⚡ Step 1: Auto-Trigger on ClickUp Task Creation Listens for new task creation events (taskCreated) in your ClickUp workspace to initiate the audit automatically. 📊 Step 2: Log Task Details to Google Sheets Records essential task data — task name, assignee, and description — creating a central audit trail for all onboarding activities. 🧠 Step 3: AI Completeness Analysis (GPT-4o-mini) Uses Azure OpenAI GPT-4o-mini to evaluate each onboarding task for completeness across key areas: Tooling requirements Credential setup Environment configuration Instruction clarity Outputs: ✅ Score (0–100) ⚠️ List of Missing Items 💡 Suggestions for Improvement 🚦 Step 4: Apply Quality Gate Checks whether the AI-generated completeness score is below 80. Incomplete tasks automatically move to the alert stage for review. 📢 Step 5: Alert Team via Slack Sends a structured Slack message summarizing the issue, including: Task name & assignee Completeness score Missing checklist items Recommended next actions This ensures your team fixes incomplete onboarding items before they impact new hires. 🧠 Key Features 🤖 AI-driven task completeness scoring 📊 Automatic task logging for audit visibility ⚙️ Smart quality gate (score threshold < 80) 📢 Instant Slack alerts for incomplete tasks 🔄 End-to-end automation from ClickUp to Slack 💼 Use Cases 🎓 Audit onboarding checklists for new developers 🧩 Standardize environment setup and credential handover 🚨 Identify missing steps before onboarding deadlines 📈 Maintain onboarding consistency across teams 📦 Required Integrations ClickUp API – to detect new onboarding tasks Google Sheets API – to store audit logs and history Azure OpenAI (GPT-4o-mini) – to evaluate completeness Slack API – to alert the team on incomplete entries 🎯 Why Use This Template? ✅ Ensures every new developer receives a full, ready-to-start setup ✅ Eliminates manual checklist verification ✅ Improves onboarding quality and compliance tracking ✅ Creates a transparent audit trail for continuous improvement
by Rahul Joshi
📘 Description This workflow automates end-to-end AI-driven inventory intelligence, transforming Airtable stock data into optimized reorder recommendations, daily operational summaries, and instant Slack alerts. It fetches all inventory rows, validates structure, computes reorder and safety-stock metrics using strict formulas, merges multi-batch AI output into a unified dataset, and distributes actionable insights across Email and Slack. Invalid or corrupted Airtable rows are logged to Google Sheets for audit and cleanup. The workflow ensures deterministic inventory math (zero improvisation), strict JSON compliance, and reliable multi-channel reporting for operations teams. ⚙️ What This Workflow Does (Step-by-Step) ▶️ Manual Trigger – Start Inventory Optimization Runs the full optimization and reporting pipeline on demand. 📦 Fetch Inventory Records from Airtable Retrieves all SKU records (ID, ItemName, SKU, quantities, reorder levels) from the Airtable Inventory table. 🔍 Validate Inventory Record Structure (IF) Ensures each record contains a valid id. Valid → routed to AI optimization Invalid → saved to Google Sheets. 📄 Log Invalid Inventory Rows to Google Sheet Captures malformed or incomplete Airtable items for audit checks and data hygiene. 🧠 Configure GPT-4o — Inventory Optimization Model Defines the AI model for stock-level calculations using strict formulas: SuggestedReorderPoint = ReorderLevel × 1.2 SuggestedSafetyStock = ReorderLevel × 0.5 StockStatus logic: Critical if QuantityInStock ≤ SuggestedSafetyStock Needs Reorder if QuantityInStock ≤ SuggestedReorderPoint OK otherwise 🤖 Generate Inventory Optimization Output (AI) The AI engine analyzes each SKU and returns: Suggested reorder point Suggested safety stock Updated stock status Clean structured JSON for each item All without markdown, hallucination, or additional logic. 🧩 Merge AI Optimization Results (Code) Consolidates all partial AI responses into one complete JSON dataset containing all SKUs. 🧠 Configure GPT-4o – Email Summary Model Prepares the AI model used for generating a professional operations-team email. 📧 Generate Inventory Email Summary (AI) Creates a manager-ready email including: High-level inventory health Detailed SKU summaries Alerts for low, reorder-level, or critical stock Recommended actions for today’s operations 📨 Email Inventory Summary to Manager (Gmail) Sends the completed inventory summary to the operations manager. 🧠 Configure GPT-4o – Slack Summary Model Sets up GPT-4o to produce a compact, emoji-supported Slack summary. 💬 Generate Inventory Slack Summary (AI) Builds a Slack-optimized message containing: One-line inventory health Bullet list of SKUs with stock status Clear alerts for reorder-level or critical items One recommended action line 📡 Notify Operations Team on Slack Delivers the optimized Slack summary to the operations Slack user/channel for real-time visibility. 🧩 Prerequisites Airtable access token Azure OpenAI GPT-4o credentials Google Sheets OAuth Slack API credentials Gmail OAuth 💡 Key Benefits ✔ AI-powered stock calculations with strict formulas ✔ Reliable reorder and safety-stock predictions ✔ Instant multi-channel reporting (Email + Slack) ✔ Full audit logging for invalid data ✔ Zero hallucinations—pure structured JSON ✔ Faster decision-making for operations teams 👥 Perfect For Operations & supply-chain teams Inventory managers Retail & e-commerce units Businesses using Airtable for stock tracking
by takuma
This workflow automates reputation management for physical stores (restaurants, retail, clinics) by monitoring Google Maps reviews, analyzing them with AI, and drafting professional replies. It acts as a 24/7 customer support assistant, ensuring you never miss a negative review and saving hours of manual writing time. Who is this for? Store Managers & Owners:** Keep track of customer sentiment without manually checking Google Maps every day. Marketing Agencies:** Automate local SEO reporting and response drafting for multiple clients. Customer Support Teams:** Get instant alerts for negative feedback to resolve issues quickly. How it works Schedule: Runs every 24 hours (customizable) to fetch the latest data. Scrape: Uses Apify to retrieve the latest reviews from a specific Google Maps URL. Filter: Checks the Google Sheet database to identify only new reviews and avoid duplicates. AI Analysis: An AI Agent (via OpenRouter/OpenAI) analyzes the review text to: Generate a short summary. Draft a polite, context-aware reply based on the star rating (e.g., apologies for low stars, gratitude for high stars). Alert: Sends a Slack notification. Low Rating (<4 stars): Alerts a specific channel (e.g., #customer-support) with a warning. High Rating: Alerts a general channel (e.g., #wins) to celebrate. Save: Appends the review details, AI summary, and draft reply to the Google Sheet. Requirements n8n:** Cloud or self-hosted (v1.0+). Apify Account:* To run the *Google Maps Reviews Scraper. Google Cloud Platform:** Enabled Google Sheets API. Slack Workspace:** A webhook URL or OAuth connection. OpenRouter (or OpenAI) API Key:** For the LLM generation. How to set up Google Sheets: Create a new sheet with the following headers in the first row: reviewId, publishedAt, reviewerName, stars, text, ai_summary, ai_reply, reviewUrl, output, publishedAt date. Configure Credentials: Set up your accounts for Google Sheets, Apify, Slack, and OpenRouter within n8n. Edit the "CONFIG" Node: MAPS_URL: Paste the full Google Maps link to your store. SHEET_ID: Paste the ID found in your Google Sheet URL. SHOP_NAME: Your store's name. Slack Nodes: Select the appropriate channels for positive and negative alerts. How to customize Change the AI Persona:* Open the *AI Agent** node and modify the "System Message" to match your brand's tone of voice (e.g., casual, formal, or witty). Adjust Alert Thresholds:* Edit the *If Rating < 4** node to change the criteria for what constitutes a "negative" review (e.g., strictly < 3 stars). Multi-Store Support:** You can loop this workflow over a list of URLs to manage multiple locations in a single execution.
by Shashwat Singh
This workflow automatically detects duplicate files uploaded to a specific Google Drive folder by generating an MD5 hash of each file and comparing it against a Supabase database. If a duplicate is found, the file is moved to a dedicated Duplicates folder and a Slack notification is sent. All events, including unique uploads, duplicates, race conditions, and errors, are logged for audit purposes. It is designed for teams that handle high file volumes and need reliable, content based deduplication instead of simple filename checks. How it works Monitors a specific Google Drive folder for new files. Normalizes file metadata and downloads the binary content. Generates an MD5 hash from the file binary. Checks Supabase to see if the hash already exists. If duplicate, moves the file to a Duplicates folder and sends a Slack alert. If unique, stores the hash in Supabase. Logs every outcome, including errors and race conditions, in an audit table. Setup steps Connect your Google Drive account and select the folder to monitor. Connect your Supabase account and create the required tables: file_hashes dedup_audit_log Connect your Slack account and select a channel for duplicate alerts. Update the Duplicates folder ID in the Google Drive Move node. Setup typically takes 10 to 15 minutes if your Supabase project is ready.
by Jason Stelo
What This Workflow Does You have a Google Sheet where you type in a person's name and set their status to Pending. This workflow checks that sheet on a schedule, finds anyone marked Pending, and automatically researches them using the Perplexity AI API. The results get written back to the same row — current company, location, job title, industry, and social media. When done the status flips to Done. If anything goes wrong or a field comes back empty, you get a Slack notification. Setup Steps Google Sheet Create a sheet with two tabs. The first tab is your main data sheet with these columns: Name, Status, Current Company, Location, Current Title, Industry, Socials / Others, Error Log. The second tab is called Config and is where you write your research questions using [NAME] as a placeholder for the person's name. Credentials You need three credentials set up in n8n — Google Sheets OAuth2, a Perplexity API key set up as HTTP Header Auth with the value Bearer YOUR_API_KEY, and a Slack API connection pointed at the channel you want alerts sent to. Placeholders After importing the JSON, find and replace all placeholders with your real values — your Google Sheet ID, credential IDs, and Slack channel ID. Run It Type a name in Column A, set Column B to Pending, and execute the workflow. Everything else is automatic it will run every desired time you will I preffer every 15 minutes depending on your usage
by Rahi
n8n Workflow: AI-Personalized Email Outreach (Smartlead) 🔄 Purpose This workflow automates cold email campaigns by: Fetching leads Generating hyper-personalized email content using AI Sending emails via Smartlead API Logging campaign activity into Google Sheets 🧩 Workflow Structure Schedule Trigger Starts the workflow automatically at scheduled intervals. Ensures continuous campaign execution. Get Leads Fetches lead data (name, email, company, role, industry). Serves as the input for personalization. Loop Over Leads Processes each lead one by one. Maintains individualized email generation. Aggregate Lead Data Collects and formats lead attributes. Prepares structured input for the AI model. Basic LLM Chain #1 Generates personalized snippets/openers using AI. Tailored based on company, role, and industry. Update Row (Google Sheets) Saves AI outputs (snippets) for tracking and QA. Basic LLM Chain #2 Expands snippet into a full personalized email draft. Includes subject line + email body. Information Extractor Extracts structured fields from AI output: Subject Greeting Call-to-Action (CTA) Closing Update Row (Google Sheets) Stores finalized draft in Google Sheets. Provides visibility and audit trail. Code Formats email into Smartlead-compatible payload. Maps fields like subject, body, and recipient details. Smartlead API Request Sends the personalized email through Smartlead. Returns message ID and delivery status. Basic LLM Chain #3 (Optional) Generates follow-up versions for multi-step campaigns. Ensures varied engagement over time. Information Extractor (Follow-ups) Structures follow-up emails into ready-to-send format. Update Row (Google Sheets) Updates campaign logs with: Smartlead send status Message IDs AI personalization notes ⚙️ Data Flow Summary Trigger** → Runs workflow Get Leads** → Fetch lead records LLM Personalization** → Create openers + full emails Google Sheets** → Save drafts & logs Smartlead API** → Send personalized email Follow-ups** → Generate and log structured follow-up messages 📊 Use Case Automates hyper-personalized cold email outreach at scale. Uses AI to improve response rates with contextual personalization. Provides full visibility by saving drafts and send logs in Google Sheets. Integrates seamlessly with Smartlead for sending and tracking.
by Cahya
This workflow helps you monitor domain expiration dates and send automated reminders via Telegram when a domain is about to expire or has already expired, using WHOIS data and AI-powered information extracting. It helps prevent service downtime, lost traffic, and missed renewals for individuals and teams managing multiple domains. Common use cases: Track and remind on agency-managed client domains Monitor personal or business domain portfolios Send automated expiry alerts for IT and DevOps teams How it works Runs daily at 08:00 AM Reads domain data from Google Sheets Fetches WHOIS information from whois.com for each domain Extracts the data (expired date, domain owner, status domain) using AI Sends a Telegram reminder if the domain expires within 90 days Records the notification date to avoid duplicate alerts Setup steps Add your Google Sheets ID and ensure the required columns exist Connect your Google Sheets credentials Connect your Telegram credentials Configure your LLM provider (Ollama or other) Activate the workflow Need Help? Contact me on LinkedIn!