🔔 THOAlerts Documentation

Complete guide to setting up smart notifications for Google Sheets

Version 1.0 Pro (2025)

📖 Overview

THOAlerts is a powerful Google Sheets add-on that automatically sends notifications when your spreadsheet data meets specific conditions. Whether you’re tracking sales targets, monitoring inventory levels, managing tasks, or watching for form submissions, THOAlerts keeps you informed in real-time.

💡 Perfect for: Project managers, sales teams, data analysts, form administrators, inventory managers, and anyone who needs automated spreadsheet alerts.

What Can THOAlerts Do?

📧

10 Notification Channels

Send alerts via Email, Discord, Slack, Microsoft Teams, Google Chat, Telegram, Larksuite, Zapier, n8n, and Make

🎯

25 Smart Conditions

Text matching, CSV list matching, regex, number ranges, date operators, and complex AND/OR logic

Dynamic Recipients

Send notifications to email addresses stored in cells – perfect for task assignments

🎨

Rich Formatting

Support for HTML and Markdown in notifications with bold, italic, and links

🔄

First-match Mode

Send notification only once per value change to prevent spam

📊

Row Data Access

Include entire row data or specific columns using {ROW_JSON}, {ROW_CSV} variables

🚀 Getting Started

Installation

1

Install from Google Workspace Marketplace

Open Google Sheets and go to Extensions → Add-ons → Get add-ons. Search for “THOAlerts” and click Install.

2

Grant Permissions

When prompted, click Continue and select your Google account. Review the permissions and click Allow.

🔒 Why permissions? THOAlerts needs access to read your spreadsheet data, send emails, and make external requests to webhooks. Your data is never stored or shared.
3

Setup Trigger

After installation, click THO Alerts menu → Setup Trigger (Required). This creates an installable trigger that monitors your spreadsheet for changes.

4

Create Your First Rule

Click THO Alerts menu → Create Rule to open the rule manager and start setting up your first notification.

✅ You’re ready! Your add-on is now active and monitoring your spreadsheet. Let’s create your first notification rule.

📡 Notification Channels

THOAlerts supports 7 notification channels. Here’s how to set up each one:

1. 📧 Email (FREE)

How to use: Enter email address directly in the Recipient field.

Recipient: john@example.com

Multiple recipients: Separate with commas

Recipient: john@example.com, jane@example.com
⚠️ Email Limits: Gmail has a daily quota of ~100 emails for free accounts, ~1,500 for Google Workspace. If you exceed this, use webhooks instead.

2. 💬 Discord (FREE)

How to get webhook URL:

  1. Open your Discord server
  2. Go to Server Settings → Integrations → Webhooks
  3. Click New Webhook
  4. Choose channel and name (e.g., “THOAlerts”)
  5. Click Copy Webhook URL
Recipient: https://discord.com/api/webhooks/123456789/ABCDEF...

📚 Official Guide: Discord Webhooks Documentation

3. 📱 Slack PRO

How to get webhook URL:

  1. Go to api.slack.com/apps
  2. Click Create New App → From scratch
  3. Name it “THOAlerts” and select your workspace
  4. Go to Incoming Webhooks → Toggle ON
  5. Click Add New Webhook to Workspace
  6. Select channel and click Allow
  7. Copy the Webhook URL
Recipient: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXX

📚 Official Guide: Slack Incoming Webhooks

4. 🚀 Microsoft Teams PRO

How to get webhook URL:

  1. Open Microsoft Teams
  2. Go to your desired channel
  3. Click ⋯ (More options)Connectors
  4. Search for Incoming Webhook → Click Configure
  5. Name it “THOAlerts” and upload an icon (optional)
  6. Click Create and copy the URL
Recipient: https://outlook.office.com/webhook/XXXXX...

📚 Official Guide: Teams Incoming Webhooks

5. 🗨️ Google Chat PRO

How to get webhook URL:

  1. Open Google Chat
  2. Go to the space where you want notifications
  3. Click space name → Manage webhooks
  4. Click Add webhook
  5. Name it “THOAlerts” and optionally add avatar
  6. Click Save and copy the Webhook URL
Recipient: https://chat.googleapis.com/v1/spaces/AAAA/messages?key=XXX...

📚 Official Guide: Google Chat Webhooks

6. ✈️ Telegram PRO

How to setup:

  1. Open Telegram and search for @BotFather
  2. Send command /newbot
  3. Follow instructions to name your bot
  4. Copy the Bot Token (looks like 123456:ABC-DEF...)
  5. Add your bot to a channel/group or start a private chat
  6. Get your Chat ID using @userinfobot or @RawDataBot
  7. Format: BOT_TOKEN/CHAT_ID
