Automations
Automate repetitive workflows with trigger-based rules that execute actions when events occur.
How Automations Work
Each automation follows a simple model:
- Trigger - An event occurs (e.g., grievance created, task completed)
- Conditions (optional) - Check if criteria are met (e.g., priority is HIGH)
- Delay (optional) - Wait before executing actions
- Actions - One or more actions run (e.g., send notification, create task)
Organization Automations
Admins can create automations that apply to the entire organization.
- Go to Settings → Automations
- Click Add Automation
- Configure the automation (see below)
- Click Create
Personal Automations
All users can create personal automations that only trigger for their own events.
- Go to Settings → My Automations
- Click Add Automation
- Configure the automation
- Click Create
Personal automations cannot use the Update Field action type.
Available Triggers
| Category | Trigger |
|---|---|
| Grievances | Created, Updated, Status changed, Step changed, Step deadline approaching |
| Disciplinary | Created, Updated, Status changed, Step changed, Step deadline approaching |
| Members | Created, Updated, Status changed |
| Tasks | Created, Assigned, Completed, Due soon |
| Documents | Uploaded |
| Chat | Message sent |
Conditions
Add optional conditions to filter when an automation should fire. Conditions use AND logic (all must be true).
- Field - The data field to check (e.g.,
grievance.priority) - Operator - Comparison type: Equals, Not equals, Contains, Is in, Greater than, Less than
- Value - The value to compare against
Example
To only fire when a grievance has HIGH or URGENT priority:
- Field:
grievance.priority - Operator: Is in
- Value:
["HIGH","URGENT"]
Delay
Optionally delay action execution by a set number of minutes. This is useful for scenarios like sending a follow-up notification 24 hours after an event.
Action Types
Send Notification
Sends an in-app notification to specified recipients.
- Recipient - Assigned representative, Case creator, All admins, Trigger user, or a specific user
- Title - Notification title (supports variables)
- Message - Notification body (supports variables)
- Link URL - Optional link for the notification
Send Email
Sends an email using your organization’s configured SMTP settings.
- Recipient - Member email, Assigned representative, Case creator, All admins, or a specific email
- Subject - Email subject line (supports variables)
- Body - Email content (supports variables)
Create Task
Automatically creates a task.
- Title - Task title (supports variables)
- Description - Task description
- Assignee - Who to assign the task to
- Priority - Low, Medium, High, or Urgent
- Due days from now - Number of days until the task is due
Post Chat Message
Posts a message to a chat channel.
- Channel ID - The channel to post in
- Content - Message content (supports variables)
Webhook
Sends an HTTP POST request to an external URL when the automation fires. Use this to integrate LaborWise with external systems, custom APIs, or third-party services.
- URL — The endpoint to send the webhook to (must use HTTPS)
- Secret (optional) — A shared secret sent as the
X-Webhook-Secretheader for verification
The webhook payload is a JSON object with the following fields:
| Field | Description |
|---|---|
trigger | The event that fired (e.g., grievance.created) |
entityType | The type of entity (e.g., grievance, member) |
entityId | The ID of the affected entity |
organizationId | Your organization ID |
data | The full entity data at the time of the event |
timestamp | ISO 8601 timestamp of the webhook delivery |
Webhooks have a 10-second timeout. If the endpoint does not respond with a success status (2xx), the action is marked as failed in the execution logs.
Update Field
Updates a field on the triggering entity (organization automations only).
- Entity type - Grievance, Disciplinary, Task, or Member
- Field - The field to update
- Value - The new value
Allowed fields per entity type:
| Entity | Allowed Fields |
|---|---|
| Grievance | status, priority, outcome |
| Disciplinary | status, priority, outcome |
| Task | status, priority |
| Member | status |
Template Variables
Use {{variable}} syntax in action fields to insert dynamic values. Available variables depend on the trigger type:
| Variable | Description |
|---|---|
{{grievance.number}} | Grievance number |
{{grievance.id}} | Grievance ID |
{{grievance.status}} | Grievance status |
{{grievance.priority}} | Grievance priority |
{{grievance.description}} | Grievance description |
{{disciplinary.number}} | Disciplinary case number |
{{disciplinary.status}} | Disciplinary status |
{{disciplinary.outcome}} | Disciplinary outcome |
{{member.name}} | Member name |
{{task.title}} | Task title |
{{step.name}} | Step name |
{{step.deadline}} | Step deadline |
Pre-Built Templates
Browse ready-made automations in Settings → Automations → Browse Templates. Templates are grouped by category and can be enabled with one click.
Available templates include:
- Notify member when grievance filed
- Remind rep before step deadline
- Post to channel on status change
- Auto-create welcome task for new member
- Notify admins on high priority grievance
- Email member when disciplinary resolved
Execution Logs
View a history of all automation executions in Settings → Automations → Execution Logs.
Each log entry shows:
- Automation name
- Trigger that fired
- Entity type and ID
- Status (Success, Partial Failure, or Failed)
- Number of actions executed and failed
- Timestamp
Filter logs by status, trigger, and date range. Click a log entry to see error details if the execution failed.
Managing Automations
- Toggle active/inactive - Use the switch on each automation card
- Edit - Click Edit to modify any automation
- Delete - Click Delete to permanently remove an automation and its logs