Channel tools
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-slackThe command adds the package to dependencies and updates the lockfile. Declare
Slack under pi.channels in 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:
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:
{
"pi": {
"channels": [
{ "provider": "slack", "commands": ["read", "reply"] }
]
}
}The Slack adapter supports these actions:
| Command | What it lets the agent do |
|---|---|
list | Find Slack channels available to the connected app. |
read | Read messages in a channel or thread. |
reply | Answer in the conversation that started the task. |
send | Send a message to a channel or specified thread. |
react | Add or remove a reaction. |
edit and retract | Change or remove a message the agent sent. |
fetch_file | Download 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 checkUse 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.