Usero Journal
How to Sync User Feedback With Linear Issues, Both Ways
To sync user feedback with Linear you need three things: a way for a request to become a Linear issue without retyping it, a way for the issues engineers file to show up next to the user reports, and status that travels back. Most setups get the first one and stop.
The setup at most startups I talk to is a PM with two tabs open. Feedback arrives in a widget, a Slack channel, a form, a shared inbox. Engineering lives in Linear. The PM reads a request, decides it is real, and types it into Linear as a new issue with a link back to wherever it came from. That works, right up until the week they are busy.
Then the drift starts. The issue gets marked Done on Thursday. The feedback item is still open on Monday, and the user who asked never hears. Or the other way round: the PM resolves the request because a workaround shipped, and the issue an engineer created from it sits in the backlog for two more cycles before anyone notices it is stale.
Is a one-way push enough?
The usual fix is a Zapier zap or a built-in “send to Linear” button. Both create an issue from a feedback post. Neither watches it afterwards. So the two lists agree at the moment of creation and start disagreeing the moment anyone touches either one. One-way push is where most feedback tools stop, and it is why the PM still keeps two tabs open.
The half people forget is import. Engineers file bugs straight into Linear, and those bugs never sit next to the user reports of the same bug. You end up counting demand in two places and adding it up in your head.
| Approach | Feedback becomes issue | Issues become feedback | Status travels back | Who reconciles |
|---|---|---|---|---|
| Copy by hand | Retyped | No | No | The PM |
| Zapier or a one-way push | Yes | No | No | The PM, later |
| Two-way sync | Yes, by hand or automatically | Yes | Yes | Nobody |
What should two-way sync do?
Four things, and I would be suspicious of a setup that skips any of them.
- Create an issue from a feedback item without retyping. The issue carries the user’s words and links back to the feedback, and the feedback shows the issue and its state.
- Import issues from one team, filtered by label. A backfill of the open issues when you connect, then live pickup through a webhook. Without the label filter your inbox turns into a copy of your backlog, and you already had one of those.
- Status both ways. Done in Linear resolves the feedback. Resolving the feedback moves the issue to Done. This has to work for issues you created from feedback as well as ones you imported, which is the part most tools miss.
- A direction switch. Some teams want issues in the inbox and do not want a feedback tool writing into their Linear workspace. That should be one setting.
What about comments? I would leave them out. Engineers talk in Linear about the fix, users talk in the inbox about the problem, and mirroring the two threads produces a conversation nobody wrote for the reader on the other side.
How to set it up
The order matters a little. Direction and labels before you turn it on, or the backfill brings in more than you wanted.
- Connect Linear with OAuth and pick one team. One team per project keeps the import and the Create issue button pointed at the same place.
- Choose the direction. Both ways is the default that removes the two tabs. Linear to inbox only if you are just after the engineer-filed bugs. Inbox to Linear only if you want the Create issue button and nothing else. For the inbox-to-Linear half, decide whether issues get created by hand, automatically for every new feedback item, or automatically for bugs only. Start with by hand. Automatic creation waits for the AI to classify the item first, and status sync on a created issue is automatic either way.
- Set a label filter. Start with one label like “feedback” or “bug” and widen later.
- Turn it on and watch the backfill land. The open issues in the team should show up in the inbox within a minute or so, with a count on the card.
- Test the loop once before you trust it. Create an issue from a feedback item, mark it Done in Linear, and check the feedback resolved. Then resolve a different feedback item and check its issue moved. Two minutes, and you know it is real.
Where Usero fits
I build Usero, so salt accordingly. The setup above is what its Linear issue sync does: OAuth connect, one team, a label filter, a backfill on connect and a webhook after that, a Create issue button on every feedback item, and status in both directions for imported and created issues alike. The direction is one sentence on the Linear card, “Sync both ways between Linear and Usero”, with the one-way options and off underneath it. The same card exists for GitHub. Jira is not there yet. Comments do not sync, on purpose. Setup steps are in the Linear docs, and there is a feature page if you want the longer version.
If every person who reports a bug to you has a Linear seat, you do not need any of this. Triage in Linear and skip the inbox.
The test I would use for any setup, ours included: mark an issue Done in Linear and see whether the person who asked finds out without anyone copying anything. If the answer is no, you still have two lists.
Related Reading
- How to Import GitHub Issues Into a Feedback ToolRead
- Are GitHub Issues a Good Feedback Tool?Read
- How to Close the Feedback LoopRead
Frequently Asked Questions
How do I sync user feedback with Linear?
Connect Linear to your feedback tool with OAuth, pick one team, and set the direction. From then on a feedback item can become a Linear issue with one click, issues in the team can be imported as feedback (filtered by label), and status travels back: completing an issue resolves the feedback, and resolving the feedback moves the issue to Done. Usero does this; a Zapier zap only does the first step.
Does a one-way push to Linear count as sync?
No. A one-way push creates an issue and stops watching it. The feedback item and the issue agree at the moment of creation and drift from the first status change onward. Sync means the state travels back, so completing an issue in Linear resolves the feedback it came from.
Should comments sync between Linear and the feedback tool?
I would leave them out. Engineers talk in Linear about the fix, and users talk in the inbox about the problem. Mirroring the two threads produces a conversation nobody wrote for the reader on the other side. Sync the issue and its state, not the discussion.
Can I import Linear issues as feedback without letting the tool write to Linear?
Yes, if the sync has a direction setting. Choose Linear to feedback tool only, and issues come across as feedback while nothing is created or changed in your Linear workspace. In Usero the direction is one setting on the Linear card: both ways, Linear to Usero only, Usero to Linear only, or off.
Continue reading
Meta's AI Crawler Crashing My DB, and What I Did About It
Sentry said one user caused 80% of my errors in two weeks. It was Meta's AI crawler, and my code was doing five database queries to tell it 404. I don't want to block it, so I fixed the code instead.
5 min read
How to Connect User Feedback to Claude Code and Cursor With a Feedback MCP Server
Six feedback tools now ship MCP servers. Here is what a feedback MCP server gives an agent, how to wire one into Claude Code, Cursor, Claude Desktop, OpenCode or Codex over OAuth, and a worked example that ends with the agent asking the tool to open the pull request.
9 min read
How Frill’s Widget Editor Works: The Preview Is the Production Widget
Inside Frill’s widget editor: a preview that boots the production widget with the real key, sub-550ms on every control, and no mobile preview.
8 min read
Build a feedback loop your team actually uses
Usero collects, clusters, and turns user feedback into shipped fixes.
Get started free