Recipient: 123456789:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw/987654321

📚 Official Guide: Telegram Bot API

7. 🦜 Larksuite/Feishu PRO

How to get webhook URL:

  1. Open Larksuite and go to your group chat
  2. Click group settings → Bots
  3. Click Add BotCustom Bot
  4. Name it “THOAlerts” and add description
  5. Copy the Webhook URL
  6. Click Finished
Recipient: https://open.larksuite.com/open-apis/bot/v2/hook/XXXXXXXX

📚 Official Guide: Larksuite Custom Bots

8. ⚡ Zapier PRO

How to get webhook URL:

  1. Go to zapier.com and create account
  2. Create a new Zap
  3. Set trigger to Webhooks by ZapierCatch Hook
  4. Copy the Webhook URL provided
  5. Paste into THOAlerts Recipient field
  6. Continue building your Zap workflow
Recipient: https://hooks.zapier.com/hooks/catch/123456/abcdef/
⚠️ Payload Format: Zapier receives JSON payload with keys: cell, value, sheet, user, time, row, url. Map these in your Zap workflow.

📚 Official Guide: Zapier Webhooks Documentation

9. 🔧 Make (Integromat) PRO

How to get webhook URL:

  1. Go to make.com (formerly Integromat)
  2. Create a new Scenario
  3. Add Webhooks module → Custom webhook
  4. Click Add to create new webhook
  5. Copy the Webhook URL
  6. Paste into THOAlerts and trigger once to register
Recipient: https://hook.us1.make.com/abc123xyz...

⚠️ Regional URLs: Make uses regional endpoints:

  • US: hook.us1.make.com ✅ Supported
  • EU: hook.eu1.make.com ✅ Supported
  • Legacy: hook.integromat.com ✅ Supported (add to whitelist first)

📚 Official Guide: Make Webhooks Documentation

10. 🤖 n8n PRO

How to get webhook URL (Cloud only):

  1. Open your n8n Cloud instance at app.n8n.cloud
  2. Create a new Workflow
  3. Add Webhook node as trigger
  4. Set HTTP Method to POST
  5. Copy the Production URL (not Test URL)
  6. Activate workflow before testing
Recipient: https://your-workflow.app.n8n.cloud/webhook/abc123...
⚠️ Cloud Only: THOAlerts supports n8n Cloud instances only (*.app.n8n.cloud and *.hooks.n8n.cloud). Self-hosted n8n installations are not supported due to Google’s URL whitelist restrictions. Contact support@thodigitals.com for enterprise custom domain whitelisting.

📚 Official Guide: n8n Webhook Node Documentation

🎯 Available Conditions

FREE: 6 Basic Conditions

Condition Description Example
is_empty Cell contains no data Alert when cell cleared
is_not_empty Cell has any value Form submission alerts
text_contains Contains specific text Value: Done
text_equals Exactly matches text Value: Approved
valid_number Cell is valid number Data validation check
not_valid_number Cell is NOT a number Error detection

PRO: 25 Advanced Conditions PRO

Includes all FREE conditions plus 19 advanced operators:

📝 Advanced Text Operators

  • text_not_contains – Does not contain text
  • text_starts_with – Begins with text (e.g., “INV-“)
  • text_ends_with – Ends with text (e.g., “.pdf”)

🔥 CSV List Matching (KILLER FEATURE)

  • one_of – Value is in list: Done,Completed,Finished
  • not_one_of – Value NOT in list: Pending,Draft,Review

🔢 Number Operators

  • equals – Exactly matches number
  • not_equals – Not equal to number
  • greater_than – Larger than (>)
  • greater_equal – Greater or equal (>=)
  • less_than – Smaller than (<)
  • less_equal – Less or equal (<=)
  • between – In range (100-500)
  • not_between – Outside range

📅 Date Operators

  • date_is – Exactly matches date
  • date_before – Date is earlier
  • date_after – Date is later

Date keywords: TODAY, TOMORROW, YESTERDAY, TODAY+7, TODAY-30

🔥 Regex & Validators (KILLER FEATURES)

  • matches_regex – Pattern matching (e.g., ^INV-d{6}$)
  • is_valid_email – Email format validation
  • is_valid_url – URL format validation

⚡ Advanced Features PRO

Dynamic Recipients NEW 2025

Send notifications to email addresses stored in cells – perfect for task assignments, client follow-ups, and team collaboration!

Method 1: Simple Cell Reference

Use {B} or {C2} in the Recipient field:

Recipient: {B}
# Sends to email in column B of the triggered row

