What changed
A live app can now take bugs from Slack, Microsoft Teams, email, Sentry, PostHog, Zapier and any tool that can send a webhook. Every one of them raises the issue through the same path as the form on the web, so it gets a code like QA-41, is filed in Jira, Linear, GitHub or GitLab if you use one, and counts exactly like an issue typed by hand.
When that issue is marked fixed, from anywhere, the place it came from hears about it. The Slack or Teams thread is told, someone who emailed the bug gets an email, and the Sentry issue is resolved. If the error comes back in Sentry, the issue reopens and the people on it are told.
GitHub can now hold several repositories for one app, each tagged with the platforms it builds. A fix merged in the web repository marks the bug fixed on web and leaves it open on iOS, and the report says so. And you can sign in to qarunbook from Claude, Cowork and other MCP clients with OAuth: approve the assistant on a consent page instead of pasting a token.
Why it matters
Every integration and the API are on every plan, Free included. Plans differ by how much you use, never by what you can use.
A bug that came in through Slack is the same as one typed into the form: the same priority, the same assignees, and the same retest before it counts as fixed. Nothing slips through because it arrived by an unusual route.
Testing got the same triage tools. Checks have a priority, and imported plans keep theirs. Issues found while testing take a priority and assignees. A check can be given to the people who should test it, and sections and platforms can have owners who hear when something in their part changes. Owners are told, never gated: anyone with tester access still tests, raises and fixes everything.
Who it's for
Teams with an app already in people's hands, where bugs arrive from support, monitoring and chat rather than from a test run.
And agencies: when an app is handed to a client, it can now be transferred to the client's workspace with its checks, results, issues and files. Before, the only way across was to rebuild the plan and lose every result.
How to try it
Open an app, choose Integrations, and pick a tool. Until it's connected, each one opens on a step-by-step guide that says where every click happens, in qarunbook and in the other tool, and how to check it works.
What shipped
Integrations on every plan
Connect Slack, Microsoft Teams, email, Sentry, PostHog, Jira, GitLab, GitHub, Linear, Zapier or any tool that can send a webhook. A bug raised from any of them lands in the same runbook, and a fix travels back to where it started. Plans differ by how much you use, never by what you can use.
- Slack
- Microsoft Teams
- Sentry
- PostHog
- Jira
- GitLab
- GitHub
- Linear
- Zapier
- Webhooks
Sign in from Claude, Cowork and other MCP clients
Connect your AI assistant with OAuth: approve it on a consent page and it's connected, with no token to copy and paste. Each assistant gets its own access, and it reaches only what you can reach.
Check priorities and triage
Checks have a priority you can set, see as a badge and filter by with 'Urgent & high'. Imported plans keep theirs: P1, Critical or Sev 2 map onto the same four levels. Issues found while testing take a priority and assignees, who are emailed and told in the app.
A guide from sign-up to your first test
New accounts answer a few one-tap questions: what you're testing, who's doing it, where the code is and which AI you use. Then a guide says what to do first, what next and why, until you're ready to test, and it follows you into the app. Progress counts what you've actually done, including work your AI assistant or a colleague did, and the welcome emails follow the same path: each one is about your own next step.
Every change
New14
- Slack: raise any message as a bug with Raise as bug or /qarunbook bug. The bot replies with the issue's code, and says so in the thread when it's fixed.
- Microsoft Teams: raise a bug from any message, send each app's news to a channel, and hear in the thread when a fix lands.
- Email to bug: a live app can have its own private address, and mail sent to it becomes an issue. Limit who may send by address or domain.
- Sentry: new errors that pass your filters become bugs. Resolving in either place resolves both, and a regression reopens the issue.
- PostHog: raise bugs from PostHog events, and attach a session replay to any issue so testers can watch what happened.
- Jira: new issues are filed in your Jira project, and moving one to Done marks it fixed and asks for a retest.
- GitLab: a merged merge request that names an issue's code marks it fixed, on merge or once it's deployed.
- Incoming webhook: a private URL for each live app that turns a JSON POST from Bugsnag, Rollbar, Datadog or your own monitoring into a bug.
- GitHub: connect several repositories to one app, each tagged with the platforms it builds, so a fix in one repository marks the bug fixed on its platforms only.
- Pass notes: record the evidence that a check passed, with files, beside 'Add issue'. Reports show it.
- Assign a check to the people who should test it. They're emailed, and 'Assigned to me' finds it.
- Owners for sections and platforms. They hear when checks are added, when a bug is raised in what they own, and when it's fixed.
- Transfer an app to another workspace, with its checks, results, issues and files.
- Four new guides: a bug report template, test case examples, a GitHub issue template and a website testing checklist.
Improved6
- Integrations are a grid of tiles grouped by what they do, and each opens on its step-by-step guide until it's connected.
- A section's Ref, Check and platform header stays in view while you scroll through its checks.
- A back-to-top button appears once you're well down a long runbook.
- Search boxes for checks, issues and people have a clear button, and Escape clears them too.
- Imported plan sections keep their own names, and plans headed with bare platform codes get readable column names.
- The MCP server also reads its token from x-api-key, for clients such as claude.ai's custom connector form.
Fixed4
- Changing someone's role on the team page now changes it on every app they have.
- GitHub settings say Saved when nothing changed, and give a reason instead of spinning.
- Sentry setup asks for Organization: Read, which loading your projects needs.
- A Jira that doesn't sign its webhooks can no longer lock the webhook out.