by 小林幸一
Generate personalized sales emails from Google Maps results to Google Sheets This workflow automates the entire process of lead generation and personalized outreach drafting for local businesses. It utilizes Apify to scrape business data from Google Maps based on your search criteria (e.g., "Cafes in Shibuya"), visits each business's website to extract content, and uses OpenAI to generate a highly personalized sales email that connects the business's unique characteristics with your service's value proposition. Finally, it saves the business details, scraped data, and the generated email draft into Google Sheets. This template is perfect for reducing the manual effort required to research leads and write initial cold outreach emails. Who is this for Sales Representatives** looking to automate lead sourcing and initial drafting. Marketing Agencies** doing outreach for local businesses. Freelancers** offering web design, SEO, or reservation system services to brick-and-mortar stores. What it does Configuration: You define your search query (e.g., "Gyms in London"), the number of leads to fetch, and details about the service you are selling. Lead Scraping: The workflow triggers an Apify actor (Google Maps Scraper) to find businesses matching your criteria. Website Analysis: It checks if the business has a website, fetches the HTML, and extracts relevant text to understand the business's vibe and offerings. AI Email Generation: OpenAI analyzes the scraped website text and generates a specific, personalized email subject and body promoting your service. Data Storage: All data (Business Name, Phone, Address, Website, Scraped Info, and Email Draft) is appended to a Google Sheet. Requirements n8n** (v1.0 or later) Apify Account**: You need an Apify account and the compass/google-maps-scraper actor. OpenAI Account**: An API key for generating the email content. Google Cloud Platform**: A project with the Google Sheets API enabled. How to set up Credentials: Set up your credentials for Apify, OpenAI, and Google Sheets in n8n. Google Sheet: Create a new Google Sheet and add the following headers in the first row: 店舗名 (Store Name) 住所 (Address) Webサイト (Website) 電話番号 (Phone Number) サイトから取得した情報 (Info from Website) 生成されたメール件名 (Generated Subject) 生成されたメール本文 (Generated Body) Workflow Configuration Node: Open the first "Workflow Configuration" node and update the following values: searchQuery: The location and keyword you want to target. serviceName: The name of the product you are selling. serviceStrength: The USP (Unique Selling Proposition) of your product. Google Sheets Node: Open the "Save to Google Sheets" node and select the file you created in step 2. How to customize Change the Prompt**: Open the "Generate Personalized Email" (OpenAI) node to modify the system prompt. You can change the tone, language (currently set to Japanese context in your example), or structure of the sales email. Filter Results**: You can add logic to the "Check Website URL Exists" node to filter out specific types of businesses or domains. Limit Scraping**: Adjust the maxPlaces value in the Configuration node to control how many leads you process per run to save on API credits.
by Yoshino Haruki
Who’s it for This template is ideal for busy professionals, students, or anyone with a dynamic schedule who wants to optimize their brief periods of free time. If you frequently find yourself with unexpected gaps between meetings and wish for intelligent, personalized suggestions on where to grab a coffee or get some work done, this workflow is for you. How it works / What it does The workflow begins by checking your Google Calendar for your next event at a scheduled time. It then calculates the travel time from your current location to your next event's venue using Google Maps. This allows it to determine your actual "gap time" – the usable free time before you need to start moving. If you have a sufficient gap (e.g., 30 minutes or more), the workflow fetches your preferred cafe criteria from a Google Sheet and searches for nearby cafes using Google Places. An AI agent then processes this information, along with your available gap time, to recommend the best cafe suited to your needs. This recommendation, complete with ratings and a Google Maps link, is sent directly to your Slack channel. Conversely, if the gap time is too short to comfortably visit a cafe, the workflow sends an urgent Slack alert, reminding you to prepare for your next appointment and providing essential details. How to set up Import the Workflow: Import this workflow into your n8n instance. Configure API Keys: In the "Workflow Configuration" node, replace the placeholders for googleMapsApiKey and googlePlacesApiKey with your actual API keys. Ensure these keys have access to the Google Maps Distance Matrix API and Google Places API (Nearby Search). Also, update currentLocation with your default or most frequent starting location (latitude/longitude or address). Google Calendar Credentials: Authenticate the "Get Next Calendar Event" node with your Google Calendar account. Select the calendar you wish to monitor. Google Sheets Credentials: Authenticate the "Get User Preferences" node with your Google Sheets account. Create a Google Sheet to store your cafe preferences (e.g., "Likes quiet places", "Prefers espresso", "Needs Wi-Fi"). Update the "Document ID" and "Sheet Name" in this node to point to your preference sheet. OpenRouter Credentials: Authenticate the "OpenRouter Chat Model" with your OpenRouter API key. Slack Credentials: Authenticate both "Send Slack Notification" and "Send Urgent Move Alert (Slack)" nodes with your Slack account. In both Slack nodes, update the channelId to your desired Slack channel where you want to receive notifications (e.g., #general, or a specific DM channel). Activate the Workflow: Once all configurations are complete, activate the workflow. Requirements An n8n instance (self-hosted or cloud). Google Account with Google Calendar and Google Sheets. Google Cloud Project with activated Google Maps Platform APIs (Distance Matrix API, Places API) and corresponding API Keys. An OpenRouter API Key. A Slack Workspace and API Token (or Webhook URL). How to customize the workflow Scheduling: Adjust the "Schedule Trigger" node to run at different intervals or specific times that best suit your daily routine. Minimum Gap Time: Modify the minimumGapMinutes variable in the "Workflow Configuration" node to set a different threshold for cafe recommendations. Cafe Search Radius: In the "Search Nearby Cafes (Google Places API)" node, you can change the radius parameter to search for cafes within a larger or smaller area. User Preferences: Expand your Google Sheet with more detailed preferences to give the AI agent better context for recommendations (e.g., "vegan options," "good for meetings," "strong coffee"). AI Prompt: Refine the prompt in the "AI Agent" node to guide the AI towards specific types of recommendations or output formats. Slack Message Customization: Edit the text fields in the Slack nodes to personalize the notification messages.
by Grace Gbadamosi
How it works This workflow automatically monitors multiple websites using AI-powered analysis and MCP (Model Context Protocol) tools. The system runs scheduled checks, analyzes website performance and security using browser-tools-mcp and mcp-recon servers, categorizes issues by severity (critical, warning, info), sends appropriate alerts through Slack and email, and logs all findings to Google Sheets for historical tracking and trend analysis. Who is this for DevOps engineers, website administrators, system monitors, digital agencies, and technical teams responsible for maintaining multiple websites. Perfect for organizations that need automated website health monitoring with intelligent analysis, comprehensive security checks, and immediate alerting for critical issues. Requirements MCP Servers**: Browser-tools-mcp and mcp-recon servers running locally or remotely OpenAI API**: API key for AI-powered website analysis Google Sheets**: Spreadsheet with "Websites" and "Monitoring Log" sheets Slack Integration**: Slack workspace with webhook or bot token for alerts Email Configuration**: SMTP settings for critical email notifications Environment Variables**: Secure storage for all credentials and endpoints How to set up Install and Configure MCP Servers - Set up browser-tools-mcp and mcp-recon servers, configure endpoints in environment variables (MCP_BROWSER_TOOLS_URL, MCP_RECON_URL) Prepare Google Sheets Integration - Create spreadsheet with "Websites" sheet (URL column) and "Monitoring Log" sheet, set GOOGLE_SHEET_ID environment variable Configure Notification Systems - Set up Slack webhook/bot and email SMTP settings, configure SLACK_CHANNEL, ALERT_EMAIL, FROM_EMAIL variables Customize Monitoring Parameters - Update Configuration Variables node with your monitoring thresholds, batch sizes, and website lists How to customize the workflow Modify the Configuration Variables node to adjust monitoring thresholds (response times, performance scores), change batch processing sizes, update notification preferences, or add additional websites to monitor. Customize alert severity rules in the Alert Severity Router and modify notification templates in the Slack and Email nodes.
by Patrick Siewert
🛡️ Evaluate Guardrails Node Accuracy with Automated Test Suite This workflow benchmarks the n8n Guardrails node across multiple safety categories -including PII, NSFW, jailbreak attempts, secret keys, and unsafe URLs. It runs 36 structured test cases, classifies each as PASS or VIOLATION, calculates accuracy metrics, and emails a detailed HTML report. 🔄 How it works The workflow loops through 36 predefined test prompts. Each prompt is checked by the Guardrails node for violations. Results are recorded as PASS or VIOLATION. The system calculates metrics (accuracy, precision, recall, F1). A formatted Markdown → HTML report is generated and sent via Gmail. ⚙️ Set up steps Add your OpenAI and Gmail credentials in n8n. Replace YOUR_MAIL_HERE in the Gmail node with your own address. (Optional) Change the model in the OpenAI Chat Model node. Default: gpt-4o-mini You can switch to gpt-5 or another available model if needed. Click Execute Workflow: test cases will run automatically. Check your inbox for the results. 🧠 Who it’s for AI safety testers and workflow developers n8n users experimenting with the Guardrails node Teams validating LLM moderation, filtering, or compliance setups 🧩 Requirements n8n v1.119+ Guardrails node enabled OpenAI credentials (optional but recommended) Email integration (Gmail or SendGrid) 💡 Why it’s useful Use this test suite to understand how accurately the Guardrails node identifies unsafe content across different categories. The generated metrics help you fine-tune thresholds, compare models, and strengthen AI moderation workflows. Example result
by Rahul Joshi
Description Synchronize OKRs (Objectives and Key Results) between Monday.com and Jira to automatically calculate progress variance, update dashboards, and share variance reports via Slack and Outlook. This workflow ensures teams have accurate, real-time visibility into performance metrics and project alignment — without manual reconciliation. 🎯📈💬 What This Template Does Step 1: Triggers daily at a scheduled time to fetch the latest OKRs from Monday.com. ⏰ Step 2: Extracts Key Results and their linked Jira epic keys from the OKR board. 🔗 Step 3: Fetches corresponding Jira epic details such as status, assignee, and last updated date. 🧩 Step 4: Merges Monday.com KR data with Jira epic progress through SQL-style joins. 📋 Step 5: Calculates real-time progress and variance against target goals. 📊 Step 6: Updates Monday.com KR items with actual progress, variance percentage, and status (“On Track”, “At Risk”, or “Ahead”). 🔄 Step 7: Aggregates all KR data into a consolidated report for communication. 📦 Step 8: Sends formatted variance reports to Slack and Outlook, with summaries of owner, progress, and variance metrics. 📢 Key Benefits ✅ Automates end-to-end OKR and Jira synchronization ✅ Eliminates manual progress tracking errors ✅ Provides daily visibility on team and project health ✅ Enables proactive risk detection via variance thresholds ✅ Keeps all stakeholders updated via Slack and Outlook ✅ Centralizes OKR performance metrics for reporting Features Daily scheduled trigger for automatic OKR sync Monday.com → Jira data integration via API Real-time variance computation logic Automatic updates of OKR fields in Monday.com SQL-style data merging and aggregation Slack notification with variance summaries Outlook email digest with formatted HTML tables Requirements Monday.com API credentials with board access Jira API credentials with permission to view epics Slack Bot token with chat:write permissions Microsoft Outlook OAuth2 credentials for sending emails Environment variables for board, channel, and recipient configuration Target Audience Product and engineering teams managing OKRs across platforms 🎯 Project managers tracking cross-tool performance metrics 📋 Leadership teams needing automated OKR reporting 💼 Operations and strategy teams monitoring execution health 🧭 Step-by-Step Setup Instructions Connect your Monday.com, Jira, Slack, and Outlook credentials in n8n. 🔑 Replace MONDAY_BOARD_ID, GROUP_ID, and column identifiers with your own. 🧩 Set environment variables for SLACK_CHANNEL_ID and REPORT_RECIPIENT_EMAIL. 💬 Adjust the cron expression to define your sync frequency (e.g., daily at 9 AM). ⏰ Test the workflow with a single OKR item to confirm successful synchronization. 🧠 Enable the workflow to automate daily OKR variance tracking and reporting. ✅
by Itunu
CoinMarketCap Token Discovery (Free API) Automatically discover cryptocurrency tokens from CoinMarketCap, clean the data, enrich it with official websites, and store the results in your preferred database or sheet. This workflow is designed to be safe for free API usage, easy to understand, and ready for extension. What This Workflow Does This workflow runs on a schedule and: Randomly selects pages from CoinMarketCap listings Fetches token data using the free CoinMarketCap API Cleans and normalizes token fields Enriches each token with official website data Processes tokens in safe batches with delays Outputs clean, structured token records Optionally saves results to a database or sheet Who This Is For This workflow is useful if you are: Doing crypto research or market discovery Building token datasets Running crypto outreach or lead generation Learning how to work with APIs in n8n Looking for a clean, real-world n8n example No advanced n8n knowledge is required. Setup Instructions (Required) Follow these steps before running the workflow: 1. Get a CoinMarketCap API Key Create a free account on CoinMarketCap Generate an API key from your dashboard 2. Add Your API Key Open the HTTP Request nodes Add your API key to the request headers: X-CMC_PRO_API_KEY = YOUR_API_KEY 3. Connect Storage Replace the storage node with your preferred option: Google Sheets Airtable PostgreSQL Webhook Add your own credentials before running the workflow. 4. Activate the Workflow Enable the workflow Let it run automatically based on the schedule How the Workflow Is Structured Trigger:** Runs every few days to avoid API limits Random Page Generator:** Prevents bias toward only top tokens Batch Processing:** Controls memory and request volume Delay Logic:** Keeps the workflow stable and API-friendly Cleaning Steps:** Removes messy or invalid data Final Output:** Clean, simple token records ready for use Output Example Each valid token produces a clean record like: Token name Symbol (ticker) Official website Source (CoinMarketCap) Timestamp Invalid or incomplete entries are automatically skipped. Customization Ideas You can easily extend this workflow to: Add social media scraping Track new tokens over time Trigger alerts for specific tokens Combine with other crypto APIs Feed data into outreach or analytics pipelines Important Notes This workflow uses CoinMarketCap’s free API tier Do not remove batch limits or delays unless you upgrade your API plan Replace sample storage with your own before production use License This workflow is provided for educational and practical use. You are free to modify and adapt it for your own projects. Author Built and shared by Itunu Ola n8n automation builder focused on practical, production-ready workflows.
by Intuz
This n8n template from Intuz provides a complete and automated solution for instant team-wide financial visibility. It actively monitors QuickBooks and, upon detecting a new invoice, immediately sends a detailed alert to your chosen Slack channel. For customized reporting, the workflow can pull specific keywords or data like the customer name, invoice amount, and due date directly into the Slack message, creating a complete, real-time feed of your company's sales activity. Use Cases Sales Team Visibility:** Instantly notify the sales channel when an invoice is generated for a deal they closed. Finance & Ops Sync:** Keep the finance team aware of all billing activities as they happen in a dedicated channel. Account Management:** Alert account managers when invoices are sent to their clients, allowing for proactive follow-up. Executive Dashboard:** Create a high-level #billing-feed channel for leadership to monitor revenue-generating activities in real time. How it Works 1. Instant Webhook Trigger: The workflow begins when an invoice is created or updated in QuickBooks. A configured webhook in your Intuit Developer Portal sends a real-time notification to n8n, instantly activating the flow. 2. Fetch Full Invoice Details: The initial webhook payload only contains a basic event notification. This node uses the invoice ID from that payload to query the QuickBooks API and retrieve the full invoice details, such as the customer's name, due date, and domain. 3. Format Key Data: A simple but essential Code node takes the raw data from QuickBooks and cleans it up. It extracts only the most important fields (ID, Domain, Customer Name, Due Date) and organizes them for the next step. 4. Send Slack Notification: The final node crafts a human-readable message and posts it to your chosen Slack channel. The message is dynamically populated with the invoice data, providing a clear and concise update for the whole team. For example: Invoice having ID: 160 having the Domain: QBO for the customer Rondonuwu Fruit and Vegi which is due on 2025-09-07 has been generated successfully. Setup Instructions To get this workflow running, follow these configuration steps: 1. Credentials: QuickBooks: Connect your QuickBooks account credentials to n8n. Slack: Connect your Slack account using OAuth2 credentials. 2. QuickBooks Webhook Configuration: First, activate this n8n workflow. This will make the webhook URL live. Copy the Production URL from the QuickBooks Webhook node. Log in to your Intuit Developer Portal, navigate to the webhooks section for your application, and paste the URL. Ensure you subscribe to Invoice events (e.g., Create, Update, etc.). 3. Node Configuration: Get an invoice: No configuration needed; it will automatically use your QuickBooks credentials. Send a message (Slack): In the parameters, select the Slack Channel where you want the notifications to be posted. Support If you need help setting up this workflow or require a custom version tailored to your specific use case, please feel free to reach out to the template author: Website: https://www.intuz.com/services Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation Click here- Get Started
by Oneclick AI Squad
This workflow automatically tracks shipments across multiple courier services, updates Google Sheets, and notifies customers via WhatsApp/Email when status changes. Good to know Runs daily at 9 AM and only sends notifications when shipment status actually changes API costs may apply for courier tracking (Delhivery, DHL) and WhatsApp notifications Requires Google Sheet with proper column structure and valid API credentials Currently supports Delhivery and DHL APIs but easily expandable How it works Daily Trigger**: Cron node runs workflow every day at 9 AM Get Shipments List**: Fetches all shipment data from Google Sheet Filter Active Shipments**: Excludes delivered orders and empty tracking numbers Route by Courier**: Directs shipments to appropriate API (Delhivery or DHL) Track via APIs**: Makes real-time tracking calls to courier services Parse Tracking Data**: Normalizes different API responses and detects status changes Check Status Change**: Only processes shipments with actual status updates Update & Notify**: Simultaneously updates Google Sheet, sends WhatsApp message, and email notification Execution Summary**: Logs workflow performance metrics How to use Import the JSON workflow into n8n Create Google Sheet with columns: tracking_number, order_id, customer_email, customer_phone, courier, status, location, last_updated, estimated_delivery Configure credentials: Google Sheets OAuth2, Delhivery API, DHL API, WhatsApp API, SMTP Replace YOUR_GOOGLE_SHEET_ID with actual sheet ID Test workflow manually before enabling daily schedule Requirements Google Sheets API access Courier API keys (Delhivery, DHL) WhatsApp Business API credentials SMTP email service n8n instance (self-hosted or cloud) Customizing this workflow Add courier services**: Create new HTTP Request node and update routing logic Change frequency**: Modify cron expression (hourly: 0 * * * *, twice daily: 0 9,17 * * *) Customize notifications**: Edit WhatsApp/Email templates in respective nodes Add CRM integration**: Insert CRM update node after status change detection
by Cheng Siong Chin
How It Works This workflow automates engineering governance by deploying a multi-agent AI system that validates designs, checks compliance, optimises safety, and predicts maintenance needs. Designed for engineering teams, quality assurance officers, and operations managers in regulated industries, it eliminates manual review bottlenecks and ensures systemic risk issues are escalated promptly. A schedule trigger fetches design specifications and operational data, merges them, then routes to three parallel agent tracks: Design Validation (with Compliance Verification, Resource Coordination, and Testing Validation sub-agents), Safety Optimisation, and Predictive Maintenance. All outputs consolidate into a risk score calculator, which routes by risk level—critical and high issues trigger Slack alerts immediately, while medium and low issues are logged for review. Setup Steps Set schedule trigger interval to match governance review frequency. Add Anthropic API credentials to all Anthropic Model nodes. Connect design specification and operational data sources to fetch nodes. Configure Slack credentials for critical and high-priority alert channels. Define risk scoring thresholds in the Calculate Risk Scores node. Prerequisites Slack workspace with bot token Design and operational data sources (API or database) Use Cases Automated design compliance auditing for aerospace or manufacturing Real-time safety risk detection in industrial operations Customization Add sub-agents for environmental, cost, or regulatory compliance Benefits Automates multi-dimensional engineering governance on a schedule
by Rapiwa
Who is this for? This workflow is for online store owners, support teams, and marketing staff who want to automatically verify WhatsApp numbers and send order invoice links or personalized order updates to customers. It’s built against WooCommerce order webhooks but can be adapted to Shopify or other e-commerce platforms that provide billing and line_items. What this Workflow Does Receives order events (Webhook / WooCommerce order.updated). Normalizes the payload into a compact object: { data: { customer, products, invoice_link } } via a Code node. Iterates items in batches (SplitInBatches) to control throughput. Cleans phone numbers (removes non-digits) and verifies WhatsApp registration using Rapiwa (/api/verify-whatsapp). Sends templated WhatsApp messages through Rapiwa (/api/send-message) for verified numbers. Logs every attempt into Google Sheets: one sheet for verified & sent rows, another for unverified & not sent rows. Uses a Wait node to throttle and loop back into the batch processor. Key Features Trigger-based automation (Webhook or WooCommerce trigger). Payload normalization and mapping via JavaScript Code nodes. Controlled batching (SplitInBatches) to avoid rate limits. Pre-send verification of WhatsApp numbers using Rapiwa. Conditional branching with the IF node to separate verified vs unverified flows. Personalized message templates that pull customer and product fields from the mapped data. Logging and audit trail stored in Google Sheets (two separate append flows). How to Use — Step-by-step Setup Add credentials in n8n Rapiwa: Create an HTTP Bearer credential and paste your Bearer token (example name used in the flow: Rapiwa Bearer Auth). Google Sheets: Create an OAuth2 credential (example: Google Sheets). WooCommerce: Add WooCommerce API credentials for the trigger (or configure Shopify credentials if adapting). Import / configure nodes in n8n Webhook (or WooCommerce Trigger): receive order payloads. Example Webhook path is present in the exported flow. Code node Format Webhook Response Data: map body.billing, body.line_items, body.payment_url into { data: { customer, products, invoice_link } }. Code node Clean WhatsApp Number: ensure the phone number is a string and strip non-digits: String(rawNumber).replace(/\D/g, ""). HTTP Request Check valid whatsapp number Using Rapiwa: POST to https://app.rapiwa.com/api/verify-whatsapp with { number }. Use the Rapiwa Bearer credential. IF If: check verification result. The flow compares {{$json.data.exists}} to "true" in the exported flow; normalize types if your API returns booleans. HTTP Request Rapiwa Sender: POST to https://app.rapiwa.com/api/send-message with number, message_type: 'text', and a templated message (see message template in the flow). Google Sheets Store State of Rows in Verified & Sent and Store State of Rows in Unverified & Not Sent Google Sheet Column Structure Create these columns exactly (the Google Sheets nodes in the flow expect these names): A Google Sheet formatted like this ➤ sample | Name | Number | Email | Address | Product Title | Product ID | Size | Quantity | Total Price | Product Image | Invoice Link | Product Status | Validity | Status | |-----------------|---------------|-------------------|--------------|------------------------------------------------|------------|------|----------|----------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|----------------|------------|----------| | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | Air Force 1 Reigning Champ Dark Grey 1:1 - 40 | 251 | 40 | 1 | BDT 5800.00 | | Invoice | on-hold | verified | sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | Air Force 1 Reigning Champ Dark Grey 1:1 - 40 | 251 | 40 | 1 | BDT 5800.00 | | Invoice | on-hold | unverified | not sent | Customization Ideas Adapt the Code mapping node for Shopify payloads or other marketplaces. Iterate and include multiple products in the message instead of using products[0]. Add filters in the Code node (e.g., only process orders with total > 5000). Add fallback channels (SMS or email) for unverified numbers. Persist logs into a database for analytics and retention beyond Google Sheets. Add admin notifications (Slack, email) at the end of each run. Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support & Help WhatsApp**: Chat on WhatsApp Discord**: SpaGreen Community Facebook Group**: SpaGreen Support Website**: https://spagreen.net Developer Portfolio**: Codecanyon SpaGreen
by Cheng Siong Chin
How It Works This workflow automates legal policy governance for legal teams, policy managers, and compliance officers, eliminating manual document review, approval classification, and multi-channel stakeholder distribution. Submitted policy documents are form-triggered, extracted into structured text, and passed to the Legal Governance Agent. Backed by shared memory and a governance model, it coordinates three specialist agents: Policy Analysis (content evaluation), Compliance Tracking (regulatory alignment), and Legal Summary (structured report generation). Gmail and Slack notification tools handle multi-channel alerts in parallel. Outputs are parsed and routed by approval status across four concurrent Google Sheets tracks: policy record storage with stakeholder notifications, approval preparation and tracking, compliance record preparation and tracking, and audit log generation, ensuring a complete, audit-ready governance trail for every submission. Setup Steps Import workflow; configure the Policy Submission Form trigger. Add AI model credentials to the Legal Governance Agent, Policy Analysis Agent, Compliance Tracking Agent, and Legal Summary Agent. Connect Gmail credentials to the Email Notification Tool; link Slack credentials to the Slack Notification Tool. Link Google Sheets credentials; set sheet IDs for Policy Records, Approvals, Compliance, and Audit Trail tabs. Prerequisites OpenAI API key (or compatible LLM) Gmail account with OAuth credentials Slack workspace with bot credentials Google Sheets with policy, approval, compliance, and audit tabs pre-created Use Cases Legal teams automating policy submission review and approval classification Customisation Extend routing logic to include partial-approval or escalation tiers for complex policies Benefits Eliminates manual policy triage and stakeholder notification across large submission volumes
by Daniel Shashko
How it Works This workflow automatically monitors your Google Ads campaigns every day, analyzing performance with AI-powered scoring to identify scaling opportunities and catch issues before they drain your budget. Each morning at 9 AM, it fetches all active campaign data including clicks, impressions, conversions, costs, and conversion rates from your Google Ads account. The AI analysis engine evaluates four critical dimensions: CTR (click-through rate) to measure ad relevance, conversion rate to assess landing page effectiveness, cost per conversion to evaluate profitability, and traffic volume to identify scale-readiness. Each campaign receives a performance score (0-100 points) and is automatically categorized as Excellent (75+), Good (55-74), Fair (35-54), or Underperforming (0-34). High-performing campaigns trigger instant Slack alerts to your PPC team with detailed scaling recommendations and projected ROI improvements, while underperforming campaigns generate urgent alerts with specific optimization actions. Every campaign is logged to your Google Sheets dashboard with daily metrics, and the system generates personalized email reports—action-oriented scaling plans for top performers and troubleshooting guides for campaigns needing attention. The entire analysis takes minutes, providing your team with daily intelligence reports that would otherwise require hours of manual spreadsheet work and data analysis. Who is this for? PPC managers and paid media specialists drowning in campaign data and manual reporting Marketing agencies managing multiple client accounts needing automated performance monitoring E-commerce brands running high-spend campaigns who can't afford budget waste Growth teams looking to scale winners faster and pause losers immediately Anyone spending $5K+ monthly on Google Ads who needs data-driven optimization decisions Setup Steps Setup time:** Approx. 15-25 minutes (credential configuration, dashboard setup, alert customization) Requirements:** Google Ads account with active campaigns Google account with a tracking spreadsheet Slack workspace SMTP email provider (Gmail, SendGrid, etc.) Create a Google Sheets dashboard with two tabs: "Daily Performance" and "Campaign Log" with appropriate column headers. Set up these nodes: Schedule Daily Check: Pre-configured to run at 9 AM daily (adjust timing if needed). Fetch Google Ads Data: Connect your Google Ads account and authorize API access. AI Performance Analysis: Review scoring thresholds (CTR, conversion rate, cost benchmarks). Route by Performance: Automatically splits campaigns into high-performers vs. issues. Update Campaign Dashboard: Connect Google Sheets and select your "Daily Performance" tab. Log All Campaigns: Select your "Campaign Log" tab for historical tracking. Slack Alerts: Connect workspace and configure separate channels for scaling opportunities and performance issues. Generate Action Plan: Customize email templates with your brand voice and action items. Email Performance Report: Configure SMTP and set recipient email addresses. Credentials must be entered into their respective nodes for successful execution. Customization Guidance Scoring Weights:** Adjust point values for CTR (30), conversion rate (35), cost efficiency (25), and volume (10) in the AI Performance Analysis node based on your business priorities. Performance Thresholds:** Modify the 75-point Excellent threshold and 55-point Good threshold to match your campaign quality distribution and industry benchmarks. Benchmark Values:** Update CTR benchmarks (5% excellent, 3% good, 1.5% average) and conversion rate targets (10%, 5%, 2%) for your industry. Alert Channels:** Create separate Slack channels for different alert types or route critical alerts to Microsoft Teams, Discord, or SMS via Twilio. Email Recipients:** Configure different recipient lists for scaling alerts (executives, growth team) vs. optimization alerts (campaign managers). Schedule Frequency:** Change from daily to hourly monitoring for high-spend campaigns, or weekly for smaller accounts. Additional Platforms:** Duplicate the workflow structure for Facebook Ads, Microsoft Ads, or LinkedIn Ads with platform-specific nodes. Budget Controls:** Add nodes to automatically pause campaigns exceeding cost thresholds or adjust bids based on performance scores. Once configured, this workflow will continuously monitor your ad spend, identify opportunities worth thousands in additional revenue, and alert you to issues before they waste your budget—transforming manual reporting into automated intelligence. Built by Daniel Shashko Connect on LinkedIn