goose-slackbot — Talk to goose from Slack
#7075
tlongwell-block
started this conversation in
Ideas
Replies: 2 comments
-
|
Great idea. I was actually thinking about adding this to Goose and run Goose as a daemon. It seems like there is a |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
I am interested. I am willing to contribute as well. I feel right now there is no enterprise solution for openclaw like app with evaluations, monitoring, etc. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Add a first-party Slack client for goose: a new crate (
crates/goose-slackbot) that lets teams interact with goose directly from Slack channels and DMs.@mention goose in a channel, get a threaded response — with full tool use, streaming, and per-channel context. No IDE required. No CLI required. Just Slack.
Why this matters
Most AI coding agents are locked inside IDEs or terminals. That's great for individual developers, but it means the rest of your team — SREs, managers, support engineers, anyone who doesn't have the agent installed — can't use it.
Slack is where teams already work. A goose Slack bot turns goose from a single-player tool into a team-wide capability. Anyone in your workspace can ask goose a question, kick off a task, or get help — without installing anything.
As far as we know, there's no self-hosted, bring-your-own-keys, widely-adopted AI agent with a Slack interface today. A couple of competitors offer Slack integrations (Devin, Kilo Code), but they're closed-source or cloud-hosted SaaS. This would make goose the first open-source AI agent you can talk to from Slack.
How it works
The slackbot embeds goose-server as a Rust library — the same backend the desktop app uses, just linked in-process instead of called over HTTP.
This isn't a new execution pathway. It's another consumer of the same goose-server API surface. Same session management, same streaming replies, same tool confirmation protocol, same extension system. The slackbot adds only the Slack-specific layer on top:
mrkdwnformatWhat it looks like
.goosehintsorAGENTSto customize goose's behavior per-channel — no deployment changes neededArchitecture
Single Rust binary. Single container. No sidecar.
The Slack integration uses
slack-morphism-rust(Apache 2.0, actively maintained) for Socket Mode, typed API methods, Block Kit, and rate limiting — with zero dependency conflicts against goose's existing tree.Safety
Self-hosted by design — goose runs in your infrastructure with your own model keys. No code or prompts leave your environment (beyond what you send to your chosen LLM provider).
The bot includes a two-layer access control system:
Why a rewrite (not a wrapper)
We already run a goose Slack bot internally — a Python service that connects to goose-server over HTTP. Teams use it daily. This proposal rewrites it in Rust and embeds goose-server directly:
The Python bot proves the concept works. The Rust rewrite makes it a first-class part of the platform.
What we're NOT doing
Beta Was this translation helpful? Give feedback.
All reactions