Before you start
- A Slack workspace, and permission there to add apps to it.
- To be an admin of the qarunbook workspace to connect Slack, since every app shares the connection. An admin of an app can then pick that app's channel. Slack is on every plan.
Connect an app, step by step
- In qarunbook
Open the app's Slack settings
Open any app, choose App configuration, then the Integrations tab, and choose the Slack tile under Where bugs are reported.
- In qarunbook
Add to Slack
Choose Add to Slack. Slack's consent screen opens.
- In Slack
Pick the workspace and allow it
Check the workspace in the top corner of Slack's screen — switch it there if it is the wrong one — and choose Allow.
- In qarunbook
See it connected
You land back on the card, which says Slack is connected and shows your Slack workspace's name next to Slack. Every other app in the qarunbook workspace is now connected too.
- In qarunbook
Optional: pick a channel for this app
Choose Change. Under Channel for this app's notices, pick a channel, or leave it on No channel — threads only. With a channel picked, tick what to Tell the channel about: New issues, Fixed — ready to retest, Fix verified.
A workspace admin also sees Who can raise bugs from Slack: Anyone in the Slack workspace or Only qarunbook members. Choose Save. Each app picks its own channel, or none.
Raise a bug from Slack
- In Slack
With the slash command
In any channel, type
/qarunbook bug the login button does nothingand send it. A Raise a bug dialog opens with your words in What went wrong. - In Slack
Or from any message
Hover the message and choose ⋯ More actions → Connect to apps → Raise as bug (qarunbook). It sits under Connect to apps, not at the top of the menu. The same dialog opens with the message's words in it.
- In Slack
Fill in the dialog and choose Raise
- App: chosen for you when you can raise on only one.
- Check: for an app being tested, the check it breaks. Type part of its reference or title.
- Platforms: optional. Leave it empty when it happens everywhere.
- Priority: optional, for a live app.
- What went wrong: already filled in. Edit it as you like.
Choose Raise.
Check it works
- In Slack
Raise a test bug
In a public channel, send
/qarunbook bug Test: Slack connection, pick the app, and choose Raise. - In Slack
See the bot answer
The bot posts in the channel: @you raised QA-21 in Acme Shop: Test: Slack connection · Open in qarunbook. Raised from a message instead, it replies in that message's thread: Logged as QA-22 · Open in qarunbook.
- In qarunbook
Mark it fixed
Open the issue from the link and choose Mark fixed.
- In Slack
See the thread hear back
The bot replies in the same thread: @you QA-21 has been marked fixed by [name]. Could you check it again? Open in qarunbook. If you picked a channel for the app, it also has a line for each notice you ticked.
How it works
A qarunbook workspace connects to one Slack workspace, and every app in it shares the connection. The issue is raised exactly as one raised in the runbook is, so if the app is connected to Linear, Jira or GitHub, it is filed there too. Screenshots, recordings and other files on the message are copied onto it.
When the issue is marked fixed — in qarunbook, by a merged pull request, from Linear or through the API — the bot says so in the same thread and asks whoever raised it to check it again. The check reads retest here as usual.
People are matched by the email address on their Slack profile. Someone whose address belongs to a member of the workspace raises as themselves, on the apps they can test, and is told in qarunbook as well as in Slack when it is fixed. Anyone else in the Slack workspace raises as their name via Slack, on any app in the workspace, and hears back only in Slack — unless the workspace chose Only qarunbook members. Guests in Slack can never raise bugs unless their address belongs to a member.
Each app can send these to its channel, one line each with a link:
- New issues — raised from anywhere, not only Slack.
- Fixed — ready to retest — whoever fixed it, and where.
- Fix verified — someone confirmed the fix holds on a live app.
Every request from Slack is checked against the app's signing secret (the X-Slack-Signature header) and must be under five minutes old. Anything else is refused before it is read.
Good to know
- Slack brings bugs in and hears about fixes. It never creates checks or sections — those stay in qarunbook.
- The bot posts in public channels without being invited. To have it reply in a private channel's threads, invite it there with
/invite @qarunbook. Channel notices go to public channels only. - Raised where the bot cannot post — a private channel it is not in, or a direct message — it writes to the person directly instead, and so does “fixed”.
/qarunbook bughas no message to reply to, so the bot posts the new issue in the channel and replies under that.- Up to ten files come across from a message, each up to 50 MB, counted against the plan's storage. Anything left behind is named in the thread.
- Issues raised from Slack count against a Free workspace's monthly allowance like any other.
- Fixing twice says nothing twice, and reopening an issue says nothing in Slack.
- The bot's token is stored encrypted and never shown. It can read public channel names, post messages, read the files on a message someone raises, and look up people's names and email addresses — nothing else.
- Disconnect removes the bot from Slack for every app. Issues raised from Slack keep their place here. Removing the app from Slack's side disconnects it too.