# A clearer, more explicit SlackContextProvider

> SlackContextProvider has been simplified to a single, self-documenting configuration surface. The for_bot_read(), for_assistant_search(), and for_write() factory methods have been removed in favor of…

- Published: 2026-04-28
- Author: Agno Team
- Category: Changelog
- Canonical: https://agno-com-nine.vercel.app/articles/slackcontextprovider
- Markdown: https://agno-com-nine.vercel.app/articles/slackcontextprovider.md

SlackContextProvider has been simplified to a single, self-documenting configuration surface. The `for_bot_read()`, `for_assistant_search()`, and `for_write()` factory methods have been removed in favor of explicit flags on the provider, and SlackTools construction is now inlined so the underlying tool exposes its own capabilities directly. A new opt-in `enable_workspace_search` parameter is also available for agents that need to search across the workspace.

**Action required:** If you previously instantiated SlackContextProvider through one of the factory methods, replace those calls with direct construction using the relevant flags. Code that already constructs the provider directly is unaffected.

**Why it matters:** Factory methods made it harder to see what an agent could actually do with Slack at a glance, and forced runtime mode-switching when configurations needed to combine read, search, and write. Explicit flags make capability composition obvious in the agent definition, simplify reasoning about least-privilege access, and remove a layer of indirection that was easy to misconfigure.

Check out the [cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/12_context/05_slack.py) for more.
