Loading...
Loading...
Slack messaging, channels, and notifications - send messages, manage channels, interact with users, upload files, and add reactions. Use for team communication, incident notifications, and workflow alerts.
npx skill4agent add oimiragieo/agent-studio slack-notificationschat:writechannels:readchannels:historyusers:readfiles:writereactions:writeSLACK_BOT_TOKEN| Category | Tools | Confirmation Required |
|---|---|---|
| Messaging | post-message, post-thread, update-message, delete-message | Yes (all) |
| Channels | list-channels, get-channel, channel-history | No |
| Users | list-users, get-user, user-presence | No |
| Files | upload-file, list-files | Yes (upload only) |
| Reactions | add-reaction, get-reactions | No |
# Post message to channel
curl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel": "C1234567890", "text": "Hello from Claude!"}'
# List channels
curl -X GET "https://slack.com/api/conversations.list" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"
# Upload file
curl -X POST https://slack.com/api/files.upload \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-F "channels=C1234567890" \
-F "file=@report.pdf" \
-F "title=Weekly Report"channeltextthread_tsblockscurl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "C1234567890",
"text": "Deployment successful!",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Deployment Status*\n:white_check_mark: Production deployed successfully"
}
}
]
}'channelthread_tstextcurl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "C1234567890",
"thread_ts": "1234567890.123456",
"text": "Thread reply here"
}'channeltstextcurl -X POST https://slack.com/api/chat.update \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "C1234567890",
"ts": "1234567890.123456",
"text": "Updated message"
}'channeltscurl -X POST https://slack.com/api/chat.delete \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "C1234567890",
"ts": "1234567890.123456"
}'typeslimitcurl -X GET "https://slack.com/api/conversations.list?types=public_channel,private_channel" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"channelcurl -X GET "https://slack.com/api/conversations.info?channel=C1234567890" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"channellimitoldestlatestcurl -X GET "https://slack.com/api/conversations.history?channel=C1234567890&limit=50" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"limitcurl -X GET "https://slack.com/api/users.list" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"usercurl -X GET "https://slack.com/api/users.info?user=U1234567890" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"usercurl -X GET "https://slack.com/api/users.getPresence?user=U1234567890" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"channelsfiletitleinitial_commentcurl -X POST https://slack.com/api/files.upload \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-F "channels=C1234567890" \
-F "file=@C:\reports\weekly.pdf" \
-F "title=Weekly Report" \
-F "initial_comment=Here is this week's report"channelusercountcurl -X GET "https://slack.com/api/files.list?channel=C1234567890" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"channeltimestampnamecurl -X POST https://slack.com/api/reactions.add \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "C1234567890",
"timestamp": "1234567890.123456",
"name": "thumbsup"
}'channeltimestampcurl -X GET "https://slack.com/api/reactions.get?channel=C1234567890×tamp=1234567890.123456" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"# Notify channel of successful deployment
curl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "#deployments",
"text": ":rocket: Production deployment completed",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Production Deployment*\n:white_check_mark: v1.2.3 deployed successfully\n*Duration:* 5m 23s"
}
}
]
}'# Alert on-call team of incident
curl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "#incidents",
"text": "<!channel> :rotating_light: High severity incident detected",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Incident INC-1234*\n:rotating_light: *Severity:* P1\n*Service:* API Gateway\n*Status:* 503 errors increasing"
}
}
]
}'# Post test results
curl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "#qa",
"text": "Test suite completed",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Test Results*\n:white_check_mark: 245 passed\n:x: 3 failed\n:warning: 2 skipped"
}
}
]
}'| Error | Cause | Solution |
|---|---|---|
| Missing or invalid token | Check |
| Invalid channel ID | Verify channel ID with |
| Bot lacks required permission | Add scope in Slack App settings |
| Too many requests | Implement exponential backoff |
| Invalid timestamp | Check message timestamp is correct |
chat.postMessageconversations.listusers.listfiles.upload.claude/context/memory/learnings.md.claude/context/memory/learnings.md.claude/context/memory/issues.md.claude/context/memory/decisions.mdASSUME INTERRUPTION: If it's not in memory, it didn't happen.