How we route bugs from Slack, Sentry and PostHog into one QA runbook, per platform
Most bugs in an app that's already live never come from a test plan. They arrive as a Slack message, a client's email, a Sentry alert or a session someone watched in PostHog. In most teams, someone copies them into a tra
Most bugs in an app that's already live never come from a test plan. They arrive as a Slack message, a client's email, a Sentry alert or a session someone watched in PostHog. In most teams, someone copies them into a tracker by hand, and two things get lost on the way: which platform the bug is on, and who needs to hear when it's fixed.
Last week we shipped integrations in qarunbook to close that gap. Here's how they work.
One door for every bug
Every source raises the bug through the same path as the form in the app. A message raised from Slack or Teams, an email to the app's address, a Sentry issue, a PostHog webhook delivery, a Zapier zap or a plain JSON webhook all end up as the same kind of issue: a code like QA-41, the platforms it affects, a priority, assignees, and a copy in Jira, Linear, GitHub or GitLab if the app uses one.
Because it's one path, a bug from Slack is treated exactly like one typed in by a tester. It counts the same, gets triaged the same, and needs the same retest before it's done.
Fixes are per platform
An app can link several GitHub repositories, each tagged with the platforms it builds. When a pull request that fixes a bug is merged, qarunbook marks the bug fixed only on the platforms that repository builds. A fix in the web repo marks web fixed; iOS stays open until its fix lands. The check reads "retest" where something changed and stays failed elsewhere, so nobody retests the wrong platform or closes a bug that's only half fixed.
The source hears back
When the fix is confirmed, the place the bug came from is told: the Slack or Teams thread gets a reply, the person who emailed gets an email, and the Sentry issue is resolved. If Sentry sees the error again, the issue reopens and the people on it are told.
Guarding the edges
- Sentry and PostHog deliveries are checked against their signatures; tokens are only ever sent to the vendor's own hosts.
- Repeated deliveries of the same error are merged into one issue while it's open.
- Webhooks can be signed with an HMAC secret and are rate limited per app.
On every plan
Every integration and the API are on every plan, including Free. Plans differ by how much you use, not by what you can use.
The full write-up, with everything else that shipped that week: https://qarunbook.com/changelog/2026-10-05
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.