workflow trigger

Configure automatic workflow execution based on events, schedules, or webhooks.

Overview

The hyperfold workflow trigger command configures automatic workflow execution. Triggers define when workflows run—whether in response to events, on a schedule, or via external webhooks.

Workflows must be registered before triggers can be created. See workflow register to create workflows first.

Usage

bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Trigger a workflow manually
$ hyperfold workflow trigger order-fulfillment \
--input='{"order_id": "ord_123"}'
Triggering workflow: order-fulfillment
Input: {"order_id": "ord_123"}
✓ Workflow started
Execution ID: exec_abc123
Status: running
Watching execution... (Ctrl+C to detach)
[Step 1/4] validate_order
✓ Order ord_123 validated
Duration: 120ms
[Step 2/4] reserve_inventory
✓ Inventory reserved for 2 items
Duration: 340ms
[Step 3/4] create_shipment
✓ Shipment created: ship_xyz
Duration: 2.1s
[Step 4/4] notify_customer
✓ Email sent to customer@example.com
Duration: 450ms
✓ Workflow completed successfully
Total Duration: 3.1s
Output: {"shipment_id": "ship_xyz", "tracking": "1Z999..."}

Trigger Types

TypeDescriptionFlag
EventFire on system events (orders, inventory, etc.)--event
ScheduleFire on cron schedule--schedule
WebhookFire on external HTTP POST--webhook
ManualFire via CLI or API only--input

Event and Schedule Triggers

bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Trigger workflow on specific event
$ hyperfold workflow trigger cart-abandonment \
--event=cart.abandoned \
--filter='{"cart_value": {"$gt": 100}}'
Workflow trigger configured:
Workflow: cart-abandonment
Event: cart.abandoned
Filter: cart_value > 100
Status: active
# Trigger on schedule
$ hyperfold workflow trigger daily-inventory-sync \
--schedule="0 6 * * *" \
--timezone="America/Los_Angeles"
Scheduled trigger created:
Workflow: daily-inventory-sync
Schedule: Daily at 6:00 AM PST
Next Run: Tomorrow at 6:00 AM PST
# Trigger on webhook
$ hyperfold workflow trigger external-order \
--webhook=true
Webhook trigger created:
Workflow: external-order
Webhook URL: https://api.hyperfold.io/webhooks/wf/ext_ord_xxx
Secret: whsec_xxx (use for signature verification)

Options

OptionDescription
--inputJSON input for manual trigger
--eventEvent name to trigger on
--filterJSON filter for event conditions
--scheduleCron expression for scheduled triggers
--timezoneTimezone for schedule (default: UTC)
--webhookCreate webhook endpoint trigger
--transformTransform event data before passing to workflow
--rate-limitMaximum trigger rate (e.g., "100/minute")
--dedupe-keyField to deduplicate on
--priorityExecution priority (low, normal, high)

Examples

Managing Triggers

bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# List all workflow triggers
$ hyperfold workflow trigger list
WORKFLOW TRIGGERS
WORKFLOW TRIGGER TYPE CONDITION LAST FIRED
order-fulfillment event order.created 2 min ago
cart-abandonment event cart.abandoned (>$100) 15 min ago
daily-inventory-sync schedule Daily @ 6:00 AM PST 6 hours ago
external-order webhook POST /webhooks/wf/... 1 hour ago
price-optimization schedule Hourly 35 min ago
vip-customer-alert event customer.tier_upgraded 3 days ago
# Show trigger details
$ hyperfold workflow trigger show order-fulfillment
TRIGGER: order-fulfillment
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Workflow: order-fulfillment
Trigger Type: event
Event: order.created
Filter: none
Status: active
Created: 2025-01-15T10:00:00Z
EXECUTION STATS (30 days)
Total Runs: 4,521
Successful: 4,498 (99.5%)
Failed: 23 (0.5%)
Avg Duration: 3.2s
RECENT EXECUTIONS
exec_789 order.created ✓ success 3.1s 2 min ago
exec_788 order.created ✓ success 2.8s 5 min ago
exec_787 order.created ✓ success 4.2s 8 min ago
exec_786 order.created ✗ failed 1.2s 12 min ago
exec_785 order.created ✓ success 3.0s 15 min ago

Enabling/Disabling Triggers

bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Disable a trigger temporarily
$ hyperfold workflow trigger disable order-fulfillment \
--reason="Maintenance window"
Trigger disabled:
Workflow: order-fulfillment
Reason: Maintenance window
Disabled at: 2025-01-20T10:00:00Z
⚠ Events matching this trigger will be queued (max 1000)
# Re-enable trigger
$ hyperfold workflow trigger enable order-fulfillment
Trigger enabled:
Workflow: order-fulfillment
Queued events: 12
Processing queued events...
✓ 12 queued events triggered
# Delete a trigger
$ hyperfold workflow trigger delete cart-abandonment --confirm
✓ Trigger deleted
Workflow remains but will not auto-trigger

Advanced Conditional Triggers

bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Create conditional trigger with complex filters
$ hyperfold workflow trigger vip-order-alert \
--event=order.created \
--filter='{
"$and": [
{"customer.tier": {"$in": ["gold", "platinum"]}},
{"order.total": {"$gt": 500}},
{"order.items": {"$size": {"$gt": 3}}}
]
}' \
--priority=high
# Trigger with input transformation
$ hyperfold workflow trigger order-enrichment \
--event=order.created \
--transform='{
"order_id": "{{event.order.id}}",
"customer_email": "{{event.order.customer.email}}",
"items": "{{event.order.line_items | map: "sku"}}",
"priority": "{{event.order.total > 1000 ? "high" : "normal"}}"
}'
# Rate-limited trigger
$ hyperfold workflow trigger price-check \
--event=competitor.price_change \
--rate-limit="100/minute" \
--dedupe-key="product_id" \
--dedupe-window="5m"

Common Events

EventDescription
order.createdNew order placed
order.fulfilledOrder shipped
cart.abandonedCart inactive for threshold period
inventory.lowInventory below threshold
negotiation.completedPrice negotiation finished
customer.tier_upgradedCustomer loyalty tier changed
Need to modify workflow behavior? See workflow update to change workflow definitions.