Triggers create workflow runs from manual calls, schedules, webhooks, blockchain activity, SaaS events, messaging platforms, payment providers, market events, and social activity.

B3OS trigger preview canvas for a scheduled workflow start

Automatic trigger listeners use the published live version. Draft changes must be tested and published before schedules, webhooks, or event listeners pick them up.

Trigger-to-run path
eventstart runevaluatecontinueobserve Event source Schedule, webhook, chain, SaaS, market Trigger config Filters, payload schema, live version Workflow run Trigger body, headers, inputs, props Policy branch Noise filters and safety checks Action graph Connector, wallet, API, notify nodes Streams and hooks Status, activity, external delivery

Trigger Families

| Trigger | Use case | | --- | --- | | manual | Start from the app, API, public execution surface, or workflow webhook URL | | schedule | Declarative time-based scheduling | | cronjob | Cron-style recurring execution |

Trigger Payloads

Every run starts with trigger context. Downstream nodes can access it through expressions:

json
{ "trigger": { "source": "webhook", "body": { "amount": "100.00", "asset": "USDC" }, "headers": { "x-request-id": "req_123" } }}

Use paths like:

ExpressionMeaning
{{$trigger.source}}Trigger source identifier
{{$trigger.body.amount}}Field from trigger body
{{$trigger.headers.x-request-id}}Header from inbound request
{{$inputs.asset}}Block or workflow input value

Webhook Triggers

Manual workflows can expose a workflow webhook URL. Use this for systems that can POST an event into B3OS but do not have a first-class trigger yet.

Trigger a workflow webhook
bash
curl -X POST "https://api.b3os.org/v1/webhooks/YOUR_WORKFLOW_SECRET" \ -H "Content-Type: application/json" \ -d '{"asset":"USDC","amount":"100"}'

Rotate webhook secrets when they are exposed, and validate incoming payloads before using them for wallet, trade, or privileged connector actions.

Trigger Design Guidelines

NeedRecommendation
Fast manual testingStart with manual, then switch to the event source
Recurring workUse schedule or cronjob
External system callbackUse a webhook trigger or first-class connector trigger
Onchain monitoringUse specific address, chain, topic, token, or transaction filters
Wallet operationsAdd policy checks before transaction actions
High-noise eventsFilter early with branch or code-transform nodes