Messaging Actions
Send alerts and build interactive messaging workflows with Slack, Telegram, and related connectors.
Messaging actions are commonly used for alerts, approvals, incident routing, workflow status updates, payment notifications, and human-in-the-loop automation.
Messaging Surfaces
| Surface | Uses |
|---|---|
| Slack actions | Channel messages, direct messages, interaction responses, alerts |
| Slack triggers | Mentions, channel messages, direct messages, reactions, user events, keyword mentions |
| Telegram actions and triggers | Channel notifications and interaction-driven waits |
| Webhooks | Generic messaging into external systems |
Set up the Slack, Telegram, or provider connector before adding the action to a workflow.
Alert Pattern
Message Design
| Field | Recommendation |
|---|---|
| Channel | Use props for environment-specific channel IDs |
| Text | Include workflow name, event type, amount or asset, and run ID |
| Links | Link to the B3OS run, external transaction, or provider object when available |
| Severity | Use clear terms such as info, warning, critical |
| Deduplication | Include 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
| Symptom | Check |
|---|---|
| Message not sent | Connector status, channel ID, bot channel membership, provider permissions |
| Trigger not firing | Event subscription, connector scopes, channel filters |
| Duplicate messages | Trigger retry behavior or missing idempotency |
| Missing variables | Expression path or prior node output shape |
