Skip to content

Connect Slack

Solutioneer uses the Composio slack toolkit to read channel history and threads during discovery. It is read-only — Solutioneer does not post to Slack in v1.

  • A Composio API key in .env.
  • A Slack workspace account with access to the channels you want Solutioneer to read. Private channels require the user to be a member.

The slack toolkit bundles read-only workspace access under one OAuth connection. After connecting, Solutioneer can call these specific tool slugs:

  • SLACK_SEARCH_MESSAGES — search across accessible channels and DMs.
  • SLACK_FETCH_CONVERSATION_HISTORY — pull recent messages from a channel or DM.
  • SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION — fetch a specific thread.
  • SLACK_FIND_CHANNELS — locate channels by name.
  • SLACK_RETRIEVE_CONVERSATION_INFORMATION — metadata about a conversation.

All five are read-only.

The normal flow runs inside Codex during an ingestion request:

  1. Ask Solutioneer to pull from Slack. For example: “Ingest the #acme-health channel into a fact sheet.”
  2. Codex verifies that COMPOSIO_API_KEY is present.
  3. Codex checks whether the slack toolkit is connected.
  4. If it is not, Codex offers Connect now / Skip.
  5. Connect now opens the Composio hosted login page in a browser tab.
  6. You complete the Slack OAuth flow and approve the workspace scopes.
  7. Codex polls the connected account until it becomes ACTIVE.
  8. Once active, Codex reads the requested messages.

If browser tooling is unavailable, Codex provides the login link in chat and waits for you to finish the flow.

If you prefer to connect ahead of time:

  1. Open the Composio dashboard.
  2. Go to Connections (or Toolkits).
  3. Find the slack toolkit.
  4. Click Connect and complete the Slack OAuth flow.
  5. Confirm the connection shows as Active.
  • Discovery Context Ingester — the primary consumer. Messages and threads are normalized into the fact sheet with composio://slack/... provenance markers.

Ingestion is triggered explicitly. Codex will not read from Slack unless you name a Slack channel, thread, or the slack source directly. Once the toolkit is connected, subsequent ingestion runs do not re-prompt for consent.

  • Channel not found. The authenticated user must be a member of the channel (including private channels). Join the channel and retry, or ask an admin for access.
  • No results from search. Slack’s search index can lag by a few minutes on large workspaces. Retry after a short wait or narrow the query.
  • Connection stuck in pending. Re-open the Composio link and finish sign-in. Codex polls for up to five minutes before timing out.
  • Wrong workspace. Each Slack OAuth flow is tied to the workspace you sign in with. Disconnect the toolkit and reconnect with the right workspace if needed.

See Troubleshooting for more.