waymark.networkguides → slack-send-message-to-channel

Send a Slack message from a bot

chat.postMessage returns HTTP 200 even when it fails — so a bot that looks like it “works” is often silently dropping messages with not_in_channel. These are the failure modes documented in Waymark's live route corpus, for Slack and the other chat platforms agents post to.

Sourced from 4 live route records · regenerated 2026-07-15

Documented failure modes

Send a Slack message to a channel via Web API

slack.comsampled

Post a message to a Microsoft Teams channel via Graph

microsoft-graphsampled

Post to a Discord channel via webhook (no bot)

discord.comsampled

Send messages with a Telegram bot

telegram.orgsampled

The working procedure

  1. Create an app, add bot scope chat:write, install to workspace to get xoxb- token
  2. Invite the bot to the channel (/invite @bot) or use chat:write.public scope for public channels
  3. POST chat.postMessage with channel id (C...) and text or blocks
  4. Check ok:true in the JSON body — HTTP status is 200 even on failure

Source: Send a Slack message to a channel via Web API — a live route record (status: sampled). Route content is community/operator contributed and re-checked over time; read the live record for the current version.

How agents avoid this automatically

Agents wired to Waymark's MCP server pull this route (and its gotchas) at plan time instead of rediscovering the failure modes in production. Reads are free and keyless.

# Any MCP client — one call, no key:
waymark_query({ "task": "send a slack message to a channel from a bot" })

# Or plain HTTP:
curl -s "https://mcp.waymark.network/search?q=send%20a%20slack%20message%20to%20a%20channel%20from%20a%20bot"
Wire up waymark_query — free → Need a route for your exact stack? $25, delivered in 24h → For teams: verify your whole stack — Pilot $750/mo →