Zeto Sheet Automation: User Guide

Welcome to Zeto Sheet Automation, the enterprise-grade workflow engine for Google Sheets. This add-on allows you to build powerful "If This, Then That" automations directly inside your spreadsheets without writing a single line of code.

🏗️ Core Concepts

Every automation rule consists of three parts:

  1. Trigger (When): An event that starts the process (e.g., "When Row 5 is edited").
  2. Conditions (If): Logic checks that must be true for the automation to proceed (e.g., "If Column C equals 'Approved'").
  3. Actions (Then): The tasks performed if conditions are met (e.g., "Send an email to the manager").

⚡ Triggers (When this happens...)

The trigger determines when the automation engine wakes up. You can scope most triggers to a specific Worksheet (tab) or apply them globally.

1. Specific Row Updated

Runs when any cell within a specific row or set of rows is edited.

  • Notation Examples:
    • Single Row: 5
    • Range of Rows: 1-10 (Rows 1 through 10)
    • List of Rows: 1, 3, 5 (Rows 1, 3, and 5 only)

2. Specific Column Updated

Runs when any cell within a specific column is edited. Useful for tracking status changes.

  • Notation Examples:
    • Single Column: A
    • Range of Columns: A-C (Columns A, B, and C)
    • List of Columns: A, D, F

3. Specific Range Updated

Runs only when an edit occurs within a specific block of cells.

  • Notation: Use standard A1 notation, e.g., A1:C10.

4. On Sheet Updated

Runs on any edit made anywhere in the selected worksheet. Useful for audit logs.

5. On New Row Added

Runs when a new row is inserted into the sheet.

Use Case: Triggers when a user manually inserts a row or when a script/integration appends data.

6. Google Form Response Received

Runs immediately after a Google Form linked to the spreadsheet receives a new submission.

7. Form (3rd-party) Response

Runs when data is pushed to the sheet from external tools like Zapier, Make, or Typeform.

8. Scheduled Time

Runs an automation automatically at specific intervals, regardless of user activity.

  • Frequency: Hourly, Daily, Weekly, Monthly.
  • Time: Select the specific hour (local time) for the run.

🔍 Conditions (Logic checks...)

Conditions act as a filter. If you add multiple conditions, ALL of them must be true (AND logic) for the actions to execute.

Condition Types

Column: Checks the value of a specific column in the row that triggered the event.
Example: "Column C equals 'Approved'"
Range: Checks the value of a specific static cell (e.g., a master switch).
Example: "Range Settings!B1 equals 'ON'"
Variable: Compares dynamic system values.
Example: "Variable {{UserEmail}} contains '@company.com'"

Comparison Operators

equals
does not equal
contains
does not contain
starts with
ends with
is empty
is not empty
regex matches
is greater than
is less than

🚀 Actions (Then do this...)

You can stack multiple actions in a single rule. They execute in order from top to bottom.

📧 Communication

Send Email
  • Fields: To, CC, BCC, Subject, Body.
  • Features: Supports HTML body and dynamic variables (e.g., Hello {{Name}}).
  • Attachments: Option to attach the triggering row or sheet as PDF.
Slack / Discord / Teams
  • Sends a message to a webhook URL.
  • Payload: Includes row data and a custom message body.

📝 Data Management

Update Row: Modifies cells in the triggering row.
Config: Map Column Letter to New Value (e.g., Set Col D to 'Processed').
Create Row: Inserts a new row in a target sheet.
Supports: Append to Bottom/Top, Insert Before/After. Data Mapping available.
Copy Row: Copies the entire triggering row to a destination sheet.
Delete Row: Permanently removes the triggering row.

🎨 Formatting & Organization

Format Row: Changes the Text Color or Background Color of the triggering row.
Hide / Protect Row: Hide rows from view or Lock them so only the owner can edit.
Sort Sheet: Automatically sorts a sheet or specific range by a column (A-Z or Z-A).

🌐 Advanced / Export

Call Webhook / HTTP Request: Sends JSON payload of row data to external APIs.
Export Row: Generates a PDF or HTML file of the specific row data and saves it to Google Drive.

🧩 Dynamic Variables (Aliases)

Use these variables in Email Bodies, Subjects, Messages, and Values to insert dynamic data.

Variable Description
{{TriggerRow}}The row number where the edit occurred (e.g., 5).
{{TriggerSheet}}The name of the active sheet (e.g., Sales).
{{A}}, {{B}}Value of that column in the current triggering row.
{{Header:Status}}Intelligent Lookup. Finds "Status" in Row 1 and gets the value for the current row.
{{UserEmail}}The email address of the user who made the edit.
{{EditValue}}The new value typed into the cell.
{{OldValue}}The value of the cell before the edit.
{{Timestamp}}Current date and time (ISO format).
{{Sheet1!A1}}Absolute reference. Gets the value of cell A1 from Sheet1.

💡 10 Real-World Automation Recipes

1. Auto-Response Email on Form Submit

Goal: Automatically email a customer as soon as they submit a Google Form.

  • Trigger: Google Form Response Received
  • Action: Send Email to {{C}} with subject "We received your request!"

2. Move Completed Tasks to Archive

Goal: Move finished tasks to an archive sheet and remove them from the active list.

  • Trigger: Specific Column Updated (e.g., Col E)
  • Condition: Column E equals Done
  • Actions: Copy Row (to Archive) + Delete Row

3. Slack Notification for High-Value Sales

Goal: Notify sales team in Slack when a deal > $10,000 is closed.

  • Condition: Column D is greater than 10000 AND Status equals Closed Won
  • Action: Slack Message: "🚨 Big Deal! {{UserEmail}} closed ${{D}} with client {{B}}."

4. Auto-Sort Data by Date

Goal: Keep schedule organized by sorting when a date changes.

Action: Sort Sheet by Column A (A->Z).

5. Inventory Low Stock Alert

Goal: Alert via Teams when stock drops below 10.

Condition: Col D < 10 → Teams + Red Format.

6. Lock Approved Invoices

Goal: Prevent editing of rows marked "Approved".

Action: Protect Row + Format Green.

7. Daily PDF Report

Goal: Generate PDF snapshot every morning at 8 AM.

Trigger: Scheduled Time (08:00) → Export PDF.

8. CRM Timestamp

Goal: Record who edited a lead and when.

Action: Update Row Col Z={{Timestamp}}, Col AA={{UserEmail}}.

9. Sync to Master Sheet

Goal: Copy new rows from regional sheets to a Master sheet.

Action: Create Row in 'Master' with mapped values.

10. Hide Rejected Rows

Goal: Hide rejected applications instead of deleting them.

Action: Hide Row.