Method 2: Excel-Style Formula

Use formulas like VLOOKUP or IF for complex logic:

Recipient: =IF(D2="High Priority",{B},{C})
# Send to manager (B) if high priority, else team lead (C)

Recipient: =VLOOKUP(A2,Contacts!A:B,2,FALSE)
# Lookup email from another sheet

💡 Real Example: Your task tracker has columns: A=Task Name, B=Assignee Email, C=Manager Email, D=Priority. When cell D5 changes to “Urgent”:

  • Recipient: {B} → Sends to assignee’s email in B5
  • Recipient: =IF(D5="Urgent",{C},{B}) → Sends to manager if urgent, else assignee

⚠️ Troubleshooting Dynamic Recipients

  • Not working? Make sure cell contains valid email format (name@domain.com)
  • Empty cell? Notification will be skipped – no error message
  • Formula error? Check syntax in Google Sheets first before using in THOAlerts

First-match vs Each-match Mode NEW 2025

Control notification frequency to prevent spam:

Mode Behavior Best For
Each match Sends every time value changes and matches condition Real-time updates, form submissions
First match only Sends once when condition first matches, then stops until value changes Milestone alerts, threshold warnings

Row Data Variables NEW 2025

Access entire row data or specific columns in your message template:

Variable Description Example Output
{A}, {B} Column value from triggered row Task Name
{A1}, {B2} Absolute cell reference Company Name
{ROW_JSON} Entire row as JSON (for webhooks) {“A”:”Task”,”B”:”John”}
{ROW_CSV} Entire row as CSV Task,John,Done,2025-01-15
📋 Task: {A}
👤 Assigned to: {B}
📅 Deadline: {D}
🔗 View: {URL}

HTML/Markdown Formatting NEW 2025

Format Supported Channels Example
Plain Text All channels Simple text only
HTML Email, Telegram, Teams <b>Bold</b> <i>Italic</i>
Markdown Slack, Discord, Google Chat, Teams **Bold** *Italic*

AND/OR Logic PRO

Combine multiple conditions with flexible logic:

  • AND Logic: All conditions must be true (strict matching)
  • OR Logic: At least one condition must be true (flexible matching)
  • Unlimited conditions: Add as many rules as needed

💡 Example: Hot Lead Detection

