by Reinhard Schmidbauer
Overview This template automatically exports Meta (Facebook) Ads campaign performance into Google Sheets — both daily and for historical backfills. It’s ideal for performance marketers, agencies, and analytics teams who want a reliable data pipeline from Meta Ads into their reporting stack. What this workflow does Runs a daily cron job to pull yesterday’s campaign-level performance from the Meta Ads Insights API. Flattens the API response and calculates key KPIs like CPL, CPA, ROAS, CTR, CPC, CPM, frequency and more. Appends one row per campaign per day to a Google Sheet (for dashboards and further analysis). Provides a separate Manual Backfill section to import historical data using a time_range parameter (e.g. last 12–24 months). Use cases Build Looker Studio / Power BI dashboards on top of a clean, daily Meta Ads dataset. Track ROAS, CPL, CPA, CTR, and frequency trends over time. Combine campaign data with CRM or ecommerce data in the same spreadsheet. Quickly backfill past performance when onboarding a new Meta Ads account. How it works Daily Incremental Flow A Schedule Trigger runs every day at 05:00. The Set config node defines ad account, date preset (yesterday), and Google Sheet details. The Meta Insights node calls the Facebook Graph insights edge at level=campaign. The Code node flattens the data and derives CPL, CPA, ROAS, and other KPIs. The Google Sheets node appends the rows to your Meta_Daily_Data sheet. Manual Backfill Flow A Manual Trigger lets you run the flow on demand. The Set backfill config node defines backfillSince and backfillUntil. The Meta Insights (time_range) node fetches performance for that historical range. The same transform logic is applied, and rows are appended to the same sheet. Prerequisites A Meta Business account with: A system user and a long-lived access token with ads_read / read_insights. A Google Sheet with a header row that matches the mapped column names. n8n credentials for: Facebook Graph API Google Sheets OAuth2 Setup steps Import this template into your n8n instance. Open the Set config and Set backfill config nodes: Set your adAccountId (e.g. act_123456789012345). Set your sheetId (Google Sheet ID) and sheet name (e.g. Meta_Daily_Data). Configure your Facebook Graph API and Google Sheets credentials in n8n. (Optional) Run the Manual Backfill section for your desired historical ranges (e.g. per quarter). Enable the workflow so the Daily Incremental section runs automatically. Customization Change level from campaign to adset or ad if you need more granular reporting. Add breakdowns (e.g. publisher_platform, platform_position) to split by platform and placement. Extend the transform code with additional KPIs or dimensions that match your reporting needs. Use a separate sheet for raw data and build dashboards on top of a cleaned or pivoted view. Consulting & support If you need help with: E-Commerce Strategy & Development** (Shopify, Shopware 6, Magento 2, SAP Commerce Cloud, etc.) Growth & Performance Marketing** (Google / Meta / Microsoft Ads, etc.) Data & Analytics Setups** (tracking, dashboards, attribution, gdpr, etc.) please reach out to Serendipity Technologies: 👉 https://www.serendipity.at We can help you turn this workflow into a full analytics stack and reporting system tailored to your business.
by Stephan Koning
Real-Time ClickUp Time Tracking to HubSpot Project Sync This workflow automates the synchronization of time tracked on ClickUp tasks directly to a custom project object in HubSpot, ensuring your project metrics are always accurate and up-to-date. Use Case & Problem This workflow is designed for teams that use a custom object in HubSpot for high-level project overviews (tracking scoped vs. actual hours per sprint) but manage daily tasks and time logging in ClickUp. The primary challenge is the constant, manual effort required to transfer tracked hours from ClickUp to HubSpot, a process that is both time-consuming and prone to errors. This automation eliminates that manual work entirely. How It Works Triggers on Time Entry:** The workflow instantly starts whenever a user updates the time tracked on any task in a specified ClickUp space. ⏱️ Fetches Task & Time Details:** It immediately retrieves all relevant data about the task (like its name and custom fields) and the specific time entry that was just updated. Identifies the Project & Sprint:** The workflow processes the task data to determine which HubSpot project it belongs to and categorizes the work into the correct sprint (e.g., Sprint 1, Sprint 2, Additional Requests). Updates HubSpot in Real-Time:** It finds the corresponding project record in HubSpot and updates the master actual_hours_tracked property. It then intelligently updates the specific field for the corresponding sprint (e.g., actual_sprint_1_hours), ensuring your reporting remains granular and accurate. Requirements ✅ ClickUp Account with the following custom fields on your tasks: A Dropdown custom field named Sprint to categorize tasks. A Short Text custom field named HubSpot Deal ID or similar to link to the HubSpot record. ✅ HubSpot Account with: A Custom Object used for project tracking. Custom Properties** on that object to store total and sprint-specific hours (e.g., actual_hours_tracked, actual_sprint_1_hours, total_time_remaining, etc.). > Note: Since this workflow interacts with a custom HubSpot object, it uses flexible HTTP Request nodes instead of the standard n8n HubSpot nodes. Setup Instructions Configure Credentials: Add your ClickUp (OAuth2) and HubSpot (Header Auth with a Private App Token) credentials to the respective nodes in the workflow. Set ClickUp Trigger: In the Time Tracked Update Trigger node, select your ClickUp team and the specific space you want to monitor for time updates. Update HubSpot Object ID: Find the ID of your custom project object in HubSpot. In the HubSpot HTTP Request nodes (e.g., OnProjectFolder), replace the placeholder ID objectTypeId in the URL with your own objectTypeId How to Customize Adjust the Code: Extract Sprint & Task Data node to change how sprint names are mapped or how time is calculated. Update the URLs in the HubSpot HTTP Request nodes if your custom object or property names differ.
by Fahmi Fahreza
Sign up for Decodo HERE for Discount Automatically scrape, structure, and log forum or news content using Decodo and Google Gemini AI. This workflow extracts key details like titles, URLs, authors, and engagement stats, then appends them to a Google Sheet for tracking and analysis. Who’s it for? Ideal for data journalists, market researchers, or AI enthusiasts who want to monitor trending topics across specific domains. How it works Trigger: Workflow runs on schedule. Data Setup: Defines forum URLs and geolocation. Scraping: Extracts raw text data using the Decodo API. AI Extraction: Gemini parses and structures the scraped text into clean JSON. Data Storage: Each news item is appended or updated in Google Sheets. Logging: Records scraping results for monitoring and debugging. How to set up Add your Decodo, Google Gemini, and Google Sheets credentials in n8n. Adjust the forum URLs, geolocation, and Google Sheet ID in the Workflow Config node. Set your preferred trigger interval in Schedule Trigger. Activate and monitor from the n8n dashboard.
by Rahul Joshi
Description Turn incoming Gmail messages into Zendesk tickets and keep a synchronized log in Google Sheets. Uses Gmail as the trigger, creates Zendesk tickets, and appends or updates a central sheet for tracking. Gain a clean, auditable pipeline from inbox to support queue. ✨ What This Template Does Fetches new emails via Gmail Trigger. ✉️ Normalizes Gmail payload for consistent fields. 🧹 Creates a Zendesk ticket from the email content. 🎫 Formats data for Sheets and appends or updates a row. 📊 Executes helper sub-workflows and writes logs for traceability. 🔁🧾 Key Benefits Converts emails to actionable support tickets automatically. ⚡ Maintains a single source of truth in Google Sheets. 📒 Reduces manual triage and data entry. 🕒 Improves accountability with structured logs. ✅ Features Gmail Trigger for real-time intake. ⏱️ Normalize Gmail Data for consistent fields. 🧩 Create Zendesk Ticket (create: ticket). 🎟️ Format Sheet Data for clean columns. 🧱 Log to Google Sheets with appendOrUpdate. 🔄 Execute workflow (sub-workflow) steps for modularity. 🧩 Requirements n8n instance (cloud or self-hosted). 🛠️ Gmail credentials configured in n8n (with read access to the monitored inbox). ✉️ Zendesk credentials (API token or OAuth) with permission to create tickets. 🔐 Google Sheets credentials with access to the target spreadsheet for append/update. 📊 Access to any sub-workflows referenced by the Execute workflow nodes. 🔁 Target Audience IT support and helpdesk teams managing email-based requests. 🖥️ Ops teams needing auditable intake logs. 🧾 Agencies and service providers converting client emails to tickets. 🤝 Small teams standardizing email-to-ticket flows. 🧑💼 Step-by-Step Setup Instructions Connect Gmail, Zendesk, and Google Sheets in n8n Credentials. 🔑 Set the Gmail Trigger to watch the desired label/inbox. 📨 Map Zendesk fields (description) from normalized Gmail data. 🧭 Point the Google Sheets node to your spreadsheet and confirm appendOrUpdate mode. 📄 Assign credentials to all nodes, including any Execute workflow steps. 🔁 Run once to test end-to-end; then activate the workflow. ✅
by Abdul Matheen
Description: This workflow automates the entire student exam evaluation process using AI and Google Workspace tools — no manual correction needed! Teachers simply submit a form with their name and a scanned copy of a student’s answer sheet. The flow then: Uses Gemini Document Analysis to extract answers from the scanned sheet. Passes the extracted answers to an AI Evaluation Agent, equipped with the Question Paper and Correct Answer Sheet (connected via Google Docs tools). The AI cross-checks each student answer, counts correct and incorrect responses, and calculates the total marks. The results are recorded in two Google Sheets: A Summary Sheet with overall student performance (Name, Teacher, Total Marks, etc.) A Detailed Report Sheet logging each question, correct answer, student’s answer, and correctness status. This workflow turns the tedious task of exam evaluation into a seamless AI-driven automation — ensuring speed, accuracy, and transparency in academic grading. Highlights: ✅ AI Document Understanding (Gemini Model) ✅ Intelligent Answer Comparison ✅ Automated Mark Calculation ✅ Real-Time Google Sheets Update ✅ No Code — Fully Built in n8n
by satoshi
Monitor employee stress levels from Slack and tasks to Google Sheets This workflow functions as an automated "Chief Wellness Officer," helping HR teams and managers prevent employee burnout before it happens. It aggregates data from communication channels and work tools to provide an AI-driven daily assessment of employee well-being, while prioritizing privacy through data anonymization. Who is this for HR & People Operations Teams** wanting to track organizational health trends without invading personal privacy. Remote-first Companies** where physical cues of burnout are harder to spot. Team Managers** looking for data-backed insights to support their direct reports. What it does Daily Trigger: Runs automatically every morning (default: 2 AM) to analyze the previous day's activity. Data Collection: Fetches public Slack messages to analyze communication tone. Retrieves attendance data (work hours, late arrivals) and task completion rates via API. AI Analysis: Uses OpenAI to process the data, predicting a "Stress Level" based on sentiment and workload metrics. Privacy-First Reporting: Hashes employee IDs to anonymize data, then logs stress scores to Google Sheets for trend analysis. Direct Intervention: If the AI detects "High" stress, it sends a private, empathetic DM to the employee on Slack offering support or counseling resources. Requirements n8n** (Self-hosted or Cloud) Slack** Workspace (with a Bot User OAuth Token). OpenAI** API Key. Google Sheets** (for the dashboard). Postgres** (optional, for logging counseling actions). HR/Task Management Tools** (e.g., Jira, Asana, BambooHR) accessible via API. How to set up Configure Credentials: Set up your credentials for Slack, OpenAI, Google Sheets, and Postgres in n8n. Prepare Google Sheet: Create a sheet with headers: employee_hash, department, stress_score, stress_level, and analysis_date. Connect Data Sources: The workflow uses HTTP Request nodes as placeholders for Attendance and Task data. You must update these URLs to point to your specific HRIS or Project Management tool APIs (or replace them with native n8n nodes like Asana or Jira). Update Slack Settings: Ensure the Slack node has the correct permissions (channels:history, chat:write, users:read) and target channel/user mapping. How to customize Adjust Sensitivity:* Modify the system prompt in the *AI Stress Level Prediction node to change how "High" stress is defined. Change Data Sources:* Replace the generic HTTP Request nodes with specific n8n nodes for services like *Harvest, **Jira, or Trello depending on your stack. Modify Action:** Instead of a direct DM, you can change the final step to alert a manager or create a ticket in a sensitive HR service desk.
by Jitesh Dugar
Verified User Profile Creation - Automated Email Validation & PDF Generation Overview This comprehensive automation workflow streamlines the user onboarding process by validating email addresses, generating professional profile PDFs, and delivering them seamlessly to verified users. 🎯 What This Workflow Does: Receives User Data - Webhook trigger accepts user signup information (name, email, city, profession, bio) Validates Email Addresses - Uses VerifiEmail API to ensure only legitimate email addresses proceed Conditional Branching - Smart logic splits workflow based on email verification results Generates HTML Profile - Creates beautifully styled HTML templates with user information Converts to PDF - Transforms HTML into professional, downloadable PDF documents Email Delivery - Sends personalized welcome emails with PDF attachments to verified users Data Logging - Records all verified users in Google Sheets for analytics and tracking Rejection Handling - Notifies users with invalid emails and provides guidance ✨ Key Features: ✅ Email Verification - Prevents fake registrations and maintains data quality 📄 Professional PDF Generation - Beautiful, branded profile documents 📧 Automated Email Delivery - Personalized welcome messages with attachments 📊 Google Sheets Logging - Complete audit trail of all verified users 🔀 Smart Branching - Separate paths for valid and invalid emails 🎨 Modern Design - Clean, responsive HTML/CSS templates 🔒 Secure Webhook - POST endpoint for seamless form integration 🎯 Perfect Use Cases: User registration systems Community membership verification Professional certification programs Event registration with verified attendees Customer onboarding processes Newsletter signup verification Educational platform enrollments Membership card generation 📦 What's Included: Complete workflow with 12 informative sticky notes Pre-configured webhook endpoint Email verification integration PDF generation setup Gmail sending configuration Google Sheets logging Error handling guidelines Rejection email template 🛠️ Required Integrations: VerifiEmail - For email validation (https://verifi.email) HTMLcsstoPDF - For PDF generation (https://htmlcsstopdf.com) Gmail OAuth2 - For email delivery Google Sheets OAuth2 - For data logging ⚡ Quick Setup Time: 15-20 minutes 🎓 Skill Level: Beginner to Intermediate Benefits: ✅ Reduces manual verification work by 100% ✅ Prevents spam and fake registrations ✅ Delivers professional branded documents automatically ✅ Maintains complete audit trail ✅ Scales effortlessly with user growth ✅ Provides excellent user experience ✅ Easy integration with any form or application Technical Details: Trigger Type:** Webhook (POST) Total Nodes:** 11 (including 12 documentation sticky notes) Execution Time:** ~3-5 seconds per user API Calls:** 3 external (VerifiEmail, HTMLcsstoPDF, Google Sheets) Email Format:** HTML with binary PDF attachment Data Storage:** Google Sheets (optional) License: MIT (Free to use and modify) 🎁 BONUS FEATURES: Comprehensive sticky notes explaining each step Beautiful, mobile-responsive email template Professional PDF styling with modern design Easily customizable for your branding Ready-to-use webhook endpoint Error handling guidelines included Perfect for: Developers, No-code enthusiasts, Business owners, SaaS platforms, Community managers, Event organizers Start automating your user verification process today! 🚀
by AFK Crypto
Try It Out! The SOL/USDT Multi-Timeframe AI Market Analyzer and Trader with Telegram Approval is your fully automated Solana trading assistant powered by AI, AFK Crypto, and Telegram. It runs hourly by default, fetches real-time market data for the SOL/USDT pair, and uses AI-driven logic to determine optimal entry, exit, and risk management strategies. You receive a Telegram approval message that lets you confirm or reject the trade instantly. Once approved, the bot executes trades via your AFK Crypto Wallet and keeps monitoring for Take-Profit or Stop-Loss triggers — sending alerts directly to Telegram when they’re hit. This system combines automation with manual oversight, giving you AI precision with human approval control. How It Works Hourly Trigger – The workflow initiates every hour to analyze the current market status. Fetch SOL Market Data (Crypto Compare) – Retrieves multiple timeframe data (1m, 5m, 1h) for trend, momentum, and volatility analysis. AI Market Analyzer – Processes data through an AI agent to identify: Market sentiment (bullish, bearish, neutral) Recommended position: LONG / SHORT / HOLD Stop-Loss and Take-Profit levels Confidence rating and reasoning Balance Check (AFK Crypto) – Verifies wallet balance via /v1/wallets/balances?chain=solana and calculates position size based on 1% risk. Telegram Approval Message – Sends a Telegram message containing AI insights and trade details with “✅ Approve” or “❌ Decline” buttons. Trade Execution (AFK Trade API) – If approved, executes trade instantly via /v1/trade/swap using your AFK Crypto wallet. Live Trade Monitoring – Monitors SOL price in real-time. Once Take-Profit or Stop-Loss conditions are met: The position auto-closes. A Telegram notification is sent summarizing results and updated balance. How to Use Import the workflow into your n8n workspace. Add your credentials: AFK Crypto API Key – For balance and trading operations. Telegram Bot Token + Chat ID – For sending messages and approvals. Crypto Compare API Key – For fetching market data. Edit “Fetch SOL Market Data” Node: Update the endpoint if you want different timeframes or markets. Set the schedule: Default trigger = every hour (modifiable in the “Every Hour” node). Deploy and activate. The bot will send you hourly market analyses via Telegram — allowing you to approve or skip each suggested trade. (Optional) Extend This Workflow Auto Mode:** Allow the AI to auto-trade when confidence > 90%. Portfolio Sync:** Log every trade and PnL automatically to Notion or Airtable. Risk Adjuster:** Dynamically modify the 1% risk per trade based on balance or volatility. Multi-Pair Trading:** Expand to include ETH/USDT or BTC/USDT using the same logic. Requirements AFK Crypto Wallet + API Key** Telegram Bot Token + Chat ID** Crypto Compare API Key** n8n Instance** with HTTP Request, AI, and Telegram nodes enabled AFK APIs Used GET https://api.afkcrypto.com/v1/wallets/balances?chain=solana POST https://api.afkcrypto.com/v1/trade/swap Summary The SOL/USDT Multi-Timeframe AI Market Analyzer and Trader with Telegram Approval workflow is an intelligent trading automation system that merges AI analytics, Telegram decision prompts, and AFK Crypto execution. It empowers you to make data-driven trading decisions — with AI doing the heavy lifting and you retaining the final say before every trade. A perfect hybrid between automation and control, optimized for active Solana traders who value precision and security. Our Website: https://afkcrypto.com/ Check our blogs: https://www.afkcrypto.com/blog
by Raghvendra dixit
Description This workflow intelligently scans your inbox, detects whether an email is marketing or genuine, and takes the right action automatically. Marketing Emails : Deleted instantly and logged in Google Sheets for tracking. Non-Marketing Emails : Receive a customized, polite reply crafted using AI. Tracking : Every action (delete/reply) is recorded for auditing and reference. Accounts & Tools n8n instance (self-hosted or cloud). Google account with: Gmail API access (for reading, deleting, and replying). Google Sheets API access (for logging deleted/replied emails). IMP/SMTP credentials (if using IMAP trigger instead of Gmail API). Google Gemini (PaLM) API key to classify emails and generate replies. Setup instructions Create a n8N account on cloud or install it locally. follow the quick start guide this Define your trigger point for your workflow as how or when this needs to run. Currently IMAP has been used to detect if any email is received and if so, trigger the workflow Now, we need to setup the google account which allows our workflow to read emails. Follow this guideline to setup gmail account Next step is to add an AI tool which is google gemini here. To set up and use, see this guideline Since AI response is in text, we need a parser tool to read a specific value from text Setup a categorization tool like this Next is to send or delete email and for this, an existing gmail setup is going to work In the last, we need to set a connection for sheet to keep the logs. Adding any sheet to workflow can be seen as google sheet integration How it work Once any emails is received, IMAP detects and starts the workflow. Now, email is passed to AI model to see if this email is a marketing email or not. Also, is its not a marketing email, it generates a tailored response. Currently, sender, subject and body of email is being scanned and marked as marketing based on model's feedback. Since AI response is in text format, using a formattor to parse it Next step is to read its category as if it is a marketing email Based on email type, there are 2 steps: delete email if it is a marketing email Read the response from previos node and send that as reply Last step is track this activity as which emails is deleted or replied. In terms of structure of sheet, it has 2 tabs deleted emails & replied emails and both have 2 columns Email ID subject Future Use it to categories emails for wider range like job applications, bills, customer supprt and tailor replies for each categories seperately Logging can done in wider sources like databases etc In case if we are logging on sheet, a further enhancements like follow up emails etc can be done
by Trung Tran
Chat-Based AWS Lambda Manager with Automated Audit Logging (GPT-4.1 mini + Google Sheet) > This workflow provides a chat-based AI agent to manage AWS Lambda functions. It allows users to list, invoke, get details, and delete Lambda functions, while automatically recording every action into Google Sheets for audit and compliance tracking. Who’s it for Cloud engineers and DevOps teams managing AWS Lambda functions. Developers who want a simple chat interface to perform Lambda operations. Compliance and operations teams needing automatic audit logs of AWS actions. How it works / What it does A chat message triggers the AWS Lambda Manager Agent. The agent interprets user intent and calls one of the available tools: Invoke Lambda Function: Runs a Lambda function with given payload. List Lambda Functions: Shows all functions in the account. Get Lambda Function: Retrieves details/configuration of a function. Delete a Function: Removes a Lambda function permanently. After each action, the agent calls Audit Logs (Google Sheets) to record the operation type, function name, timestamp, and outcome. The agent confirms destructive actions (like delete) before execution. How to set up Add a Chat Trigger node to start the workflow when a user sends a message. Connect it to the AWS Lambda Manager Agent node. Configure the agent with the provided system prompt to enforce rules and logging. Link the agent to the following tool nodes: Invoke Lambda Function List Lambda Functions Get Lambda Function Delete a Function Audit Logs (Google Sheets with appendOrUpdate enabled) Deploy the workflow and test it with sample chat commands like “list functions” or “invoke testFunction”. Requirements AWS account with IAM credentials that have lambda:ListFunctions, lambda:InvokeFunction, lambda:GetFunction, and lambda:DeleteFunction permissions. Google Sheets API connected for storing audit logs. Proper region and function names configured when invoking or deleting. n8n instance or automation platform that supports agent + tool integration. How to customize the workflow Add new tools**: Extend with more AWS Lambda operations like Update Function Code or Publish Version. Enhance logging**: Include user ID, request payload, or execution results in Audit Logs. Access control**: Restrict delete actions to admins by adding role-based logic. Multi-cloud support**: Extend the agent to handle Azure/AWS/GCP serverless functions in one workflow. Custom responses**: Modify agent prompt to tailor tone (developer-friendly vs. business-friendly).
by Vadym Nahornyi
> ⚠️ Multi-language Slack Error Notifier Track errors like a pro — this prebuilt Slack alert flow notifies you instantly when any workflow fails. ✅ No coding needed ✅ Works with any workflow via Error Workflow setting ✅ Step-by-step setup guides in: 🇬🇧 English 🇪🇸 Español 🇩🇪 Deutsch 🇫🇷 Français 🇷🇺 Русский Just plug it in, follow the quick setup, and never miss a failure again.
by WeblineIndia
📄 Zoho CRM Change Tracking & Automated Suspicious Activity Alerts Workflow This n8n workflow automatically monitors selected Zoho CRM modules for record changes, identifies suspicious modification patterns, logs all activity into a Google Sheet, generates an audit JSON file for each record and sends immediate email alerts for suspicious events. It runs incrementally using a time window so only recent changes are processed, keeping monitoring continuous and accurate. ⚡ Quick Start — “Implement in 5 Steps” Import the workflow JSON into n8n. Connect credentials: Zoho CRM OAuth2, Gmail OAuth2, Google Sheets. Update Google Sheet ID + recipient email if needed. Review modules being monitored (Leads, Contacts, Accounts, Deals). Activate the workflow — n8n begins tracking CRM changes instantly. What It Does This workflow acts as an automated security and audit layer for Zoho CRM. It fetches updated records from selected CRM modules within a calculated time window, extracts critical change details, and enriches them with timestamps, ownership, field change counts, and metadata. Based on defined rules, it identifies unusual or high-risk patterns such as deletions, ownership updates, email modifications or bulk field changes. Every record that is processed is output in two ways: Structured logging** into a Google Sheet (appended or updated). Binary JSON audit file** generated for robust audit storage. When suspicious patterns are detected, the workflow immediately generates a rich HTML email alert to your security team, ensuring fast response. The lastRun value is maintained to avoid duplicate processing. Who’s It For This workflow is ideal for: CRM Administrators** needing automated monitoring. Security Teams** tracking unauthorized modifications. Data Compliance Officers** requiring audit trails. Organizations with high CRM usage**, especially sales operations. Teams looking to automate change logs without manual review.** Prerequisites To run this workflow successfully, ensure you have: n8n instance** (cloud or self-hosted). Zoho CRM OAuth2 credentials** with access to modules & search APIs. Google Sheets OAuth2 credentials** + an existing sheet. Gmail OAuth2 credentials** for sending alerts. Correct timezone settings** in your CRM & workflow environment. Ability to edit function nodes if you need deeper customization. How to Use & Setup Step 1 — Import Workflow Upload the provided JSON file inside n8n. Step 2 — Connect Credentials Configure nodes: Zoho List Modules → Zoho OAuth2 Zoho Search (module) → Zoho OAuth2 Append or update row in sheet → Google Sheets Email Security Team → Gmail OAuth2 Step 3 — Setup Google Sheet Your sheet should contain at least these columns: Timestamp Record Id Module Field Changes Count Is Suspicious Company Name Email User Name Update the sheet ID in the node if needed. Step 4 — Validate Modules List By default, the workflow monitors: Leads Contacts Accounts Deals This is defined in two nodes: Modules list (from API) and Filter unsupported modules. Step 5 — Activate Workflow Once activated, it calculates a time window using: The last successful run (lastRun) Current timestamp A polling range of 5 minutes Only changes within this window are processed. How To Customize Nodes 1. Compute Time Window Modify polling time via pollMinutes = 5 if desired. The node stores lastRun so it never processes duplicate events. 2. Modules list (from API) Update the requiredModule array to include or remove CRM modules. 3. Suspicious Logic (as implemented) In Detect Unusual Patterns, a record is flagged suspicious if: The event contains "delete" Changed fields include: owner, assigned_to, owner_id email, contact_email role, is_admin, profile More than 10 fields were modified in one update Reasons are stored in suspicious_reasons A boolean flag suspicious = true/false These rules can be modified directly inside the function code. 4. Email Template Edit subject, HTML body, or recipients in the Email Security Team (Gmail) node. 5. Google Sheets Mapping Column mapping can be modified or extended directly in the Append or update row node. Add-Ons (Optional Enhancements) These Add-Ons align strictly with the workflow’s existing structure: ✔ Add more Zoho CRM modules Expand requiredModule arrays in two function nodes. ✔ Adjust suspicious detection rules Customize keywords, field names, or thresholds in Detect Unusual Patterns. ✔ Add more fields to the Google Sheet Extend mapping in the Google Sheets node. ✔ Change alert recipients or message style Modify the Gmail node’s HTML and toList fields. ✔ Increase audit retention by storing JSON files Forward binary audits to Drive, Dropbox, or S3 using an additional node. Use Case Examples This workflow can support several practical business scenarios: Unauthorized Access Monitoring Detects if users modify sensitive fields like email, owner, or permissions. Mass Data Manipulation Alerts Spot bulk changes where more than 10 fields were modified at once. Sales Pipeline Integrity Checks Track Deal or Lead ownership changes that may affect reporting accuracy. Contact Data Security Email changes in Contacts or Leads are flagged immediately. Audit Log Maintenance Creates JSON audit files + logs in Google Sheets for compliance. There can be many more use cases depending on your CRM setup and security policies. Troubleshooting Guide | Issue | Possible Cause | Solution | | ---------------------------------- | -------------------------------------- | ------------------------------------------------------ | | No data being captured | Zoho OAuth issue or wrong modules list | Reconnect OAuth & verify module API names | | Suspicious emails not sent | Gmail OAuth not connected | Re-authenticate Gmail credentials | | Duplicate rows in Google Sheet | Matching column misconfigured | Check “Record Id” mapping in Google Sheet node | | Workflow processes too few records | Time window too small | Increase pollMinutes in Compute from/to | | Missing fields in Google Sheet | Mapping not defined | Extend mapping under Sheets → Columns | | Audit file not generated | Binary property overwritten | Ensure no node clears binary data before file creation | | Workflow doesn’t resume continuity | lastRun not updating | Check Update lastRun node execution path | Need Help? If you need assistance customizing: Suspicious logic Module lists Google Sheet structure Email templates Or building more advanced CRM security automations The n8n Team at WeblineIndia can help extend, optimize or deploy this workflow professionally. Feel free to reach out for setup, enhancements or complete automation solutions.