ExploraBI Automation Reference — Complete Guide to Core Features
Core Features Reference
This document provides comprehensive technical documentation for all triggers, actions, and conditions available in the ExploraBI Automation system.
Table of Contents
Triggers
Triggers define when your automations execute. Every automation requires exactly one trigger.
Sheet Change Trigger 📝
Responds to modifications in your spreadsheet in real-time.
Configuration Fields:
Field | Description | Options/Examples |
---|---|---|
Sheet Name | Target sheet to monitor | Leave empty for current sheet, or select specific sheet |
Cell Range | Specific range to monitor | A:A , B2:D10 , A1:Z100 , or leave empty for entire sheet |
Change Type | Types of changes to detect | Any change, Cell edited, Row/column inserted |
Range Specifications:
- Full Column:
A:A
monitors entire column A - Full Row:
1:1
monitors entire row 1 - Specific Range:
A1:C10
monitors only that rectangular area - Multiple Columns:
A:D
monitors columns A through D - Empty Field: Monitors the entire sheet
When to Use:
- Monitor form submissions or data entry
- Track status changes in specific columns
- Respond to data updates in real-time
- Validate or process new information
Schedule Trigger ⏰
Executes automations on a time-based schedule.
Configuration Fields:
Field | Description | Options |
---|---|---|
Frequency | How often to run | Every Hour, Daily, Weekly, Monthly |
Time | Hour of day to execute | 12:00 AM through 11:00 PM (hourly shown) |
Day of Week | For weekly frequency | Monday through Sunday |
Day of Month | For monthly frequency | 1st through 28th of month |
Frequency Details:
- Every Hour: Runs every hour on the hour
- Daily: Runs once per day at specified time
- Weekly: Runs once per week on specified day and time
- Monthly: Runs once per month on specified day and time
Time Zone: All times are in your Google account’s time zone.
When to Use:
- Generate daily, weekly, or monthly reports
- Clean up old data periodically
- Send scheduled notifications
- Perform regular data backups
Actions
Actions define what happens when a trigger fires. Automations can have multiple actions that execute in sequence.
Update Cell ✏️
Modifies the value of a specific cell.
Configuration Fields:
Field | Description | Examples |
---|---|---|
Sheet Name | Target sheet | Select from dropdown or leave empty for current sheet |
Cell Reference | Target cell location | A1 , B{{row_number}} , C5 |
New Value | Value to insert | Static text, formulas, or dynamic placeholders |
Cell Reference Options:
- Static:
A1
always targets that exact cell - Dynamic:
B{{row_number}}
targets column B in the edited row - Cross-sheet: Works when sheet name is specified
Value Types:
- Static Text: Any text like “Completed” or “High Priority”
- Formulas: Spreadsheet formulas like
=TODAY()
or=SUM(A1:A10)
- Dynamic Values: Placeholders like
{{NOW}}
or{{EDITED_VALUE}}
- Combined: Mixed content like “Updated on {{NOW}} by {{editing_user}}”
Common Use Cases:
- Add timestamps when data is entered
- Update status fields automatically
- Calculate derived values
- Cross-reference data between sheets
Add Row ➕
Inserts a new row with specified data into a target sheet.
Configuration Fields:
Field | Description | Details |
---|---|---|
Sheet Name | Destination sheet | Select target sheet from dropdown |
Row Data | Values for new row | Comma-separated values for each column |
Position | Where to insert | End of sheet or After header row |
Row Data Format:
- Comma-separated values:
Value1, Value2, Value3
- Mixed content: Combine static text, formulas, and placeholders
- Empty cells: Leave blank between commas for empty cells
Insert Positions:
- End of sheet: Appends to the last row with data
- After header row: Inserts at row 2, pushing existing data down
Common Use Cases:
- Log activities and changes
- Archive completed items
- Create audit trails
- Generate summary reports
Copy Data 📋
Copies data from one range to another location.
Configuration Fields:
Field | Description | Examples |
---|---|---|
Source Range | Range to copy from | A1:C10 , A{{row_number}}:D{{row_number}} |
Source Sheet | Source sheet name | Leave empty for current sheet |
Destination Range | Where to paste | A1 , A:D , or range specification |
Destination Sheet | Target sheet | Select destination sheet |
Range Specifications:
- Static Range:
A1:C10
copies that exact area - Dynamic Range:
A{{row_number}}:C{{row_number}}
copies the edited row - Full Columns:
A:C
copies entire columns - Single Cell:
A1
as destination will paste starting there
Common Use Cases:
- Archive completed tasks to another sheet
- Create data backups
- Consolidate information
- Duplicate important records
Delete Row 🗑️
Removes rows based on specified criteria with safety controls.
Configuration Fields:
Field | Description | Options |
---|---|---|
Sheet Name | Target sheet | Select sheet to delete from |
Delete Mode | How to select rows | Specific row number, Rows matching condition |
Row Number | Specific row to delete | Enter row number (for specific mode) |
Condition Column | Column to evaluate | Column letter (A, B, C, etc.) |
Operator | Comparison type | Equals, Not equals, Contains, Is empty |
Value | Value to match | Text to compare against |
Delete Modes:
- Specific row number: Deletes exactly one numbered row
- Rows matching condition: Deletes all rows where condition is true
Safety Features:
- Limited to 100 rows maximum per execution
- Requires confirmation for bulk operations
- Cannot be undone - deleted data is permanently lost
⚠️ Important: Always test deletion automations with sample data first.
Common Use Cases:
- Clean up old completed tasks
- Remove archived records
- Data maintenance and cleanup
- Automated housekeeping
Hide Row 👁️
Hides or unhides rows based on conditions while preserving the data.
Configuration Fields:
Field | Description | Options |
---|---|---|
Sheet Name | Target sheet | Select sheet to modify |
Hide Mode | Row selection method | Specific row number, Rows matching condition |
Action | Hide or unhide | Hide rows, Unhide rows |
Row Number | Specific row | Enter row number (for specific mode) |
Condition Column | Column to evaluate | Column letter (A, B, C, etc.) |
Operator | Comparison type | Equals, Not equals, Contains, Is empty |
Value | Value to match | Text to compare against |
Actions:
- Hide rows: Makes rows invisible but preserves data
- Unhide rows: Makes hidden rows visible again
Common Use Cases:
- Hide completed tasks while keeping records
- Organize data presentation
- Create filtered views
- Manage data visibility
Sort Sheet 🔽
Sorts data in ascending or descending order with multi-level sorting.
Configuration Fields:
Field | Description | Options |
---|---|---|
Sheet Name | Target sheet | Select sheet to sort |
Sort Range | Range to sort | Leave empty for entire sheet or specify range |
Primary Sort Column | Main sort column | Column letter (A, B, C, etc.) |
Primary Sort Order | Primary direction | Ascending (A-Z, 0-9), Descending (Z-A, 9-1) |
Secondary Sort Column | Secondary column | Optional column for tie-breaking |
Secondary Sort Order | Secondary direction | Ascending or Descending |
Tertiary Sort Column | Third-level column | Optional additional sort level |
Tertiary Sort Order | Tertiary direction | Ascending or Descending |
Sort Orders:
- Ascending: A-Z, 0-9, earliest dates first
- Descending: Z-A, 9-0, latest dates first
Multi-Level Sorting: Primary sort is applied first, secondary handles ties, tertiary handles remaining ties.
Common Use Cases:
- Maintain leaderboards automatically
- Sort by priority or status
- Organize by date or time
- Alphabetical organization
Conditional Formatting 🎨
Applies visual formatting based on cell values and conditions.
Configuration Fields:
Field | Description | Options |
---|---|---|
Sheet Name | Target sheet | Select sheet to format |
Format Range | Range to format | Specific range like A1:D10 |
Condition Type | How to evaluate | Value equals, Greater than, Less than, Contains, etc. |
Condition Value | Value to compare | Text or number to match |
Background Color | Cell background | Color picker for background |
Text Color | Text color | Color picker for text |
Bold | Bold text | Checkbox to enable |
Italic | Italic text | Checkbox to enable |
Font Size | Text size | Number (leave empty for default) |
Condition Types:
- Value equals: Exact match
- Value greater than: Numeric comparison (>)
- Value less than: Numeric comparison (<)
- Value contains: Text contains substring
- Value is empty: Cell has no content
- Value is not empty: Cell has content
- Custom formula: Advanced formula-based conditions
Common Use Cases:
- Highlight high-priority items in red
- Color-code status values
- Format overdue dates
- Visual data organization
Send Email 📧
Sends automated email notifications with dynamic content.
Configuration Fields:
Field | Description | Details |
---|---|---|
To | Recipient emails | Email addresses, separated by commas |
CC | Carbon copy | Optional CC recipients |
BCC | Blind carbon copy | Optional BCC recipients |
Subject | Email subject line | Text with dynamic placeholders |
Body | Email content | Message text with dynamic placeholders |
Email Address Options:
- Static addresses:
[email protected]
- Dynamic addresses: Use placeholders like
{{column_B}}
for cell values - Multiple recipients: Separate with commas
Content Features:
- Dynamic placeholders: Insert real-time data
- Line breaks: Use line breaks normally in the text area
- Plain text format: Emails are sent as plain text
Setup Requirements:
- Email permissions must be configured (one-time setup)
- First use may require authorization
Common Use Cases:
- Status change notifications
- Form submission alerts
- Daily/weekly reports
- Task assignment notifications
Send Webhook 🔗
Sends HTTP requests to external systems and services.
Configuration Fields:
Field | Description | Details |
---|---|---|
Webhook URL | Target endpoint | Full URL of external webhook |
Method | HTTP method | POST, GET, PUT, DELETE |
Payload | Request data | JSON data to send |
Headers | HTTP headers | Optional headers for authentication |
HTTP Methods:
- POST: Send data to create or update
- GET: Retrieve information
- PUT: Update existing data
- DELETE: Remove data
Payload Format: JSON format with dynamic placeholders for real-time data
Common Use Cases:
- Slack notifications
- External API updates
- Third-party integrations
- Real-time data synchronization
HTTP Request 🌐
Makes custom HTTP requests with advanced options and response handling.
Configuration Fields:
Field | Description | Details |
---|---|---|
URL | Request URL | Full URL of API endpoint |
Method | HTTP method | GET, POST, PUT, DELETE |
Headers | Request headers | JSON format for authentication, etc. |
Body | Request body | Data to send with request |
Response Cell | Store response | Optional cell to store API response |
Advanced Features:
- Response handling: Store API responses in spreadsheet cells
- Authentication: Support for API keys and tokens
- Error handling: Graceful handling of failed requests
- Timeout protection: Automatic timeout for slow requests
Common Use Cases:
- Retrieve data from external APIs
- Validate information against external services
- Fetch real-time data (weather, stock prices, etc.)
- Integration with business systems
Conditions
Conditions determine whether automation actions should execute. They are optional but provide powerful control over when automations run.
Column Value Condition 📊
Evaluates values in specific spreadsheet columns.
Configuration Fields:
Field | Description | Options |
---|---|---|
Sheet Name | Target sheet | Leave empty for current sheet |
Column | Column to check | Column letter (A, B, C, etc.) |
Operator | Comparison type | See operators table below |
Value | Value to compare | Text, number, or dynamic placeholder |
Available Operators:
Operator | Description | Example Use |
---|---|---|
Equals | Exact match | Status equals “Completed” |
Not equals | Does not match | Priority not equals “Low” |
Contains | Contains text | Name contains “Project” |
Does not contain | Missing text | Description does not contain “test” |
Starts with | Text begins with | Code starts with “PRJ” |
Ends with | Text ends with | Filename ends with “.pdf” |
Is empty | Cell is blank | Comments is empty |
Is not empty | Cell has content | Email is not empty |
Greater than | Numeric comparison | Score greater than 80 |
Less than | Numeric comparison | Amount less than 1000 |
Common Use Cases:
- Check task completion status
- Validate required fields
- Filter based on categories
- Numeric threshold conditions
System Variable Condition 🔧
Evaluates system variables like current user, time, and context.
Configuration Fields:
Field | Description | Options |
---|---|---|
Variable | System variable | See variables table below |
Operator | Comparison type | Equals, Contains, Greater than, Less than |
Value | Value to compare | Text or number to match |
Available Variables:
Variable | Description | Example Values |
---|---|---|
Editing user | Email of person making changes | ”[email protected]” |
Current time | Current time of day | ”14:30”, “09:15” |
Current date | Today’s date | ”2024-01-15” |
Day of week | Current day | ”Monday”, “Friday” |
Common Use Cases:
- User-specific automations
- Time-based conditions
- Day-of-week restrictions
- Context-aware processing
Checkbox Condition ☑️
Evaluates the state of checkbox cells.
Configuration Fields:
Field | Description | Options |
---|---|---|
Sheet Name | Target sheet | Leave empty for current sheet |
Column | Column with checkbox | Column letter (A, B, C, etc.) |
Expected Value | Checkbox state | Checked or Unchecked |
Checkbox States:
- Checked: Checkbox is marked (TRUE)
- Unchecked: Checkbox is empty (FALSE)
Common Use Cases:
- Task completion tracking
- Approval workflows
- Feature toggles
- Boolean conditions
Multiple Conditions Logic
Combine multiple conditions using AND/OR logic for complex decision-making.
Configuration Options:
Logic Type | Description | When It Triggers |
---|---|---|
All conditions must be met (AND) | Every condition must be true | All conditions = true |
Any condition can be met (OR) | At least one condition must be true | One or more conditions = true |
Complex Scenarios: You can create sophisticated logic by combining multiple conditions:
- High-value expenses AND travel category
- Urgent priority OR specific user
- Completed status AND approval checkbox
Best Practices:
- Start with simple conditions and add complexity gradually
- Test complex logic with sample data
- Use descriptive automation names to clarify intent
- Document complex logic for future reference
Dynamic Values & Placeholders
Dynamic values insert real-time data into your automations. These placeholders are replaced with actual values when the automation executes.
Cell & Range References
Placeholder | Description | Example Output |
---|---|---|
{{column_A}} | Value from column A in triggered row | ”Task Name” |
{{column_B}} | Value from column B in triggered row | ”In Progress” |
{{row_number}} | Row number of the triggered cell | ”5” |
{{range_A1}} | Value from specific cell A1 | ”Header Text” |
{{range_B2}} | Value from specific cell B2 | ”Data Value” |
Time & Date Values
Placeholder | Description | Example Output |
---|---|---|
{{NOW}} | Current date and time | ”2024-01-15 14:30:25” |
{{TODAY}} | Current date only | ”2024-01-15” |
{{TIME}} | Current time only | ”14:30:25” |
{{TIMESTAMP}} | Unix timestamp | ”1705329025” |
Edit Context (Sheet Change Triggers)
Placeholder | Description | Example Output |
---|---|---|
{{EDITED_CELL}} | Cell that was changed | ”A5” |
{{EDITED_VALUE}} | New value in changed cell | ”Completed” |
{{OLD_VALUE}} | Previous value before change | ”In Progress” |
User & System Information
Placeholder | Description | Example Output |
---|---|---|
{{user_email}} | Your Google account email | ”[email protected]” |
{{editing_user}} | Email of person making changes | ”[email protected]” |
{{spreadsheet_name}} | Name of current spreadsheet | ”Project Tasks” |
{{sheet_name}} | Name of current sheet | ”Tasks” |
{{sheet_url}} | URL to current sheet | ”https://docs.google.com/…” |
Schedule-Specific (Schedule Triggers)
Placeholder | Description | Example Output |
---|---|---|
{{FREQUENCY}} | How often automation runs | ”daily”, “weekly” |
{{TRIGGER_TIME}} | Scheduled execution time | ”09:00:00” |
Advanced Usage Examples
Email Subject with Context:
Task Update: {{column_A}} - {{TODAY}}
Log Entry with Details:
{{editing_user}} changed {{EDITED_CELL}} from '{{OLD_VALUE}}' to '{{EDITED_VALUE}}' at {{NOW}}
Conditional Cell Updates:
Last updated: {{NOW}} by {{editing_user}}
Cross-Sheet References: Use dynamic placeholders in cell references like B{{row_number}}
to target the same row as the trigger.
Advanced Configuration
Condition Logic
AND Logic (All conditions must be met):
- Every condition must be true for actions to execute
- More restrictive - fewer executions
- Good for precise targeting
OR Logic (Any condition can be met):
- At least one condition must be true
- More permissive - more executions
- Good for multiple trigger scenarios
Performance Considerations
Trigger Optimization:
- Use specific cell ranges instead of monitoring entire sheets
- Avoid very frequent triggers on large datasets
- Consider schedule triggers for batch operations
Action Efficiency:
- Group related actions in single automations
- Use batch operations when possible
- Test with sample data before production use
Error Handling
Built-in Safety Features:
- Automatic retry for failed email sends
- Timeout protection for HTTP requests
- Row limits for deletion operations
- Graceful handling of missing data
Best Practices:
- Monitor the Logs tab for execution status
- Test automations with sample data first
- Use descriptive names for easy troubleshooting
- Start simple and add complexity gradually
Troubleshooting Common Issues
Automation Not Triggering:
- Check trigger configuration (sheet name, range)
- Verify conditions are properly set
- Ensure automation is active
Email Not Sending:
- Confirm email permissions are set up
- Check recipient email addresses
- Verify dynamic placeholders are correct
Incorrect Data in Actions:
- Validate dynamic placeholder syntax
- Check column references match your sheet
- Test with sample data first