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:
- Trigger (When): An event that starts the process (e.g., "When Row 5 is edited").
- Conditions (If): Logic checks that must be true for the automation to proceed (e.g., "If Column C equals 'Approved'").
- 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)
- Single Row:
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
- Single Column:
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
Example: "Column C equals 'Approved'"
Example: "Range Settings!B1 equals 'ON'"
Example: "Variable {{UserEmail}} contains '@company.com'"
Comparison Operators
🚀 Actions (Then do this...)
You can stack multiple actions in a single rule. They execute in order from top to bottom.
📧 Communication
- 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.
- Sends a message to a webhook URL.
- Payload: Includes row data and a custom message body.
📝 Data Management
Config: Map Column Letter to New Value (e.g., Set Col D to 'Processed').
Supports: Append to Bottom/Top, Insert Before/After. Data Mapping available.
🎨 Formatting & Organization
🌐 Advanced / Export
🧩 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 Emailto{{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
equalsDone - 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 than10000 AND StatusequalsClosed Won - Action:
SlackMessage: "🚨 Big Deal! {{UserEmail}} closed ${{D}} with client {{B}}."
4. Auto-Sort Data by Date
Goal: Keep schedule organized by sorting when a date changes.
5. Inventory Low Stock Alert
Goal: Alert via Teams when stock drops below 10.
6. Lock Approved Invoices
Goal: Prevent editing of rows marked "Approved".
7. Daily PDF Report
Goal: Generate PDF snapshot every morning at 8 AM.
8. CRM Timestamp
Goal: Record who edited a lead and when.
9. Sync to Master Sheet
Goal: Copy new rows from regional sheets to a Master sheet.
10. Hide Rejected Rows
Goal: Hide rejected applications instead of deleting them.