Built-In Actions
Built-in B3OS workflow actions for control flow, data transforms, managed data access, webhooks, and orchestration.
Built-in actions run inside B3OS workflows. They cover local control flow, data shaping, managed data access, webhooks, child workflow orchestration, and execution management.
Built-In Catalog
| Action | Purpose |
|---|---|
call-x402-endpoint | Call an x402-protected endpoint |
code-transform | Transform input data with controlled code |
convert-from-wei | Convert wei-style base units to token units |
convert-to-wei | Convert token units to wei-style base units |
db-query | Query organization-managed tables |
delay | Pause execution for a configured duration or until a future time |
format | Create formatted strings or structured output |
list-max | Find the maximum value in a list |
list-min | Find the minimum value in a list |
log | Write a structured workflow log |
parse-google-sheets-url | Extract spreadsheet metadata from a Google Sheets URL |
place-order | Place an order through supported trading actions |
regex | Match, extract, or validate text with regular expressions |
send-webhook | Send an outbound HTTP webhook |
track-position | Track a position or market state |
trigger-workflow | Start another workflow |
Control and Timing
Use delay when a workflow needs to wait before the next node. Use wait-oriented triggers or interaction events when the workflow should pause until an external response arrives.
json{ "duration": "15m", "reason": "wait before checking settlement"}
Data Transformation
Use format, regex, code-transform, list-min, list-max, and unit conversion actions to normalize data before strict catalog action schemas.
json{ "template": "Alert: {{$trigger.body.amount}} {{$trigger.body.asset}} received"}
Many provider actions reject malformed values. Add a transformation node before connector, wallet, or webhook actions when incoming payloads are inconsistent.
Managed Data Query
Use db-query to read organization-managed tables.
json{ "sql": "select channel from alert_routes where asset = ?", "params": ["{{$trigger.body.asset}}"]}
Use parameters, explicit filters, and small result sets. Avoid using workflow queries as a general-purpose admin console.
Outbound Webhooks
Use send-webhook to notify external systems from a workflow.
json{ "url": "https://example.com/b3os-events", "method": "POST", "body": { "workflowId": "{{$workflow.id}}", "runStatus": "{{$run.status}}" }}
Webhook destinations should use HTTPS, verify signatures when configured, and process duplicate deliveries idempotently.
Child Workflows
Use trigger-workflow to compose a larger automation from smaller workflows. This is useful for reusable operational steps, environment-specific variants, and separation of permissions.
Built-In Versus Catalog
| Need | Use |
|---|---|
| Branch, delay, format, managed data, webhook, child workflow | Built-in action |
| Provider API call | Catalog action |
| Onchain transaction | Wallet or onchain action |
| SaaS integration | Connector-backed action |
| Caddie discovery or repair | Caddie and workflow API tools |
