Loading...
Loading...
Send messages, search history, and manage channels via Slack's Web API. Use when the user mentions Slack, a channel, a DM, or wants to post to a specific user/group.
npx skill4agent add acedatacloud/skills slackcurl + jq$SLACK_TOKENAuthorization: Bearer $SLACK_TOKENok{"ok": false, "error": "<reason>"}errorauth.testauth.testuser_idcurl -sS -H "Authorization: Bearer $SLACK_TOKEN" \
https://slack.com/api/auth.test
# {"ok": true, "team": "...", "team_id": "...", "user": "<bot>", "user_id": "U..."}curl -sS -H "Authorization: Bearer $SLACK_TOKEN" \
"https://slack.com/api/conversations.list?limit=1000&types=public_channel,private_channel" \
| jq -r --arg name "general" '.channels[] | select(.name == $name) | .id'curl -sS -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d "$(jq -nc \
--arg ch "C0123456789" \
--arg text "Deploy complete." \
'{channel:$ch, text:$text}')"curl -sS -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d "$(jq -nc \
--arg ch "C0123456789" \
--arg ts "1777656720.123456" \
--arg text "Thanks!" \
'{channel:$ch, thread_ts:$ts, text:$text}')"curl -sS -G \
-H "Authorization: Bearer $SLACK_TOKEN" \
"https://slack.com/api/search.messages" \
--data-urlencode "query=in:#engineering deploy" \
--data-urlencode "count=20"USER_ID=$(curl -sS -G -H "Authorization: Bearer $SLACK_TOKEN" \
"https://slack.com/api/users.lookupByEmail" \
--data-urlencode "email=alice@example.com" \
| jq -r '.user.id')
# DM channels are auto-created the first time you postMessage to a user id.
curl -sS -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d "$(jq -nc --arg ch "$USER_ID" --arg text "Hi from the bot." '{channel:$ch, text:$text}')"UPLOAD=$(curl -sS -G -H "Authorization: Bearer $SLACK_TOKEN" \
"https://slack.com/api/files.getUploadURLExternal" \
--data-urlencode "filename=report.pdf" \
--data-urlencode "length=$(wc -c < report.pdf)")
URL=$(echo "$UPLOAD" | jq -r '.upload_url')
ID=$(echo "$UPLOAD" | jq -r '.file_id')
curl -sS -T report.pdf "$URL"
curl -sS -X POST https://slack.com/api/files.completeUploadExternal \
-H "Authorization: Bearer $SLACK_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d "$(jq -nc --arg fid "$ID" --arg ch "C0123456789" \
'{files:[{id:$fid, title:"report.pdf"}], channel_id:$ch}')"chat.postMessagenot_in_channelconversations.join.oknot_authedinvalid_authauth.acedata.cloud/user/connectionsCDGconversations.listusers.lookupByEmailRetry-After