---
title: "Slack"
description: "Reference for the Tracecat Slack integration: registered actions, required secrets, expected inputs, and example workflow usage."
---

{/* Auto-generated by scripts/generate_tool_docs.py; do not edit by hand. */}
## Add reaction

Action ID: `tools.slack.add_reaction`

Add a reaction to a message in a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/reactions.add/](https://docs.slack.dev/reference/methods/reactions.add/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to add the reaction to.

</ParamField>

<ParamField path="name" type="string" required>

Name of the reaction to add.

</ParamField>

<ParamField path="timestamp" type="string" required>

Timestamp of the message to add the reaction to.

</ParamField>

## Archive channel

Action ID: `tools.slack.archive_channel`

Archive a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/conversations.archive/](https://docs.slack.dev/reference/methods/conversations.archive/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to archive.

</ParamField>

## Create channel

Action ID: `tools.slack.create_channel`

Create a new Slack channel.

Reference: [https://docs.slack.dev/reference/methods/conversations.create/](https://docs.slack.dev/reference/methods/conversations.create/)

### Input fields

<ParamField path="name" type="string" required>

Name of the channel to create.

</ParamField>

<ParamField path="is_private" type="boolean">

Whether the channel is private.

Default: `false`.

</ParamField>

## Delete message

Action ID: `tools.slack.delete_message`

Delete a message from a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/chat.delete/](https://docs.slack.dev/reference/methods/chat.delete/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to delete the message from.

</ParamField>

<ParamField path="ts" type="string" required>

Timestamp of the message to delete.

</ParamField>

## Get reactions

Action ID: `tools.slack.get_reactions`

Get reactions to a message.

Reference: [https://docs.slack.dev/reference/methods/reactions.get/](https://docs.slack.dev/reference/methods/reactions.get/)

### Input fields

<ParamField path="channel" type="string" required>

The channel to get reactions from.

</ParamField>

<ParamField path="timestamp" type="string" required>

The timestamp of the message to get reactions from.

</ParamField>

## Get user profile

Action ID: `tools.slack.get_profile`

Get a user's profile.

Reference: [https://docs.slack.dev/reference/methods/users.profile.get/](https://docs.slack.dev/reference/methods/users.profile.get/)

### Input fields

<ParamField path="user" type="string" required>

ID of the user to get the profile of.

</ParamField>

## Invite members to channel

Action ID: `tools.slack.invite_members`

Invite members to a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/conversations.invite/](https://docs.slack.dev/reference/methods/conversations.invite/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to invite members to.

</ParamField>

<ParamField path="users" type="array[string]" required>

List of user IDs to invite to the channel.

</ParamField>

## Kick member

Action ID: `tools.slack.kick_member`

Kick a member from a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/conversations.kick/](https://docs.slack.dev/reference/methods/conversations.kick/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to kick members from.

</ParamField>

<ParamField path="user" type="string" required>

ID of the user to kick from the channel.

</ParamField>

## List channels

Action ID: `tools.slack.list_channels`

List all channels.

Reference: [https://docs.slack.dev/reference/methods/conversations.list/](https://docs.slack.dev/reference/methods/conversations.list/)

### Input fields

<ParamField path="exclude_archived" type="boolean">

Whether to exclude archived channels from the list.

Default: `false`.

</ParamField>

<ParamField path="limit" type="integer">

Maximum number of channels to return.

Default: `100`.

</ParamField>

<ParamField path="types" type="array[string]">

Types of channels to return.

Default: `[
  "public_channel",
  "private_channel"
]`.

</ParamField>

## List conversation replies

Action ID: `tools.slack.list_replies`

List replies to a conversation in a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/conversations.replies/](https://docs.slack.dev/reference/methods/conversations.replies/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to list replies from.

</ParamField>

<ParamField path="ts" type="string" required>

Timestamp of the thread's parent message or message in the thread to list replies from. Also known as `thread_ts` in some Slack responses.

</ParamField>

## List members

Action ID: `tools.slack.list_members`

List members of a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/conversations.members/](https://docs.slack.dev/reference/methods/conversations.members/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to list members of.

</ParamField>

<ParamField path="limit" type="integer">

Maximum number of members to return.

Default: `100`.

</ParamField>

## List messages

Action ID: `tools.slack.list_messages`

List messages from a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/conversations.history/](https://docs.slack.dev/reference/methods/conversations.history/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to list messages from.

</ParamField>

<ParamField path="latest" type="string | null">

Unix timestamp of the latest message to return.

Default: `null`.

</ParamField>

<ParamField path="limit" type="integer">

Maximum number of messages to return.

Default: `100`.

</ParamField>

<ParamField path="oldest" type="string | null">

Unix timestamp of the oldest message to return.

Default: `null`.

</ParamField>

## List users

Action ID: `tools.slack.list_users`

List users in a Slack workspace.

Reference: [https://docs.slack.dev/reference/methods/users.list/](https://docs.slack.dev/reference/methods/users.list/)

### Input fields

<ParamField path="include_locale" type="boolean">

Whether to include the locale in the response.

Default: `false`.

</ParamField>

<ParamField path="limit" type="integer">

The maximum number of users to return.

Default: `100`.

</ParamField>

## Lookup many users by email

Action ID: `tools.slack.lookup_users_by_email`

Lookup users by emails. Returns a list of users found and a list of users not found.

Reference: [https://docs.slack.dev/reference/methods/users.lookupByEmail/](https://docs.slack.dev/reference/methods/users.lookupByEmail/)

### Secrets

Required secrets:

- `slack`: required values `SLACK_BOT_TOKEN`.

### Input fields

<ParamField path="emails" type="array[string]" required>

List of user emails.

</ParamField>

## Lookup user by email

Action ID: `tools.slack.lookup_user_by_email`

Get a Slack user by email.

Reference: [https://docs.slack.dev/reference/methods/users.lookupByEmail/](https://docs.slack.dev/reference/methods/users.lookupByEmail/)

### Input fields

<ParamField path="email" type="string" required>

Email of an existing user.

</ParamField>

## Open view

Action ID: `tools.slack.open_view`

Open a view. Used to create a pop up modal.

Reference: [https://docs.slack.dev/reference/methods/views.open/](https://docs.slack.dev/reference/methods/views.open/)

### Input fields

<ParamField path="trigger_id" type="string" required>

Trigger ID from a Slack interaction payload. See: https://docs.slack.dev/reference/interaction-payloads/block_actions-payload/

</ParamField>

<ParamField path="view" type="object" required>

View payload for the modal to open. See: https://docs.slack.dev/reference/views/modal-views/

</ParamField>

## Post message

Action ID: `tools.slack.post_message`

Post a message to a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/chat.postMessage/](https://docs.slack.dev/reference/methods/chat.postMessage/)

### Input fields

<ParamField path="channel" type="string" required>

The channel to post the message to.

</ParamField>

<ParamField path="blocks" type="array[object] | null">

List of JSON-based blocks.

Default: `null`.

</ParamField>

<ParamField path="markdown_text" type="string | null">

The text to post to Slack, in Markdown format.

Default: `null`.

</ParamField>

<ParamField path="text" type="string | null">

The message to post to Slack.

Default: `null`.

</ParamField>

<ParamField path="thread_ts" type="string | null">

The timestamp of the thread to reply to.

Default: `null`.

</ParamField>

<ParamField path="unfurl_links" type="boolean">

Whether to unfurl links in the message.

Default: `true`.

</ParamField>

<ParamField path="unfurl_media" type="boolean">

Whether to unfurl media in the message.

Default: `false`.

</ParamField>

## Remove reaction

Action ID: `tools.slack.remove_reaction`

Remove a reaction from a message in a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/reactions.remove/](https://docs.slack.dev/reference/methods/reactions.remove/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to remove the reaction from.

</ParamField>

<ParamField path="name" type="string" required>

Name of the reaction to remove.

</ParamField>

<ParamField path="timestamp" type="string" required>

Timestamp of the message to remove the reaction from.

</ParamField>

## Revoke sessions

Action ID: `tools.slack.revoke_sessions`

Revoke all sessions on all devices for a Slack user.

Reference: [https://docs.slack.dev/reference/methods/admin.users.session.reset/](https://docs.slack.dev/reference/methods/admin.users.session.reset/)

### Input fields

<ParamField path="user_id" type="string" required>

ID of an existing user.

</ParamField>

## Search messages

Action ID: `tools.slack.search_messages`

Search for messages matching a query in a Slack workspace.

Reference: [https://docs.slack.dev/reference/methods/search.messages/](https://docs.slack.dev/reference/methods/search.messages/)

### Secrets

Required secrets:

- `slack_oauth`: OAuth token `SLACK_USER_TOKEN`.

### Input fields

<ParamField path="query" type="string" required>

Search query. To search within a channel / specific user, add `in:channel_name` / `from:&lt;@user_id>` to the query.

</ParamField>

<ParamField path="count" type="integer">

Number of messages to return.

Default: `20`.

</ParamField>

<ParamField path="cursor" type="string | null">

For the first call send '*', for subsequent calls send the value of `next_cursor` from the previous call.

Default: `null`.

</ParamField>

<ParamField path="sort" type="string">

Sort by score or timestamp.

Default: `"score"`.

Allowed values: `score`, `timestamp`.

</ParamField>

## Set channel description

Action ID: `tools.slack.set_channel_description`

Set the description of a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/conversations.setPurpose/](https://docs.slack.dev/reference/methods/conversations.setPurpose/)

### Input fields

<ParamField path="channel" type="string" required>

The ID of the channel to set the description for.

</ParamField>

<ParamField path="description" type="string" required>

The description to set for the channel.

</ParamField>

## Set channel topic

Action ID: `tools.slack.set_channel_topic`

Set the topic of a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/conversations.setTopic/](https://docs.slack.dev/reference/methods/conversations.setTopic/)

### Input fields

<ParamField path="channel" type="string" required>

The ID of the channel to set the topic for.

</ParamField>

<ParamField path="topic" type="string" required>

The topic to set for the channel.

</ParamField>

## Update message

Action ID: `tools.slack.update_message`

Update a message in a Slack channel.

Reference: [https://docs.slack.dev/reference/methods/chat.update/](https://docs.slack.dev/reference/methods/chat.update/)

### Input fields

<ParamField path="channel" type="string" required>

ID of the channel to update the message in.

</ParamField>

<ParamField path="ts" type="string" required>

Timestamp of the message to update.

</ParamField>

<ParamField path="blocks" type="array[object] | null">

List of JSON-based blocks.

Default: `null`.

</ParamField>

<ParamField path="markdown_text" type="string | null">

The text to update the message with, in Markdown format.

Default: `null`.

</ParamField>

<ParamField path="text" type="string | null">

New text for the message.

Default: `null`.

</ParamField>

## Update view

Action ID: `tools.slack.update_view`

Update a view. Used to update a pop up modal.

Reference: [https://docs.slack.dev/reference/methods/views.update/](https://docs.slack.dev/reference/methods/views.update/)

### Input fields

<ParamField path="view" type="object" required>

Updated view payload for the modal. See: https://docs.slack.dev/reference/views/modal-views/

</ParamField>

<ParamField path="view_id" type="string" required>

ID of the view to update.

</ParamField>
