Shipfox

Slack agent tools

Look up the Slack tools, selectors, permissions, inputs, and outputs available to agent steps.

This reference lists the shipped Slack agent-tool catalog. See the Slack overview for authentication and setup.

Selectors

Use a standalone tool selector in an agent step's integrations: block. For the agent integration contract, see the workflow schema reference.

Tool catalog

The catalog uses the Slack bot scopes required by each tool. Read tools inspect workspace data. Write tools change messages, reactions, or canvases, and the workflow step's integrations entry must set allow_write: true or Shipfox rejects the step at validation.

tools

read_channel

Read messages from a Slack channel in reverse chronological order (newest first). Reading direct message history needs the ID of that conversation, not the ID of the user on the other side.

Sensitivity: read.

Sensitive: No.

Required permissions: read

Selector tokens: read_channel

Input
FieldTypeRequiredDescription
channel_idstringRequiredChannel, private group, or direct message conversation ID, such as C0ABC12345 or D0ABC12345. A user ID is not accepted here
oldeststringOptionalStart of the time range, as a Slack timestamp
lateststringOptionalEnd of the time range, as a Slack timestamp
limitintegerOptionalMessages to return, 1 to 100 (default 100)
cursorstringOptionalPagination cursor from a previous request

read_thread

Read a Slack thread: the parent message and all of its replies. Requires the channel ID and the timestamp of the parent message.

Sensitivity: read.

Sensitive: No.

Required permissions: read

Selector tokens: read_thread

Input
FieldTypeRequiredDescription
channel_idstringRequiredChannel, private group, or direct message conversation ID, such as C0ABC12345 or D0ABC12345. A user ID is not accepted here
message_tsstringRequiredTimestamp of the parent message, such as 1234567890.123456
oldeststringOptionalStart of the time range, as a Slack timestamp
lateststringOptionalEnd of the time range, as a Slack timestamp
limitintegerOptionalMessages to return, 1 to 1000 (default 100)
cursorstringOptionalPagination cursor from a previous request

read_channel_info

Retrieve metadata for a single Slack channel by ID: name, topic, purpose, privacy, and archive status. Use this to learn what a channel is for before reading or posting. To read its messages, use read_channel instead.

Sensitivity: read.

Sensitive: No.

Required permissions: read

Selector tokens: read_channel_info

Input
FieldTypeRequiredDescription
channel_idstringRequiredChannel, private group, or direct message conversation ID, such as C0ABC12345 or D0ABC12345. A user ID is not accepted here
include_num_membersbooleanOptionalInclude the channel member count (default false)

read_channel_members

List the user IDs of the members of a Slack channel. Pair it with read_user_profile to resolve a member to a name.

Sensitivity: read.

Sensitive: No.

Required permissions: read

Selector tokens: read_channel_members

Input
FieldTypeRequiredDescription
channel_idstringRequiredChannel, private group, or direct message conversation ID, such as C0ABC12345 or D0ABC12345. A user ID is not accepted here
limitintegerOptionalMembers to return per page (default 100)
cursorstringOptionalPagination cursor from a previous request

read_user_profile

Retrieve profile information for a Slack user, including contact details, status, timezone, and role.

Sensitivity: read.

Sensitive: No.

Required permissions: read

Selector tokens: read_user_profile

Input
FieldTypeRequiredDescription
user_idstringRequiredSlack user ID, such as U0ABC12345
include_localebooleanOptionalInclude the user's locale information (default false)

search_channels

Search the channels this integration can see, by name, topic, or purpose. Returns channel names, IDs, topics, purposes, and archive status. Names are typically lowercase with hyphens. Space-separated terms all have to match. Only the requested page is searched, so page through with the returned cursor when a channel is missing.

Sensitivity: read.

Sensitive: No.

Required permissions: read

Selector tokens: search_channels

Input
FieldTypeRequiredDescription
querystringRequiredSearch query for finding channels
channel_typesstringOptionalComma-separated channel types: public_channel, private_channel. Defaults to public_channel
include_archivedbooleanOptionalInclude archived channels in the results
limitintegerOptionalChannels to scan per page (default 100)
cursorstringOptionalPagination cursor from a previous request

send_message

Send a message to a Slack channel or user. To send a direct message, pass the user ID as the channel ID. Supports standard Markdown: bold, italic, strikethrough, links, lists, blockquotes, inline code, and code blocks. Returns the posted message timestamp.

Sensitivity: write.

Sensitive: No.

Required permissions: write

Selector tokens: send_message

Input
FieldTypeRequiredDescription
channel_idstringRequiredChannel, private group, or direct message conversation ID. Pass a user ID to open a direct message with that user
messagestringRequiredMessage content, written as standard Markdown
thread_tsstringOptionalTimestamp of the parent message to reply in its thread
reply_broadcastbooleanOptionalAlso send the thread reply to the channel

schedule_message

Schedule a message for future delivery to a Slack channel. Does not send immediately. post_at has to be at least 2 minutes in the future and at most 120 days out. Once scheduled, the message cannot be edited.

Sensitivity: write.

Sensitive: No.

Required permissions: write

Selector tokens: schedule_message

Input
FieldTypeRequiredDescription
channel_idstringRequiredChannel, private group, or direct message conversation ID. Pass a user ID to open a direct message with that user
messagestringRequiredMessage content, written as standard Markdown
post_atintegerRequiredUnix timestamp at which to send the message
thread_tsstringOptionalTimestamp of the parent message to reply in its thread
reply_broadcastbooleanOptionalAlso send the thread reply to the channel

update_message

Update an already posted Slack message, replacing its content. Supports the same standard Markdown as send_message.

Sensitivity: write.

Sensitive: No.

Required permissions: write

Selector tokens: update_message

Input
FieldTypeRequiredDescription
channel_idstringRequiredChannel, private group, or direct message conversation ID, such as C0ABC12345 or D0ABC12345. A user ID is not accepted here
message_tsstringRequiredTimestamp of the message to update
messagestringRequiredMessage content, written as standard Markdown

add_reaction

Add an emoji reaction to a Slack message.

Sensitivity: write.

Sensitive: No.

Required permissions: write

Selector tokens: add_reaction

Input
FieldTypeRequiredDescription
channel_idstringRequiredChannel, private group, or direct message conversation ID, such as C0ABC12345 or D0ABC12345. A user ID is not accepted here
message_tsstringRequiredTimestamp of the message to react to
emojistringRequiredEmoji name without the surrounding colons, such as white_check_mark

create_canvas

Create a standalone Slack canvas from Markdown and return its ID. Not available on free teams.

Sensitivity: write.

Sensitive: No.

Required permissions: write

Selector tokens: create_canvas

Input
FieldTypeRequiredDescription
titlestringRequiredConcise, descriptive canvas name. Do not repeat it in the content
contentstringRequiredCanvas body, written as standard Markdown
Was this page helpful?
Edit this page on GitHub

On this page