Product guide
Zeto Sheet Notification & Alerts
Build proactive checkpoints inside Google Sheets that monitor changes and immediately notify the right team via email, SMS, Slack, Discord, Google Chat, Microsoft Teams, Telegram, or custom webhooks—no code required.
How it works
Zeto rules follow a simple IF → THEN framework. Select a trigger, add conditions, and Zetomation will execute the actions every time the criteria are met.
Trigger
Choose the sheet tab that Zetomation should watch for edits, new rows, or form submissions.
Conditions
Define the IF logic. Combine column checks, range lookups, or dynamic variables to decide when alerts should run.
Actions
Select the destinations—Email, SMS, Slack, Discord, Google Chat, Teams, Telegram, or Webhooks—and craft the message to send when everything matches.
Step 1: Rule name & trigger
Give the rule a descriptive name (e.g., “Sales Target Reached”) and pick the sheet you want to monitor. Zetomation automatically listens for edits, inserts, and form submissions on that sheet—no extra event configuration required.
Step 2: Conditions (IF)
Add the filters that must be true before the notification fires. You can combine multiple conditions; all must pass (AND logic).
- Column letter – looks at the edited row (e.g., Status column equals “Done”).
- Specific cell – checks a static cell anywhere in the workbook.
- Range – scans any value inside a defined grid.
- Variable – compares dynamic placeholders such as {{UserEmail}} or {{Timestamp}}.
Step 3: Actions (THEN)
Stack one or more notifications. Mix email, SMS, chat messages, and HTTP webhooks to fan out updates when the rule hits.
Condition target types
Mix and match target inputs to capture the exact scenario you care about. All conditions use AND logic when combined.
| Target input | Description | Example use case |
|---|
| Column letter | Checks the specific cell in the row that was edited. | If column C (Status) changes to ‘Done’. |
| Specific cell | Evaluates an absolute cell regardless of where the edit happened. | If D5 (Grand Total) is greater than 1000. |
| Range | Looks for a match anywhere inside the range you provide. | If any cell in A1:B10 contains ‘Error’. |
| Variable | Compares dynamic placeholders such as {{UserEmail}}. | Run only when {{UserEmail}} equals admin@company.com. |
Comparison operators
Text
- Equals
- Contains
- Starts With
- Matches Regex
- One Of
“One Of” accepts comma-separated values such as Done, Approved, Final.
Numbers
- Greater Than
- Less Than
- Between
- Valid Number
Dates
Supports smart inputs like Today, Yesterday, or Tomorrow.
Notification channels
Chain multiple actions if needed—for example, email leadership, send an SMS, and ping a Slack channel at the same time.
Email
Send a rich-text notification with subject, body, and optional recipients in CC/BCC.
Send SMS
Send SMS notifications through Twilio or ClickSend using provider credentials and dynamic message text.
Slack / Discord / Google Chat / Teams / Telegram
Post structured messages to webhook URLs or bot destinations for real-time chat alerts.
Call Webhook
Deliver raw JSON payloads to Zapier, Make, or your own APIs.
Configure channel destinations
For chat, SMS, and webhook actions, first create the destination or API credential in the external platform. Then paste the URL, token, or account details into the matching Zetomation action and test with a sample record.
Send SMS
Choose Twilio or ClickSend in the Service field, add the provider credentials, then map the recipient number and message body.
Required fields
- Service: Select Twilio or ClickSend from the dropdown.
- Twilio: Account SID and Auth Token: Open the Twilio Console dashboard and copy the Account SID and Auth Token for the project that owns your sending number.
- ClickSend: User Name and API Key: Open ClickSend account settings or API credentials, then copy the username and API key for the account that will send SMS.
- To: Enter the destination phone number, including country code. You can also use dynamic variables such as {{Header:Phone}}.
- From: Enter your Twilio number, ClickSend sender number, or approved sender ID supported by your provider and country.
- Message: Write the SMS body. Keep it short, and use variables such as {{TriggerRow}}, {{A}}, or {{Header:Status}} for context.
Slack
Create or open a Slack app, enable Incoming Webhooks, choose the destination channel, copy the webhook URL, and paste it into the Slack action.
Required fields
- Webhook URL: In Slack, enable Incoming Webhooks for your app, add a new webhook to the target channel, and copy the generated hooks.slack.com URL.
- Message: Write the channel message. Add variables such as {{TriggerRow}}, {{EditValue}}, {{A}}, or {{Header:Owner}} to include workflow data.
Discord
Create a webhook for the Discord channel, copy the webhook URL, and use it in the Discord action with your message template.
Required fields
- Webhook URL: In Discord, open the channel settings, go to Integrations > Webhooks, create or select a webhook, and copy its URL.
- Message: Write the Discord message. Use variables such as {{TriggerRow}}, {{EditValue}}, or {{Header:Status}} to include workflow values.
Google Chat
Register an incoming webhook in the Google Chat space, copy the generated URL, and paste it into the Google Chat action.
Required fields
- Webhook URL: In the Google Chat space, add or manage webhooks, then copy the URL that starts with https://chat.googleapis.com/v1/spaces/.
- Message: Write the Chat message. Variables are supported, for example {{A}}, {{Header:Status}}, and {{TriggerRow}}.
Microsoft Teams
Use Teams Workflows or an incoming webhook for the target channel or chat, copy the webhook URL, and configure the Teams action with that URL.
Required fields
- Webhook URL: Create an incoming webhook or Teams workflow for the destination channel, then copy the generated webhook URL.
- Message: Write the Teams message. Include variables such as {{TriggerRow}}, {{Header:Priority}}, or {{Sheet1!A1}} for live context.
Telegram
Create a bot with BotFather, save the bot token, send a message to the bot or add it to a group, then use getUpdates to find the chat ID for the Telegram action.
Required fields
- Bot Token: In Telegram, message BotFather, create a bot with /newbot, and copy the token BotFather returns.
- Chat ID: Send a test message to the bot or group, call getUpdates with the bot token, and copy the chat.id value. Public channels can also use @channelusername.
- Message: Write the Telegram message. Variables such as {{A}}, {{Header:Status}}, and {{TriggerRow}} are supported.
Call Webhook
Select the target URL and JSON message body. Use dynamic variables to include form answers, row values, trigger metadata, and formatted status text.
Required fields
- Webhook URL: Paste the endpoint URL from the destination app or API. For testing, create a temporary URL in Webhook.site and inspect the request payload there.
- Message: Enter the JSON body or message payload. Include variables such as {{TriggerRow}}, {{EditValue}}, {{Header:Status}}, or {{Sheet1!A1}}.
Dynamic variables
Personalize messages with live data pulled from the triggering row or other cells. Use them in conditions, subjects, body copy, and webhook payloads.
Event variables
| {{TriggerRow}} | Row number where the edit or change occurred. |
| {{EditValue}} | The latest value entered into the cell. |
| {{UserEmail}} | Email address of the user who triggered the rule. |
| {{Timestamp}} | Exact date and time the rule executed. |
Data variables
| {{Sheet1!A1}} | Value from a specific cell using A1 notation. |
| {{Header:Status}} | Looks for “Status” in row 1 and returns the value from that column for the triggering row. |
Example scenarios
These blueprints demonstrate how to combine triggers, conditions, and variables for common operations use cases.
Notify sales when a deal closes
- Trigger: Sheet = Sales_Data
- Conditions: Status (column C) equals Closed Won AND Amount (column E) is greater than 5000
- Action: Send email to manager@zeto.com with contextual details such as {{Header:Amount}} and {{TriggerRow}}
Monitor inventory levels
- Trigger: Sheet = Inventory
- Condition: Range Q1:Q100 is less than 10
- Action: Send Slack message warning that stock is critical
Admin-only configuration alerts
- Trigger: Sheet = Configuration
- Conditions: {{UserEmail}} contains @admin.com AND column B equals Critical Change
- Action: Send email explaining a critical update just occurred
FAQ & troubleshooting
I set up a rule but didn't get an email. What should I check?
- Look in your spam folder—first-time alerts can land there.
- Confirm the condition logic and capitalization match exactly (e.g., Done ≠ done).
- If the rule depends on formulas, make sure the calculation finishes before the trigger fires.
Can I monitor multiple sheets?
- Yes. Create separate rules for each tab. Zetomation manages triggers independently per sheet.
Is there a limit to how many automations I can create?
- Google enforces a limit of 20 active triggers per user across all spreadsheets. Zetomation will alert you if you reach it.
How do I obtain external channel credentials or webhook URLs?
- Slack, Discord, Google Chat, and Teams provide webhook URLs from their channel or app integration settings.
- Telegram requires a BotFather bot token and a chat ID from getUpdates or a public @channelusername.
- SMS actions require Twilio Account SID/Auth Token or ClickSend User Name/API Key.
- Paste the generated URL, token, or credentials into the matching Zetomation action configuration.
Need help?
Our team can assist with complex logic, webhook payloads, or Workspace-wide deployments.Contact support to start the conversation.