Dash0 Raises $110M Series B at $1B Valuation

Last updated: July 5, 2026

Use Slack Tools

Use Slack tools in automations to send messages, add reactions, and read channel content.

Automations can call Slack tools to send messages, add reactions, and read channel content. Slack tools work with any Network Access setting. Enable Slack tools by including them in Allowed Tools in the automation's guardrails.

Send Messages with slackSendMessage

Post messages to Slack channels and reply in threads.

Parameters

  • teamId: Optional. Slack workspace ID. If omitted, uses your organization's connected workspace.
  • channelId: Required. Channel ID or channel name (with or without #). Examples: C123456789, incidents, #platform-team.
  • text: Required. Message text in standard Markdown format. Maximum 40,000 characters. The text is automatically converted to Slack's rich text format.
  • threadTimestamp: Optional. Parent message timestamp. If provided, posts as a threaded reply.

Example Usage in Prompt

123456
Query error rate for service {{label.service}} over the last hour.
Post your findings to #incidents using slackSendMessage with:
- Channel: incidents
- Text: A summary of your analysis with error count, rate, and trend
- Thread: Reply to timestamp {{slack.message.timestamp}} if this was triggered by a Slack message

Markdown Formatting

Use standard Markdown syntax in the message text. The tool automatically converts it to Slack's rich text format:

  • Bold: **bold text** or __bold text__
  • Italic: *italic text* or _italic text_
  • Code: `inline code`
  • Code block: ```language\ncode block\n```
  • Links: [link text](https://example.com)
  • Lists: Use - or * for bullets, 1. for numbered lists
  • Headings: # Heading 1, ## Heading 2, etc.
Note

Do NOT use Slack-specific mrkdwn syntax like <https://example.com|label> or <@U123456789> for mentions. Use standard Markdown instead, and the tool will handle the conversion.

Agent0 can format messages in markdown. Specify formatting requirements in your prompt.

Add Reactions with slackAddReaction

Add emoji reactions to messages.

Parameters

  • teamId: Required. Slack workspace (team) ID.
  • channelId: Required. Channel ID (not channel name). Must be a Slack channel ID like C123456789.
  • messageTimestamp: Required. Timestamp of the message to react to.
  • emoji: Required. Emoji name without colons (e.g., white_check_mark, rocket, eyes).

Example Usage in Prompt

1234567
After you've completed the investigation, add a :white_check_mark: reaction to the original message using slackAddReaction.
Use:
- Team ID: {{slack.team.id}}
- Channel ID: {{slack.channel.id}}
- Message timestamp: {{slack.message.timestamp}}
- Emoji: white_check_mark
Note

The emoji parameter accepts names without colons. Use eyes not :eyes:, and white_check_mark not :white_check_mark:.

List Channels with slackListChannels

Retrieve a list of channels in the Slack workspace.

Parameters

  • teamId: Optional. Slack workspace ID.

Example Usage in Prompt

123
First, list all channels using slackListChannels to find channels with names containing "incident".
Then post your health report to each matching channel.

Use this tool when you need to discover channels dynamically rather than hardcoding channel names.

Get Message with slackGetMessage

Fetch a specific message and optionally its thread replies.

Parameters

  • teamId: Optional. Slack workspace ID.
  • channelId: Required. Channel ID (not channel name). Must be a Slack channel ID like C123456789.
  • messageTimestamp: Required. Timestamp of the message to retrieve.
  • includeThread: Optional. Boolean. If true, includes threaded replies (up to a limit).

Example Usage in Prompt

12345678
Someone reacted to a message. Use slackGetMessage to fetch the full message and thread context.
Parameters:
- Channel ID: {{slack.channel.id}}
- Message timestamp: {{slack.message.timestamp}}
- Include thread: true
Analyze the thread conversation for context before responding.

List Channel Messages with slackListChannelMessages

Retrieve messages from a channel with pagination support.

Parameters

  • teamId: Optional. Slack workspace ID.
  • channelId: Required. Channel ID (not channel name). Must be a Slack channel ID like C123456789.
  • limit: Optional. Number of messages to retrieve (default: 50, max: 200).
  • oldest: Optional. Unix timestamp (seconds). Only return messages after this time.
  • latest: Optional. Unix timestamp (seconds). Only return messages before this time.
  • cursor: Optional. Pagination cursor from a previous call.
  • authorUserId: Optional. Filter to messages sent by a specific Slack user ID. Applied within the fetched page only.
  • textContains: Optional. Case-insensitive substring filter. Only returns messages containing this text. Applied within the fetched page only.

Example Usage in Prompt

1234567
List the last 100 messages from the incidents channel using slackListChannelMessages.
Parameters:
- Channel ID: {{slack.channel.id}}
- Limit: 100
Search the messages for mentions of service {{label.service}} and summarize relevant discussion.
Note

The authorUserId and textContains filters are applied only within the fetched page. To search more messages, widen the time window with oldest/latest or use the cursor parameter to fetch additional pages.

Use this tool to analyze recent channel activity or search for historical context.

Configure Guardrails for Slack Tools

To allow automations to call Slack tools, configure guardrails appropriately.

Allowed Tools

Include Slack tools in the Allowed Tools list:

  • slack:* — Allow all Slack tools (recommended for most use cases)
  • slack:slackSendMessage — Allow only sending messages
  • slack:slackAddReaction — Allow only adding reactions
  • slack:slackListChannels, slack:slackGetMessage, slack:slackListChannelMessages — Allow specific read-only tools

About smart defaults:

  • If Allowed Tools is empty, Slack write tools (slackSendMessage, slackAddReaction) are granted only for Slack-triggered automations (message, reaction, or failed check triggers from Slack).
  • Schedule- or webhook-triggered automations must explicitly list slack:* or specific Slack tools in Allowed Tools to post to Slack.

Required Tool Calls

Add slackSendMessage to Required Tool Calls if the automation must post to Slack. This prevents runs from completing without posting a response.

Example guardrail configuration for a Slack-triggered investigation:

  • Allowed Tools: slack:*, dash0:*
  • Required Tool Calls: slackSendMessage
  • Timeout: 10 minutes
  • Concurrency: Queue

Further Reading