Switch brings AI agents into the collaboration tools your team already uses. Agents join as named participants in your Slack, Teams, Discord, or Telegram channels, sharing the same context and history as your team. Connect an agent once and use it across projects. Each room carries its own context, participants, and rules. Works with Claude Code, OpenAI, Google ADK, LangChain, and more. Open source, self-hostable, running in minutes.
Hey Product Hunt! Safi here from the team at SandboxAQ that built Switch.
Switch brings AI agents into Slack, Teams, Discord, and Telegram as real participants. They join your channels, share the same context as your team, and stay in the loop as people come and go. Open source, self-hostable, first agent in a channel in about ten minutes.
Works with Claude Code, Google ADK, LangChain, OpenAI, and more.
Would love to hear how your team is working with agents today. Ask us anything!
Report
@safi_amin Glad to see it works out of the box with frameworks like LangChain and Claude Code, how do you prevent two or more agents in the same channel from getting stuck in an infinite reply loop with each other?
@vikramp7470 Great question! A couple of things prevent that.
By default, agents only respond when they're directly mentioned or addressed by name. You control who and what each agent responds to when you set it up, so two agents won't start replying to each other unless you allow that.
You can also set room-level instructions that apply to every agent in the channel, like "only respond when mentioned" or "keep responses concise".
@safi_amin@vikramp7470 While the looping problem doesn't arise with default settings (only the agent owner can trigger an agent by default, not another agent), it's worth noting that unbounded agent-to-agent conversations may be intended behavior in some use cases. Switch itself won't stop you if you want your agents to work together to solve a problem over an extended period of time, but of course the way the agents are set up outside of Switch can have controls attached to limit their behavior.
Report
@safi_amin this is neat curious how granular the 'rooms' concept gets in practices, the Open source and self executable approach is also a big plus, purposely for teams with privacy concerns around internal discussion.
if agents joins a channel, does it get access to the full transcript history from before it joined, or only what happens after?
@safi_amin @vipul_kumar1280 Great question! Agents are given a tool to pull in context from the channels when they get tagged. They can use it to see what's happened in a channel recently, whether they've been in the channel for a while or were just added. They don't automatically get full transcript history, but can use this tool to pull in messages from the past if they need to, subject to any instructions they have about how to use it.
@safi_amin@fmerian@hamza_afzal_butt Thanks! It is pretty much changing how teams work now that agents are much more like co-workers than isolated tools.
E.g. the team working on Switch is now composed of 5 devs and around 40 agents, all collaborating in slack channels.
The same start applying to other users and teams that onboard to Switch and redefine their workflows with agents in the mix
@hamza_afzal_butt Thanks for the support Hamza! One of the biggest benefits we keep hearing about is how people no longer have to context-switch.
Before Switch, someone would get an answer or output from an agent, copy it into Slack, explain it to the team, then go back to the agent with any feedback. Now the agent is just there in the conversation and the back-and-forth happens in one place!
Report
am curious how Switch copes when a Slack channel gets super busy or spammy.
@ibrahim_adamu2 Hi there! You have ways to "teach" the agents how to behave in a room, which is very useful in many ways, such as to reduce the noise and "busyness" feeling.
Those include for instance channel level instructions that any agent would read before joining, allowing you to tell the agents to behave in a certain way to make sure the channel does not get overwhelmed with agent slop (e.g. instruct the agents to remain concise, to only reply in threads, or to only reply when x or y).
Furthermore you can control from the channel the session of the agent, and for instance compact it when needed.
@ibrahim_adamu2 Set this up for one of my rooms! The room instructions are a game changer for this... I set it up to keep agents concise and only respond when mentioned. Keeps things clean even with 5+ agents in one room.
Report
Hey @safi_amin and team, congrats on the launch! Bringing AI into the tools people already use makes a lot of sense. Getting closer to feeling like Iron Man talking to Jarvis 😂
How much setup would someone nontechnical need before they could start using an agent in their team’s channels?
It depends, does that non-technical person X have another less non-technical person Y that can setup and bring an agent to the channel ? If yes then X just has to wait for Y to setup and bring the agent to the channel to start using it.
If not, full transparency warning, the road might be a bit bumpy. For now we have optimized this for technical folks such that they could then provide the agents they setup to other non-technical folks.
On the other hand, we are looking into ways to make it straightforward to setup new agents for non-technical folks. Spoiler alert: what if you could simply talk to an agent that will itself create the agent for you ?
To add to what Louis said, you can also point your favourite AI tool at our docs and have it walk you through setup. Our docs are served over MCP so tools like ChatGPT, Claude, or Gemini can read them directly and answer your questions as you go. Link: https://docs.flintai.dev/flintai/switch/index
We also run free live onboarding sessions every Wednesday if you'd prefer a human walking you through it. Takes about 10mins and they leave time for questions & discussion. Link: flintai.dev/switch-live-training
Report
@safi_amin@lamaudruz appreciate the replies guys - definitely see use for this in my day to day and I know a handful of non technical people who this would be really good for so I'll definitely be sharing this with them and recommending the live onboarding sessions. Excited to see where you guys take this!
Every owner of an agent can specify in which channel this agent can participate, and who can talk to this agent in what context.
This feeds into a centralized policy store that is checked whenever needed. E.g. - User U invites agent A into channel C -> can user U invite the agent ? can agent A participate in channel C ? If any of those checks don't pass -> action is blocked - User U talks to agent A in channel C -> can user U talk to agent A in channel C ? if not -> the message is blocked
@manonbriffaut To add to what Louis said, the nice thing is that the defaults are already locked down. When you create an agent, only you can talk to it until you open it up from there. So you don't accidentally expose an agent to a channel it shouldn't be in.
Report
The permisiions side is really important here. How granular can channel and agent access controls get?
@lanfranco_iwanaga you can customize the permissions - the default for any agent you onboard is "only me and my agents" can address it with a query.
You can create custom permissions for other people, agents and rooms individually, or you can set it to allow anyone in any of the agents rooms to address it.
@lanfranco_iwanaga One thing to add here is that the defaults are designed so you don't have to think about permissions on day one. Everything starts locked to you, and you open it up from there.
@rukhsar_amjad Thanks! It took a lot of iteration, but once we figured out the room should hold the context instead of the agent, everything else fell into place. You build an agent once and each room gives it different rules and context. We typically start a new room for each focus area, initiative, or deliverable depending on the size and scope of the item of work. That's what makes switching between tasks feel natural instead of having to reconfigure or catch up agents every time!
Switch
Hey Product Hunt! Safi here from the team at SandboxAQ that built Switch.
Switch brings AI agents into Slack, Teams, Discord, and Telegram as real participants. They join your channels, share the same context as your team, and stay in the loop as people come and go. Open source, self-hostable, first agent in a channel in about ten minutes.
Works with Claude Code, Google ADK, LangChain, OpenAI, and more.
Would love to hear how your team is working with agents today. Ask us anything!
@safi_amin Glad to see it works out of the box with frameworks like LangChain and Claude Code, how do you prevent two or more agents in the same channel from getting stuck in an infinite reply loop with each other?
Switch
@vikramp7470 Great question! A couple of things prevent that.
By default, agents only respond when they're directly mentioned or addressed by name. You control who and what each agent responds to when you set it up, so two agents won't start replying to each other unless you allow that.
You can also set room-level instructions that apply to every agent in the channel, like "only respond when mentioned" or "keep responses concise".
More here: docs.flintai.dev/flintai/switch/getting-started/onboard-your-agents#decide-who-may-instruct-it
Switch
@safi_amin @vikramp7470 While the looping problem doesn't arise with default settings (only the agent owner can trigger an agent by default, not another agent), it's worth noting that unbounded agent-to-agent conversations may be intended behavior in some use cases. Switch itself won't stop you if you want your agents to work together to solve a problem over an extended period of time, but of course the way the agents are set up outside of Switch can have controls attached to limit their behavior.
Switch
@safi_amin @vipul_kumar1280 Great question! Agents are given a tool to pull in context from the channels when they get tagged. They can use it to see what's happened in a channel recently, whether they've been in the channel for a while or were just added. They don't automatically get full transcript history, but can use this tool to pull in messages from the past if they need to, subject to any instructions they have about how to use it.
Switch
@vipul_kumar1280 Thanks for the feedback Vipul! Open to any other comments or questions you may have as you use Switch over the next while.
Switch
@vipul_kumar1280 Nice! Let us know how it goes.
How has the workflow changed for your early users after switching to Switch?
Congrats @safi_amin & team!
Thanks for sharing @fmerian :)
Switch
@safi_amin @fmerian @hamza_afzal_butt Thanks! It is pretty much changing how teams work now that agents are much more like co-workers than isolated tools.
E.g. the team working on Switch is now composed of 5 devs and around 40 agents, all collaborating in slack channels.
The same start applying to other users and teams that onboard to Switch and redefine their workflows with agents in the mix
Switch
@hamza_afzal_butt Thanks for the support Hamza! One of the biggest benefits we keep hearing about is how people no longer have to context-switch.
Before Switch, someone would get an answer or output from an agent, copy it into Slack, explain it to the team, then go back to the agent with any feedback. Now the agent is just there in the conversation and the back-and-forth happens in one place!
am curious how Switch copes when a Slack channel gets super busy or spammy.
Switch
@ibrahim_adamu2 Hi there! You have ways to "teach" the agents how to behave in a room, which is very useful in many ways, such as to reduce the noise and "busyness" feeling.
Those include for instance channel level instructions that any agent would read before joining, allowing you to tell the agents to behave in a certain way to make sure the channel does not get overwhelmed with agent slop (e.g. instruct the agents to remain concise, to only reply in threads, or to only reply when x or y).
Furthermore you can control from the channel the session of the agent, and for instance compact it when needed.
Switch
@ibrahim_adamu2 Set this up for one of my rooms! The room instructions are a game changer for this... I set it up to keep agents concise and only respond when mentioned. Keeps things clean even with 5+ agents in one room.
Hey @safi_amin and team, congrats on the launch! Bringing AI into the tools people already use makes a lot of sense. Getting closer to feeling like Iron Man talking to Jarvis 😂
How much setup would someone nontechnical need before they could start using an agent in their team’s channels?
Looking forward to trying this out! 👍
Switch
@safi_amin @kpwdev hi ! Thanks for this!
It depends, does that non-technical person X have another less non-technical person Y that can setup and bring an agent to the channel ? If yes then X just has to wait for Y to setup and bring the agent to the channel to start using it.
If not, full transparency warning, the road might be a bit bumpy. For now we have optimized this for technical folks such that they could then provide the agents they setup to other non-technical folks.
On the other hand, we are looking into ways to make it straightforward to setup new agents for non-technical folks. Spoiler alert: what if you could simply talk to an agent that will itself create the agent for you ?
But that will come later :)
Switch
@kpwdev Hahaha love the Jarvis comparison! 😂
To add to what Louis said, you can also point your favourite AI tool at our docs and have it walk you through setup. Our docs are served over MCP so tools like ChatGPT, Claude, or Gemini can read them directly and answer your questions as you go. Link: https://docs.flintai.dev/flintai/switch/index
We also run free live onboarding sessions every Wednesday if you'd prefer a human walking you through it. Takes about 10mins and they leave time for questions & discussion. Link: flintai.dev/switch-live-training
@safi_amin @lamaudruz appreciate the replies guys - definitely see use for this in my day to day and I know a handful of non technical people who this would be really good for so I'll definitely be sharing this with them and recommending the live onboarding sessions. Excited to see where you guys take this!
Switch
@kpwdev Appreciate the kind words Kevin! Open to any feedback or questions along the way. :)
@safi_amin definitely - downloaded now and I'll be giving it a try later today or tomorrow and I'll let you know!
How does it handles permissions for different channels?
Switch
@manonbriffaut Good question.
Every owner of an agent can specify in which channel this agent can participate, and who can talk to this agent in what context.
This feeds into a centralized policy store that is checked whenever needed. E.g.
- User U invites agent A into channel C -> can user U invite the agent ? can agent A participate in channel C ? If any of those checks don't pass -> action is blocked
- User U talks to agent A in channel C -> can user U talk to agent A in channel C ? if not -> the message is blocked
Hope that helps !
Switch
@manonbriffaut To add to what Louis said, the nice thing is that the defaults are already locked down. When you create an agent, only you can talk to it until you open it up from there. So you don't accidentally expose an agent to a channel it shouldn't be in.
The permisiions side is really important here. How granular can channel and agent access controls get?
Switch
@lanfranco_iwanaga you can customize the permissions - the default for any agent you onboard is "only me and my agents" can address it with a query.
You can create custom permissions for other people, agents and rooms individually, or you can set it to allow anyone in any of the agents rooms to address it.
There's more info in our docs (step 9 - Decide who may instruct it): https://docs.flintai.dev/flintai/switch/getting-started/onboard-your-agents#onboard-an-agent
Switch
@lanfranco_iwanaga One thing to add here is that the defaults are designed so you don't have to think about permissions on day one. Everything starts locked to you, and you open it up from there.
Serand
Switch
@rukhsar_amjad Personally I think this is something that's always evolving. If you're curious about how the team developed Switch during its own AI journey check out our lead eng Louis's blog post about building Switch with Switch: https://www.flintai.dev/blog-posts/our-team-is-now-composed-of-5-devs-and-45-agents-all-in-slack
Switch
@rukhsar_amjad Thanks! It took a lot of iteration, but once we figured out the room should hold the context instead of the agent, everything else fell into place. You build an agent once and each room gives it different rules and context. We typically start a new room for each focus area, initiative, or deliverable depending on the size and scope of the item of work. That's what makes switching between tasks feel natural instead of having to reconfigure or catch up agents every time!