Triggers

Manual, schedule, webhook, channel message, and named events — all start real runs.

TriggerFires when
trigger.manualYou click Run.
trigger.schedulerA cron schedule matches (a 30s tick fires it).
trigger.webhookPOST /bb-workflows/api/webhook/:id with the right secret.
trigger.channelA customer message lands on a chat channel.
trigger.eventA named event is emitted.

Firing an event

From an agent, call the emit_event action. Externally, hit the emit endpoint:

bash
curl -X POST $HOST/bb-workflows/api/workflows/emit \
  -H 'Content-Type: application/json' \
  -d '{"event":"order.updated","payload":{"order_id":"A1"}}'
Webhook triggers require a non-empty secret and compare it in constant time — a webhook with no secret refuses to run.