Workflow Engine
The Workflow Engine lets you create automations that respond to events across The One Stack. When something happens — a ticket is created, an alert fires, a device goes offline — your workflow can automatically take action.
Accessing Workflows
Navigate to Hub > Workflows to view, create, and manage your automations.
Concepts
Triggers
A trigger is the event that starts a workflow. Each workflow has exactly one trigger.
Available trigger types:
| Trigger | Source | Description |
|---|---|---|
ticket.created | PSA | A new ticket is created |
ticket.updated | PSA | A ticket field changes |
ticket.sla_breach | PSA | A ticket exceeds its SLA threshold |
alert.triggered | Security / RMM | A monitoring alert fires |
alert.resolved | Security / RMM | A monitoring alert is cleared |
device.offline | RMM | An endpoint stops checking in |
device.online | RMM | An endpoint resumes check-in |
backup.failed | Backups | A backup job fails |
invoice.overdue | Books | An invoice passes its due date |
contact.created | CRM | A new contact is added |
deal.stage_changed | CRM | A deal moves to a different pipeline stage |
entity.sync_conflict | Hub | Entity Sync detects a conflict |
Actions
Actions are the steps your workflow performs when triggered.
Available action types:
- Create ticket — Open a new PSA ticket with configurable board, status, priority, and description.
- Update ticket — Change fields on the triggering ticket (status, priority, assignee, etc.).
- Send notification — Send an email, push notification, or Teams/Slack message.
- Escalate to On-Call — Trigger the On-Call escalation chain for the relevant team.
- Update field — Set a field value on the triggering entity or a related entity.
- Run script — Execute an RMM script on the affected endpoint.
- Create note — Add a note to the related Hub company record.
- Add tag — Apply a tag to the triggering entity.
- Webhook — Send an HTTP POST to an external URL with the event payload.
- Delay — Wait a specified duration before continuing to the next action.
Conditions
Add conditions between the trigger and actions to filter which events should run the workflow.
Conditions support:
- Field comparisons (equals, contains, greater than, less than)
- Logical operators (AND, OR, NOT)
- Nested groups for complex logic
- Template variables referencing trigger data (e.g.,
{{ticket.priority}},{{alert.severity}})
Creating a Workflow
- Go to Hub > Workflows and click New Workflow.
- Give your workflow a name and optional description.
- Select a trigger from the dropdown.
- Optionally add conditions to filter events.
- Add one or more actions in sequence.
- Click Save to save as draft, or Save & Enable to activate immediately.
Using the Visual Designer
The visual designer shows your workflow as a flowchart. You can:
- Drag actions to reorder them.
- Click the + button between steps to insert a new action or condition.
- Click any step to edit its configuration.
- Use the Test button to simulate the workflow with sample data.
Built-in Templates
The Workflow Engine ships with 10 templates for common MSP scenarios:
- Alert to Ticket — Creates a PSA ticket when a critical or high-severity alert fires.
- Failed Backup Notification — Sends an email to the client's primary contact when a backup fails.
- SLA Breach Escalation — Escalates to On-Call when a ticket breaches its response SLA.
- Device Offline Alert — Creates a ticket and notifies the assigned technician when a device goes offline for more than 15 minutes.
- Overdue Invoice Reminder — Sends a reminder email 3, 7, and 14 days after an invoice becomes overdue.
- New Client Onboarding — Creates a series of setup tickets when a new company is added to the PSA.
- Deal Won Provisioning — Triggers account setup tasks when a CRM deal moves to "Closed Won."
- Security Incident Response — Escalates to On-Call and creates a high-priority ticket when a critical security alert fires.
- Duplicate Entity Review — Notifies an admin when Entity Sync detects a potential duplicate.
- Stale Ticket Cleanup — Sends a reminder to the assigned tech when a ticket has had no updates for 7 days.
To use a template, go to Hub > Workflows > Templates, select a template, customize it for your environment, and save.
Managing Workflows
Enabling and Disabling
Toggle workflows on or off from the workflow list without deleting them. Disabled workflows retain their configuration.
Execution History
Click on any workflow to view its execution history. Each run shows:
- Trigger event details
- Condition evaluation results
- Action outcomes (success or failure)
- Execution duration
Error Handling
If an action fails, the workflow engine:
- Logs the error with full details.
- Retries the action up to 3 times with exponential backoff.
- If all retries fail, marks the run as failed and continues to the next action (unless configured to stop on error).
Best Practices
- Start with templates and customize rather than building from scratch.
- Use conditions liberally to avoid workflows firing on irrelevant events.
- Test with sample data before enabling a workflow in production.
- Monitor execution history for the first few days after enabling a new workflow.
- Avoid circular triggers — for example, a workflow that updates a ticket triggering another workflow that updates the same ticket.