Slack: Send DM to User or Group
Send a direct message to one or more Slack users via native OAuth integration. Opens a DM or multi-party DM conversation and sends the message. Supports plain text (Markdown) or Block Kit JSON for rich interactive messages. Ideal for: private alerts, user notifications, group DMs, direct outreach, approval buttons.
Catalog action Integrations slack
Send a direct message to one or more Slack users via native OAuth integration. Opens a DM or multi-party DM conversation and sends the message. Supports plain text (Markdown) or Block Kit JSON for rich interactive messages. Ideal for: private alerts, user notifications, group DMs, direct outreach, approval buttons.
At a Glance
| Field | Value |
|---|---|
| Action ID | slack-send-message-to-user-or-group |
| Category | Integrations |
| Connector | slack |
| Requires gas | No |
| Funds movement | None declared |
| Tags | slack, messaging, notification, write, chat |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
users | string | Yes | Select one or more workspace members to send a direct message or group DM. |
text | string | No | Message text to send. Supports Markdown: bold, italic, 'code', links. Required unless blocks is provided. |
blocks | array | No | Block Kit JSON blocks array. When provided, sent as structured blocks (buttons, sections, etc.) instead of plain text. The text field becomes fallback text for notifications. |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | Yes | - |
data | object | No | - |
Examples
json{ "type": "slack-send-message-to-user-or-group", "payload": { "users": "example-users" }, "children": [], "connector": { "type": "slack", "id": "conn_slack" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/slack-send-message-to-user-or-group/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "users": "example-users" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
