| name | slack-notifications |
| description | Send structured status updates to a Slack channel via Incoming Webhooks. Say "notify the team in Slack", "send a Slack message to |
| version | 1.0.0 |
| metadata | {"openclaw":{"requires":{"env":["SLACK_WEBHOOK_URL"],"bins":["curl"]}},"tribe-security":{"network-egress":"hooks.slack.com only","file-access":"none","review-status":"tribe-verified","scanner-result":"0 critical, 0 high, 0 medium","reviewed-by":"tribe-ai","reviewed-at":"2026-02-22"}} |
Slack Notifications
Send structured status updates from the agent to a designated Slack channel. This skill is outbound only — it sends messages but does not read from Slack.
How to use
When the user asks you to notify a team or send a Slack message, follow these steps:
-
Compose the message. Take the user's input and format it as a clear, concise status update.
-
Format as a Slack Block Kit payload. Structure the message with a timestamp and agent attribution:
curl -X POST -H "Content-Type: application/json" \
-d "{
\"blocks\": [
{
\"type\": \"section\",
\"text\": {
\"type\": \"mrkdwn\",
\"text\": \"MESSAGE_CONTENT\"
}
},
{
\"type\": \"context\",
\"elements\": [
{
\"type\": \"mrkdwn\",
\"text\": \"Sent by OpenClaw agent at TIMESTAMP\"
}
]
}
]
}" \
"$SLACK_WEBHOOK_URL"
- Confirm delivery. Report the HTTP status code back to the user. A 200 response means the message was delivered successfully.
Constraints
- Only send messages to the webhook URL configured in the
SLACK_WEBHOOK_URL environment variable.
- Do NOT attempt to read messages from Slack.
- Do NOT store the webhook URL in any file — it must only be accessed from the environment variable.
- All network calls go to
hooks.slack.com only.