Send a Slack message
send_messagePost bot messages to Slack channels, threads, or user DMs, returning the message timestamp so you can reply in-thread or wait for a response.
Instructions
Post a message as the bot to a channel, a thread, or a user's DM. target accepts a channel ID (C…), #channel-name, user ID (U…), @handle, email, or a person's name; users get a direct message. Use context to add small reference details under a divider at the bottom (Jira ticket, comment link, source, IDs). Use blocks only when you need a custom Block Kit layout (header, fields, images, etc.). Returns the message ts, which you can pass to wait_for_reply or use as thread_ts to reply in a thread.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Message content. When `blocks` is set, this is only the notification/fallback text, so keep it a short summary | |
| blocks | No | Custom Slack Block Kit blocks (https://docs.slack.dev/reference/block-kit/blocks), e.g. header, section with fields, image, markdown, context, divider. Replaces the rendered `text`; `context` is still appended. Do not use interactive elements (buttons, menus): this server does not handle clicks. | |
| format | No | markdown: standard Markdown rendered by Slack. plain: sent as-is | markdown |
| target | Yes | Channel ID, #channel-name, user ID, @handle, email, or name | |
| context | No | Small grey details shown under a divider at the bottom of the message, joined with ·. Example: [{label:"Jira", value:"VEC-123", url:"https://…"}, {label:"Comment", value:"#4521", url:"https://…"}] | |
| thread_ts | No | Timestamp of the parent message, to reply inside that thread | |
| expect_reply | No | Set true when the message asks something you need an answer to. The question is saved as pending, so check_replies can find the answer later, even from a new session. |