What you can do in Slack
| Action | How | What happens |
|---|---|---|
| Ask Bugzy to run tests | ”Hey Bugzy, run smoke tests on checkout” | Bugzy confirms and executes |
| Verify a PR | ”Bugzy, verify PR #42” | Bugzy runs relevant tests, posts results |
| Dispute a finding | Reply to a finding notification | Bugzy re-evaluates, updates knowledge base |
| Ask about test results | ”What failed in the last run?” | Bugzy responds with context |
| Get status | ”Bugzy, what’s the test status?” | Bugzy summarizes recent results |
The conversation model
Bugzy interacts via the blocked-task-queue pattern:- An event triggers Bugzy (message, webhook, schedule)
- Bugzy proposes an action in the channel: “I’d like to run smoke tests on the checkout flow. Should I proceed?”
- A team member responds (thumbs up, “yes”, or custom instructions)
- Bugzy executes and posts results in the same thread
Disputed findings
When Bugzy reports a finding that’s incorrect:- Reply to the finding message with your reasoning
- Bugzy’s
handle-messagetask processes the reply - If the dispute is valid, the finding is updated
- Knowledge base adjusted to avoid similar false positives
- Bugzy confirms the resolution in the thread
Setup
Select workspace and authorize
Choose your Slack workspace and authorize the requested bot permissions.
The bot can only read and post in channels it has been explicitly invited to. Public channels can receive messages via
chat:write.public without an invite, but adding the bot is recommended for full functionality.Bot permissions
The OAuth flow requests these scopes automatically:| Scope | Purpose |
|---|---|
channels:read | List public channels in the workspace |
chat:write | Post messages to channels the bot is in |
chat:write.public | Post messages to any public channel |
reactions:write | Add emoji reactions to messages |
channels:history | Read message history for context |
