Integrations
Qalibr connects two kinds of tools: where bugs come from and where they go to. Manage both under Integrations in the dashboard sidebar — connect Qalibr to the tools your team already lives in.
Where bugs come in
Slack is the live chat integration. Qalibr listens to the channels you
choose. To report a bug, post in a watched channel and mention @Qalibr —
that mention is the trigger. Qalibr does not react to emoji reactions, slash
commands, or untagged messages.
The mention can be on the first message or on any reply in an existing thread; either way Qalibr reads the whole thread, including screenshots teammates posted earlier. A file posted with no text of its own is skipped, so put the mention on a message that has words in it.
Qalibr only reads the channels you select; everything else in your workspace stays untouched. Change the selection any time from Integrations → the Slack card → Manage channels.
Selecting a channel makes Qalibr join it. Deselecting makes it leave. A private
channel can’t be joined automatically — invite Qalibr there with /invite @Qalibr.
How many channels you can watch depends on your plan:
| Plan | Channels |
|---|---|
| Trial, Starter | 3 |
| Growth | 10 |
| Scale, Enterprise | Unlimited |
Paste is the second way in, and it needs no integration at all. Open Paste in the dashboard, drop in a conversation from anywhere — WhatsApp, email, ServiceNow, a web form — optionally tag where it came from and who reported it, and send. Each item becomes its own report and runs the identical triage. Up to 50 items per submit, 50,000 characters each; no attachments on this path.
Microsoft Teams is on our roadmap. There is no connect flow for it yet and no date — if Teams matters to you, tell us.
Where bugs go
Approved bugs become issues in your tracker. When Qalibr finds a strong duplicate, it can comment on or reopen the existing issue instead of creating a new one.
| Tracker | Status |
|---|---|
| Linear | Supported |
| Jira | Supported |
| GitHub Issues | Coming soon |
| GitLab Issues | Coming soon |
Connecting a tracker is a credential, not an OAuth handshake — and you don’t hand-type identifiers. Enter the credential and Qalibr fetches the list of teams or projects it can see, and you pick from it:
- Linear — a personal API key (it starts with
lin_api_), then choose your team. - Jira — your site (
yourco.atlassian.net), your Atlassian account email and an API token, then choose the project and the issue type. Issue types belong to a project, so changing the project re-fetches them. Pick one: left blank, Jira falls back to the first non-subtask issue type on the whole site, which is rarely what you want.
If the lookup is unavailable you can still type the value in by hand.
Connecting a second tracker does not move where new bugs are filed. The first tracker you connect stays the destination. Contact us if you need to switch.
Two things specific to Jira
Live ticket status needs a webhook. Qalibr registers it during connect, but that requires the Administer Jira permission on your site. Without it, connect still succeeds and tickets are still created — Qalibr hands you a callback URL, a generated secret, the events and the JQL, and walks you through adding the webhook by hand. This is an expected path, not an error. The secret is shown once and cannot be read back; if you lose it, rotate it.
Duplicate protection on ticket creation is best-effort. Jira accepts no
client-supplied issue id, so Qalibr marks each ticket it creates with a
qalibr-run-… label and checks for that label before retrying. Jira’s search
index updates with a small delay, so a retry landing inside that delay can still
produce a second ticket. Linear’s protection is exact. Those labels are also why
you’ll see qalibr-run-… in your Jira label list.
Connection health
Each integration shows a status so you know it’s working:
| Status | Means |
|---|---|
| Healthy | Connected and active. |
| Connected | Connected and creating tickets, but a secondary capability is off — today, a Jira connection with no live status webhook. The card explains what’s missing. |
| No channels | Slack is installed but no channels are being watched, so nothing is being captured. Pick at least one. |
| Stale | Connected but quiet — no Slack events in a while, or no tracker sync in over a week. Worth a check. |
| Disconnected | The connection dropped and needs reconnecting. |
| Not connected | Not set up yet. |
A Stale Slack channel usually just means it’s quiet. If you expected
activity, double-check you’re posting in a watched channel and mentioning
@Qalibr.
Reconnecting a tracker against a different Jira site — or a different Linear team — discards the old webhook and registers a new one. Expect a short gap in live status, and on Jira without site admin, a fresh manual setup.
