Triggers define how and when a workflow starts executing. Every workflow must have exactly one trigger node.
Execute workflows on-demand:
Type: Manual
Description: User clicks Execute button
Input: Optional JSON data
Use cases:
Start workflows from external systems:
Type: Webhook
Path: /api/hooks/{workflowId}
Method: POST
Secret: Optional authentication
Features:
Use cases:
Run workflows on a schedule:
Type: Schedule
Cron: "0 9 * * 1-5"
Timezone: Europe/Helsinki
Cron format:
┌───────── minute (0-59)
│ ┌─────── hour (0-23)
│ │ ┌───── day of month (1-31)
│ │ │ ┌─── month (1-12)
│ │ │ │ ┌─ day of week (0-6, Sunday=0)
* * * * *
Common schedules:
| Schedule | Cron Expression |
|---|---|
| Every hour | 0 * * * * |
| Daily at 9am | 0 9 * * * |
| Weekdays at 8am | 0 8 * * 1-5 |
| Weekly Monday | 0 0 * * 1 |
| Monthly 1st | 0 0 1 * * |
Use cases:
React to data changes in the system:
Type: Entity Event
Entity: sales_order
Operation: create
Supported entities:
| Entity | Description |
|---|---|
product | Product catalog changes |
sales_order | Sales order events |
purchase_order | Purchase order events |
inventory_item | Inventory changes |
production_workstage | Production job updates |
transfer | Inventory transfers |
receipt | Receipt operations |
warehouse | Warehouse changes |
area | Area modifications |
shelf | Shelf updates |
bin | Bin changes |
label | Label template changes |
package | Package operations |
user | User account changes |
Operations:
| Operation | Description |
|---|---|
create | New record created |
update | Existing record modified |
delete | Record deleted |
Use cases:
Each trigger provides data to the workflow:
| Trigger Type | Variables |
|---|---|
| Manual | Input JSON data |
| Webhook | Request body, headers |
| Schedule | Timestamp, schedule info |
| Entity Event | Entity data, operation type |
Use template syntax to access trigger data:
{{trigger.data.field}}
{{trigger.entity.id}}
{{trigger.operation}}