Messaging actions are commonly used for alerts, approvals, incident routing, workflow status updates, payment notifications, and human-in-the-loop automation.

Get a Telegram alert the second a new token lists on Revolut, Coinbase, Binance, or any major CEX.

Messaging Surfaces

SurfaceUses
Slack actionsChannel messages, direct messages, interaction responses, alerts
Slack triggersMentions, channel messages, direct messages, reactions, user events, keyword mentions
Telegram actions and triggersChannel notifications and interaction-driven waits
WebhooksGeneric messaging into external systems

Set up the Slack, Telegram, or provider connector before adding the action to a workflow.

Alert Pattern

graph TD
Trigger[Trigger] --> Enrich[Fetch context]
Enrich --> Format[Format message]
Format --> Send[Send Slack or Telegram message]
Send --> Log[Log delivery result]

Message Design

FieldRecommendation
ChannelUse props for environment-specific channel IDs
TextInclude workflow name, event type, amount or asset, and run ID
LinksLink to the B3OS run, external transaction, or provider object when available
SeverityUse clear terms such as info, warning, critical
DeduplicationInclude an external event ID when duplicate events are possible

Interactive Workflows

Some messaging triggers represent user interactions. Use them for approvals, triage, and routing, but keep wallet or production side effects behind explicit policy branches.

Example Message Payload

json
{ "channel": "{{$props.alertChannel}}", "text": "Workflow {{$workflow.id}} received {{$trigger.body.amount}} {{$trigger.body.asset}}"}

Troubleshooting

SymptomCheck
Message not sentConnector status, channel ID, bot channel membership, provider permissions
Trigger not firingEvent subscription, connector scopes, channel filters
Duplicate messagesTrigger retry behavior or missing idempotency
Missing variablesExpression path or prior node output shape