Overview
Record automations allow you to automatically execute actions when changes happen to your table data. Build powerful workflows that validate data, call external APIs, send notifications, and more.Event-Driven
Trigger automations on create, update, or delete
Validation
Validate data before changes are committed
Conditional Logic
Execute actions based on custom conditions
Multiple Actions
Chain multiple actions in a single automation
Automation Structure
Every automation consists of four parts, executed in order:- Trigger: What event starts the automation
- Validation: Checks that must pass before the event is committed
- Action Blocks: Conditions and actions to execute (can repeat multiple blocks)
Triggers
Triggers define when an automation runs. You can set up automations for three types of record events.Trigger Types
| Trigger | Fires When | Use Cases |
|---|---|---|
| Record Created | A new record is added to the table | Welcome emails, initial status setup, create related records |
| Record Updated | An existing record is modified | Status change notifications, sync to external systems |
| Record Deleted | A record is removed from the table | Cleanup related data, archive notifications |
Combining Triggers
You can combine multiple triggers in a single automation when the validation and actions are the same:1
Create Automation
Open the automation builder for your table
2
Select Multiple Triggers
Check multiple trigger types (e.g., both “Created” and “Updated”)
3
Configure Once
The validation and actions apply to all selected triggers
Combining triggers is useful when you want the same behavior regardless of whether a record is new or modified (e.g., always validate email format).
Validation
Validations run before the trigger event is committed. If validation fails, the entire operation is rolled back.How Validation Works
Validation Types
1. Script Validation
Use JavaScript to validate data programmatically. Best for:- Checking static conditions
- Validating data within ERPLite
- Complex business rules
2. REST API Validation
Call an external API to validate data. Best for:- Information not available in ERPLite
- External system verification
- Third-party validation services
| Field | Description |
|---|---|
| URL | The API endpoint to call |
| Method | HTTP method (GET, POST, etc.) |
| Headers | Request headers (auth tokens, content-type) |
| Body | Request payload (can include record data) |
| Success Condition | JavaScript expression to evaluate response |
Validation Conditions
You can add conditions to determine whether a validation should run:- Skip validation for certain scenarios
- Apply different validations based on data
- Optimize performance by avoiding unnecessary checks
Action Blocks
Action blocks contain conditions and actions. You can have multiple action blocks in a single automation, each with its own condition.Structure
Conditions
Conditions determine whether an action block executes. Write JavaScript expressions that returntrue or false.
Example conditions:
Action Types
1. Create Record
Create a new record in any table.| Configuration | Description |
|---|---|
| Table | Target table to create record in |
| Field Mapping | Map values to the new record’s fields |
2. Update Record
Update an existing record in any table.| Configuration | Description |
|---|---|
| Table | Target table |
| Record ID | ID of record to update (can be dynamic) |
| Field Updates | Fields and values to update |
3. Delete Record
Remove a record from a table.| Configuration | Description |
|---|---|
| Table | Target table |
| Record ID | ID of record to delete |
4. Create Task
Create a new task in a workflow.| Configuration | Description |
|---|---|
| Workflow | Target workflow |
| Initial Data | Data fields for the task |
| Assignment | User or team to assign |
5. Update Task
Modify an existing workflow task.| Configuration | Description |
|---|---|
| Task ID | ID of task to update |
| Field Updates | Fields and values to update |
6. Delete Task
Remove a workflow task.7. Task Status Change
Transition a task to a different state.| Configuration | Description |
|---|---|
| Task ID | ID of task |
| Transition | Target state/transition to execute |
8. Execute Script
Run custom JavaScript code. Example: Complex calculations9. Call External API
Make HTTP requests to external services.| Configuration | Description |
|---|---|
| URL | API endpoint |
| Method | GET, POST, PUT, PATCH, DELETE |
| Headers | Request headers |
| Body | Request payload |
| Response Handling | How to process the response |
10. Send Email
Send email notifications.| Configuration | Description |
|---|---|
| To | Recipient email(s) |
| Subject | Email subject line |
| Body | Email content (supports templates) |
| CC/BCC | Additional recipients |
Creating an Automation
1
Open Automation Builder
Go to your table settings and click Automations or Configure Automations
2
Create New Automation
Click + Add Automation
3
Name Your Automation
Give it a descriptive name (e.g., “Send welcome email on customer creation”)
4
Select Trigger(s)
Choose one or more trigger events
5
Add Validation (Optional)
Configure script or API validation if needed
6
Add Action Blocks
Create action blocks with conditions and actions
7
Test
Test the automation with sample data
8
Save & Activate
Save and enable the automation
Common Automation Patterns
Sync to External System
Sync to External System
Trigger: Record Created or Updated
Actions: Call External API to sync dataUse case: Keep CRM, ERP, or other systems in sync
Status Change Notifications
Status Change Notifications
Trigger: Record Updated
Condition:
data.status !== oldData.status
Actions: Send Email to stakeholdersUse case: Notify team when order status changesCascading Updates
Cascading Updates
Trigger: Record Updated
Condition:
data.parent_status === "Closed"
Actions: Update related child recordsUse case: Close all sub-tasks when parent is closedData Validation with External Check
Data Validation with External Check
Trigger: Record Created
Validation: REST API to verify customer credit
Actions: Create record if valid, reject if notUse case: Verify credit limit before creating order
Audit Trail
Audit Trail
Trigger: Record Created, Updated, Deleted
Actions: Create Record in audit_logs tableUse case: Maintain compliance audit trail
Auto-Assignment
Auto-Assignment
Trigger: Record Created
Condition:
!data.assigned_to
Actions: Execute Script to determine assignee, Update RecordUse case: Auto-assign based on region or workloadFor AI Agents
Automation Configuration Structure
API: Get Table Automations
automations array in metadata.
API: Create/Update Automation
Available Variables in Automations
| Variable | Description |
|---|---|
data | Current record data |
oldData | Previous record data (for updates) |
recordId | Current record ID |
tableType | Current table type |
trigger | Trigger type (‘created’, ‘updated’, ‘deleted’) |
user | Current user object |
now | Current timestamp |
secrets | Access to stored secrets |
UI Components
| Component | Location | Purpose |
|---|---|---|
| AutomationBuilder | /src/views/automationBuilder/ | Main automation editor |
| TriggerBlocks | Automation builder | Configure triggers |
| ActionBlocks | Automation builder | Configure action blocks |
| ExpressionEditor | Low-code scripting | JavaScript editor |