How to connect Zendesk tickets to Linear issues without losing customer context
Linear has a native Zendesk integration, and it does most of what you'd want. It links a ticket to an existing issue, links several tickets to the same issue, and, if you turn on the reopening automation in its settings, posts an internal note and reopens the ticket when the issue closes. Install it from the Zendesk Marketplace, turn it on in Linear's settings, and every agent on the team can attach a conversation to the issue that's tracking the fix.
What it doesn't do is give you a place to see, at a glance, which customers are attached to that issue. The link exists per ticket, not as a rolled-up list, so "who's waiting on this" is still a question you answer by opening each linked ticket one at a time. That gap, not the linking itself, is where most of the pain in this workflow actually lives.
What the native integration covers
Linear's own Zendesk integration docs describe a bidirectional link: "Linear issue information is shown inside Zendesk and a link to Zendesk is added to your Linear issue." Once it's connected, the pieces that matter for this question are:
- Many tickets, one issue. The docs say it plainly: "You can link as many Zendesk tickets to a Linear issue as you like." Three customers hitting the same bug can all attach to a single Linear issue instead of spawning three.
- Ticket content on the issue. Agents can pull the original Zendesk message into the Linear issue as attached context, so an engineer reading the issue sees the actual customer wording, not a paraphrase.
- Opt-in reopening. This one isn't on by default. Turn it on from the integration's settings page and, when the linked issue is marked Done, Canceled, or gets a comment, it posts an internal note and reopens the Zendesk conversation. Skip that setting and the ticket stays linked, but nothing tells the customer the fix shipped.
- Merge-safe. If two Linear issues get merged, their linked tickets move with them, so a late duplicate-catch doesn't strand a ticket on the issue that got closed out.
Two things are worth knowing before you rely on this. First, it's gated. Linear's pricing page lists Zendesk and Intercom integrations as a Business-plan feature, so a team on the Free or Basic tier doesn't have it at all. Second, every support agent who wants to link a ticket needs their own Linear account, which is a real cost on teams where support and engineering are sized very differently.
Setting it up
The install is short, and it's worth doing exactly in this order:
- Install Linear from the Zendesk Marketplace. This adds the Linear widget to the Zendesk ticket sidebar.
- In Linear, go to Settings, then the Zendesk integration, and connect the same Zendesk domain.
- On that same settings page, turn on Zendesk automation if you want linked tickets to reopen and get an internal note when the issue is completed, canceled, or commented on. This step needs Zendesk admin access. Skip it and the ticket links still work, but nothing posts back to the customer automatically.
- Confirm agent accounts. Anyone who'll link tickets from Zendesk needs a Linear login, not just view access.
- From an open ticket in Zendesk, use the Linear panel to search for an existing issue or create one, and link it.
If your Zendesk domain URL ever changes, take note. The docs warn that "the linked tickets will not show up in the Linear app in Zendesk" after a domain change, and only say some of the internal-note automations may still work. Linear's advice for that state is to contact support, not to expect a clean reconnect.
Where the native approach stops working
The integration handles the connection between one ticket and one issue reliably. It doesn't hold up as a system once volume increases, for three specific reasons:
- The rollup lives in a person's head. Whoever links the second, third, and fourth ticket to an existing issue is the only record that they're related. There's no dashboard of "issues by number of linked tickets," so a bug affecting ten accounts looks the same in the issue list as a one-off report, until someone opens it.
- Linking is a manual judgment call, every time. Recognizing that a ticket filed today is the same bug as one filed weeks earlier depends on a human reading both and remembering the earlier one existed. At a handful of tickets a day that's manageable; past a few dozen, some duplicates get filed as new issues simply because nobody made the connection.
- The requester list disappears once the ticket closes. Zendesk's own ticket search doesn't index "linked Linear issue," so working backward from a shipped fix to every customer who reported it means the same manual click-through, in reverse.
At that stage, teams stop trying to fix this with tagging conventions or a spreadsheet on the side and add something that watches both tools and keeps the customer list attached automatically. That's the part of the job Modem does. It captures Zendesk tickets with requester details as they come in (Zendesk integration), clusters tickets that describe the same problem into one topic regardless of who filed them or when, and gives the agent access to Linear so it can search for an existing issue or, when you ask, file a new one with the requesters' quotes written in (Linear integration) instead of leaving that as a one-ticket-at-a-time decision. The topic keeps the running list of who's waiting, so "which customers care about this issue" is a lookup, not a research task. We build Modem, which means we're not a neutral source on whether it's worth adding; judge the fit against what your own team actually needs. The wider field of options for the Zendesk side of this is covered in tools that mine feedback from Zendesk tickets, and the Linear side in tools that turn customer feedback into Linear issues.
If the native integration already covers you
If you're not there yet, the native integration is enough. Install it, put agent accounts on Linear-connected seats, and write down one rule: before creating a new issue from a ticket, search Linear for the symptom first. Add a habit on top of that, one line in the issue's first comment listing every linked account by name, updated each time a new ticket gets attached. It's manual, but it turns the rollup from something one person carries in their head into something anyone on the team can read straight off the issue.
