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

ActionPurpose
call-x402-endpointCall an x402-protected endpoint
code-transformTransform input data with controlled code
convert-from-weiConvert wei-style base units to token units
convert-to-weiConvert token units to wei-style base units
db-queryQuery organization-managed tables
delayPause execution for a configured duration or until a future time
formatCreate formatted strings or structured output
list-maxFind the maximum value in a list
list-minFind the minimum value in a list
logWrite a structured workflow log
parse-google-sheets-urlExtract spreadsheet metadata from a Google Sheets URL
place-orderPlace an order through supported trading actions
regexMatch, extract, or validate text with regular expressions
send-webhookSend an outbound HTTP webhook
track-positionTrack a position or market state
trigger-workflowStart 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

NeedUse
Branch, delay, format, managed data, webhook, child workflowBuilt-in action
Provider API callCatalog action
Onchain transactionWallet or onchain action
SaaS integrationConnector-backed action
Caddie discovery or repairCaddie and workflow API tools