Notify sales team when lead score > 80 AND status = “New”:

  • Condition 1: greater_than 80
  • Condition 2: text_equals “New”
  • Logic: AND

    💡 Real-World Examples

    📝 Example 1: Google Form Auto-Response

    Goal: Send instant confirmation email to form respondents

    Perfect for: Event registration, customer inquiries, job applications

    • Sheet: Form Responses 1
    • Range: A2:A (Timestamp column)
    • Channel: Email (FREE)
    • Recipient: {C} (Email column)
    • Message: Hi {B}, thanks for submitting! We'll contact you within 24h.
    • Condition: is_not_empty

    🛒 Example 2: E-commerce Low Stock Alert PRO

    Goal: Alert inventory team when products need restocking

    Perfect for: Online stores, Shopify sellers, dropshippers

    • Sheet: Inventory
    • Range: D2:D (Stock Quantity)
    • Channel: Slack or Discord
    • Message: ⚠️ LOW STOCK! Product: {B} | Current: {VALUE} units | SKU: {A}
    • Conditions (AND logic):
      • less_than 10
      • not_one_of: “Discontinued,Out of Season”
    • Mode: First match only (prevent spam)

    💰 Example 3: Freelancer Invoice Tracker PRO

    Goal: Get notified when invoices are overdue

    Perfect for: Freelancers, consultants, small agencies

    Spreadsheet: A=Invoice#, B=Client, C=Amount, D=Due Date, E=Status

    • Range: E2:E (Status column)
    • Channel: Email + Discord
    • Message: 💸 Invoice {A} OVERDUE! Client: {B} | Amount: ${C} | Due: {D}
    • Conditions (AND logic):
      • text_equals “Unpaid”
      • date_before TODAY

    👥 Example 4: Team Task Assignment PRO

    Goal: Auto-notify team members when assigned new tasks

    Perfect for: Project managers, agile teams, remote workers

    Spreadsheet: A=Task, B=Assignee Email, C=Status, D=Priority, E=Deadline

    • Range: C2:C (Status column)
    • Recipient: {B} (Dynamic email from Assignee column)
    • Message: 📋 New Task: {A} | Priority: {D} | Deadline: {E}
    • Condition: one_of: “Assigned,In Progress,Review”

    📊 Example 5: Personal Budget Alert

    Goal: Get warned when monthly spending exceeds budget

    Perfect for: Personal finance tracking, family budgets

    • Sheet: Monthly Expenses
    • Range: F2 (Total Spent cell)
    • Channel: Discord (FREE) or Email
    • Message: ⚠️ Budget Alert! Spent ${VALUE} this month. Budget: $3000
    • Condition: greater_than 3000
    • Mode: First match only

    🔥 Example 6: Sales Hot Lead Alert PRO

    Goal: Instantly notify sales team of high-value, qualified leads

    Perfect for: Sales teams, CRM tracking, lead scoring systems

    Spreadsheet: A=Lead Name, B=Email, C=Lead Score, D=Status, E=Budget

    • Range: C2:C (Lead Score column)
    • Channel: Microsoft Teams (PRO)
    • Message: 🔥 HOT LEAD! {A} | Score: {C} | Budget: {E} | Contact: {B}
    • Conditions (AND logic):
      • greater_than 80 (high score)
      • text_equals “Qualified” (verified status)

    ❓ Frequently Asked Questions

    Q: Why am I not receiving notifications?

    Common solutions:

    1. Check trigger status: Menu THO Alerts → Check Status
    2. Setup trigger: If trigger is missing, go to THO Alerts → Setup Trigger (Required) and authorize permissions
    3. Verify condition: Test with simple rule first (e.g., “is_not_empty”)
    4. Check email spam folder for email notifications
    5. Verify webhook URLs: Must start with https://
    6. Check monthly limit: Free tier: 550/month | Pro: 50,000/month
    7. Test your rule: Click “Test” button on any existing rule to send a test notification

    Q: How many notifications can I send per month?

    Free version: 550 notifications/month
    Pro version: 50,000 notifications/month (90x more!)

    Check your usage: THO Alerts menu → Usage Stats
    Daily limit: Free: 100/day | Pro: 10,000/day

    Q: Do notifications work when I’m offline?

    Yes! Notifications trigger automatically when the spreadsheet is edited, even if you’re not online. The trigger runs on Google’s servers, not on your device.

    Q: How do I upgrade to Pro?

    Step 1: Click THO Alerts menu → Upgrade to Pro
    Step 2: Complete payment ($99 one-time, lifetime license)
    Step 3: Receive license key via email within 5 minutes
    Step 4: Activate: THO Alerts → Activate License, paste your key, and click activate

    ✓ Instant activation | ✓ No monthly fees | ✓ Lifetime updates

    Q: Does THO Alerts work with Google Forms?

    Absolutely! Perfect for instant form response alerts.

    Setup:
    1. Open your Google Form
    2. Go to Responses → View in Sheets (creates linked spreadsheet)
    3. Install THO Alerts add-on in that spreadsheet
    4. Create rule with condition is_not_empty on any column
    5. Done! Get notified instantly when new responses arrive

    Q: Can I test rules before they go live?

    Yes! Two ways to test:

    Method 1: Click “Test Connection” button when creating/editing a rule to verify your recipient/webhook works

    Method 2: After saving a rule, go to Manage Rules tab and click “Test” button to send a real test notification with sample data

    Q: What’s the difference between “Each match” and “First match” mode?

    Each match (default): Send notification every time the cell value changes and matches your condition

    First match: Send notification only ONCE when the cell first matches, then stop until the value changes. Perfect for preventing spam from repeated edits.

    Example: Status column changes “Pending” → “Approved” → “Approved” (edited again)
    • Each match: 2 notifications
    • First match: 1 notification only

    Q: How do I view notification history?

    In Manage Rules tab, click the “History” button on any rule to see:
    • All sent notifications (success/error status)
    • Timestamp of each alert
    • Cell reference and value that triggered it
    • Error messages if delivery failed

    📝 Logs are kept for the last 500 notifications per rule

    Q: What channels are supported?

    Free version: Email, Discord (2 channels)

    Pro version (10 channels):
    ✓ Email
    ✓ Slack
    ✓ Discord
    ✓ Microsoft Teams
    ✓ Google Chat
    ✓ Telegram
    ✓ Lark Suite
    ✓ Zapier (connect to 5,000+ apps)
    ✓ Make (Integromat)
    ✓ n8n (self-hosted automation)

    💬 Need Help?

    We’re here to support you!

    📧

    Email Support

    support@thodigitals.com

    🌐

    Website

    thodigitals.com

    🚀 Upgrade to Pro – $99 Lifetime

    THOAlerts – Smart Notifications for Google Sheets

    Version 1.0 Pro (2026) | Made with ❤️ by ThoDigitals

    © 2026 ThoDigitals. All rights reserved.