Skip to Content
Platform
Agent RecipesChannel tools

Channel tools

Configure the channels tool in package.json, then select it in each agent that should work with external conversations.

Channels let a Recipe agent read and answer conversations in a supported chat service. Declare the provider adapter under pi.channels, then add channels to each agent that should use it. Slack is the currently available provider.

Declare the Slack provider

From the Recipe directory, install the Slack adapter:

npm install @introspection-ai/recipe-channel-slack

The command adds the package to dependencies and updates the lockfile. Declare Slack under pi.channels in package.json:

package.json
{ "name": "support-agent", "type": "module", "pi": { "channels": [{ "provider": "slack" }] } }

Commit package.json and the lockfile together.

Select the tool for an agent

Add channels to the agent’s tools. Give the agent instructions that explain how it should use the conversation:

agents/agent.yaml
name: agent description: Answer support questions in the channel that requested help. ai: model: anthropic/claude-sonnet-4-6 tools: [channels] system_instructions: mode: append content: | Read the Slack conversation when you need context for the request. Reply in the same conversation with the completed answer. Ask for missing information in the same conversation.

The runtime supplies the authorized Slack account and the conversation that started the task.

Limit the available actions

The provider declaration can restrict the actions available to every agent in the Recipe:

package.json
{ "pi": { "channels": [ { "provider": "slack", "commands": ["read", "reply"] } ] } }

The Slack adapter supports these actions:

CommandWhat it lets the agent do
listFind Slack channels available to the connected app.
readRead messages in a channel or thread.
replyAnswer in the conversation that started the task.
sendSend a message to a channel or specified thread.
reactAdd or remove a reaction.
edit and retractChange or remove a message the agent sent.
fetch_fileDownload an attachment from a conversation.

Omit commands to allow every action supported by the adapter. Each agent must still include channels in its own tools list.

Validate the configuration

Run the Recipe checker from the repository that contains its runtime manifest:

introspection check

Use introspection dev --logs when testing Slack with local Recipe changes. The channel development workflow explains how to run the local changes and verify the conversation flow. See the package.json manifest reference for every channel field.

Last updated on