Skip to Content
Platform
How-toPut your agent in Slack

Put your agent in Slack

People mention your app in a channel or message it directly, and your agent replies in the thread.

You add your own Slack app as a Slack connector; each workspace install names the runtime that replies. Operator’s organization Slack integration is separate and not needed.

You need: a deployed runtime with a version in the connector’s environment (Deploy) and a Slack account that can create apps.

1. Add Slack to your recipe

pnpm add @introspection-ai/recipe-channel-slack
package.json
{ "pi": { "channels": [{ "provider": "slack" }] } }

Add channels to the agent’s tools. It offers reply, send, list, read, react, edit, retract, and fetch_file; limit them with "commands": ["read", "reply"].

2. Create the Slack app

At api.slack.com/apps , choose Create New App → From scratch, one per connector environment.

Slack pageSet
OAuth & Permissions → Redirect URLshttps://api.introspection.dev/v1/oauth/connections/callback
OAuth & Permissions → Bot Token Scopeschat:write, app_mentions:read, channels:history, channels:read, groups:history, groups:read, im:history, im:read, im:write, mpim:history, mpim:read, channels:join, reactions:write, users:read, files:read
App HomeTurn on the Messages Tab.
Manage DistributionActivate public distribution if another workspace installs it.
Basic InformationCopy the Client ID, Client Secret, and Signing Secret.

3. Add the Slack connector

  1. In Settings → Connectors → New connector → Slack, pick the Environment and paste the three values.
  2. Copy the Webhook URL from the connector’s page. It is https://api.introspection.dev/v1/webhooks/slack/<connector-id>; the ID is in introspection connectors get <connector-slug> --query id -o table.
  3. In the Slack app’s Event Subscriptions, paste it as the Request URL and subscribe to the bot events app_mention, message.channels, message.groups, message.im, message.mpim, app_uninstalled, and tokens_revoked.

4. Install it

introspection connectors authorize <connector-slug> --runtime support-agent

Approve it in Slack. For a customer’s workspace, send them the link from connectors authorize-url with the same arguments. A workspace runs the agent named agent.

5. Talk to it

Invite the app (/invite @your-app) and mention it; replies in the thread need no mention. Memory belongs to the channel or DM; a thread quiet for over 14 days starts a fresh task.

Verify

introspection connectors connections list --connector <connector-slug> -o table introspection tasks list --limit 5 -o table

Expect one connection per workspace and a new task after a mention.

Or ask your agent: “Put my support-agent runtime in Slack.”

Know who wrote each message

Each Slack turn ends with <channel_context>, whose from is the sender’s Slack user ID; the agent mentions them with <@U012ABC>. It is attribution, not authorization: tools still act as the channel (approve in Slack). It also carries workspace_id, channel_id, message_id, and sent_at.

Post digests and reminders

  1. Mention the bot once in the target channel; that thread is the standing task.
  2. Get its task ID: the agent has it in INTROSPECTION_TASK_ID.
  3. An owner or admin creates an automation with that task as the target (Run on a schedule).

Tasks started elsewhere can’t post to Slack.

Limits

Not supportedDo this instead
Uploading filesUpload to your storage through a tool and reply with the link.
Interrupts (approval buttons)Ask in the thread with reply.
Emoji reactions as feedbackReactions aren’t delivered; ask the user to reply in the thread.
Last updated on