GitHub (AI pull requests)

Connect a GitHub repository to Usero and two things happen. Issues sync both ways with your inbox, and from any feedback item you can have Usero open a pull request with a working first pass at the fix. You review the PR and merge it. This is the part of Usero that turns a user report into shipped code.

Connection is a GitHub App install, not a personal access token and not classic OAuth. You install the Usero app on the repos you choose, and Usero acts through that installation.

What it does

  • Issue sync. Issues become feedback: existing and new issues in the connected repo land in your inbox, next to widget, email, and Slack feedback, and feed the same clustering and analysis. Feedback becomes issues: Create issue on any feedback item opens one in the repo. Status follows: closing an issue resolves its feedback, and resolving feedback closes its issue.
  • AI-authored PRs. From a feedback item, click Create PR. Usero reads the repo, writes a fix on a new branch, and opens a pull request. The PR links back to the feedback (and to the original issue, if the feedback came from one).

Prerequisites

  • A Usero account. Anonymous visitors can browse but cannot connect GitHub or create PRs; the buttons prompt you to sign up first.
  • A GitHub repository you can install a GitHub App on (you need admin rights on the repo or org to approve the install).
  • The repo should contain the code you want changed. Usero writes against the default branch.

Connect GitHub

  1. Open your project, then go to Integrations (the URL is usero.io/YOUR_CLIENT_ID/integrations). To open your own integrations page, go here.
  2. Find the GitHub card and click Connect GitHub.
  3. You land on GitHub's app install screen. Choose the account or org, then pick All repositories or Only select repositories and choose the repos you want Usero to work in. Approve the install.
  4. GitHub sends you back to the GitHub card, now open. If the install grants access to exactly one repository, Usero configures it for you. If it grants access to several, you pick one in the next step.

The GitHub card is the whole control panel: repository, sync direction, labels, counts and the recent activity all live there. The card's pill reads Connected once the install is done.

Choose the repository

Issues and PRs go to one repository per project. After the app is installed:

  1. On the GitHub card, the Repository row shows the chosen repo, or Not chosen yet.
  2. Click Change, then pick the repo from the list. Only repos you granted the app access to appear here.
  3. The first time a repo is chosen, issue sync switches on in both directions and Usero imports the repo's open issues straight away. The card shows Importing issues from owner/repo while that runs; you can leave the page.

If the list is empty, the install did not grant access to any repo. Re-run the install from the GitHub card and grant access to at least one repository.

Issue sync

The card reads as one sentence: Sync [both ways] between GitHub and Usero. The dropdown has four options:

  • Both ways (the default after connecting): issues become feedback and feedback becomes issues.
  • GitHub to Usero only: issues become feedback; the Create issue button is off.
  • Usero to GitHub only: Create issue works; nothing is imported.
  • Off: no sync in either direction. Feedback already imported stays in your inbox.

Under the sentence, two lines say what each half does. GitHub to Usero: issues with these labels land in your inbox. The Labels row lists the label filter; click + to add a label from your repo, or leave it empty to import every open issue. The status line reads N synced, 4 minutes ago, with Re-sync to re-import issues that match your labels. Existing feedback is never duplicated.

Usero to GitHub: create issues manually. By default an issue is only created when someone clicks Create issue on a feedback item. Switch the dropdown to automatically for every new feedback item or automatically for bugs only if you want Usero to open the issue for you.

Status follows. Closing an issue on GitHub resolves its feedback, and resolving feedback closes its issue. This works for imported issues and for issues created from feedback.

Recent lists the last three sync events (an issue imported, an issue created, an issue closed, a backfill) with the direction in words, so you can tell at a glance that the line is live.

Only one tracker can hold Usero to X at a time. If you switch it on for Linear while GitHub has it, the GitHub sentence changes to GitHub to Usero only and shows Create issue now goes to Linear.

Create a PR from feedback

  1. Open any feedback item in the inbox.
  2. Click Create PR. The button shows Creating... while the request is queued.
  3. Usero creates the PR record immediately and starts generating the fix in the background. You are taken to a status page for that PR. Generation takes a few minutes; the page updates as it moves from queued to ready.
  4. When it is ready, follow the link to the pull request on GitHub, review the diff, and merge if it looks right.

If the repo is not connected yet when you click Create PR, Usero sends you to the GitHub install flow first and brings you back to the same feedback item afterward, so you do not lose your place.

PR creation is idempotent. Clicking Create PR on the same feedback item twice does not open a second pull request; you are returned to the existing one.

Demand threshold auto PR

Instead of clicking Create PR yourself, you can have Usero draft one automatically when enough different people ask for the same thing.

Usero groups related feedback into clusters and measures each cluster's demand as unique requesters: every distinct person whose feedback landed in the cluster counts once, however many times they wrote in, and people who upvoted a linked board post count alongside the submitters. When a cluster's requester count reaches your threshold, Usero queues the same AI PR pipeline the cluster page's Draft PR button runs, and a draft pull request opens against your connected repo.

To turn it on:

  1. Open Settings, the Pull requests section, and find Draft a PR at a demand threshold. The switch is disabled until a repository is connected and chosen on the GitHub card.
  2. Turn the switch on and set the threshold, any whole number from 2 to 10,000. The default is 10.

Semantics worth knowing:

  • Each cluster triggers at most once. The trigger is stamped on the cluster (you will see an Auto-drafted badge on the cluster list and detail page with the trigger date). More votes after the trigger never create a second PR, and neither does raising or lowering the threshold later. If the auto-drafted PR was closed and you want another attempt, use Draft PR on the cluster page.
  • It never merges anything. The output is a draft pull request on its own branch, identical to one you request by hand. Review it, edit it, merge it, or close it.
  • A cluster that already has a PR is skipped, including one you drafted manually.
  • The check runs on a recurring sweep (every 15 minutes), so the PR appears shortly after the threshold is crossed rather than at the instant of the crossing vote.

What the PR looks like

  • Branch: a fresh branch named from the page and a timestamp, for example feedback/checkout-form-1718291503. Usero never commits to your default branch directly.
  • Title: reflects the kind of feedback, for example a Fix: prefix for a reported bug or a Feature: prefix for a request.
  • Body: the user's comment and the page or URL they were on, the environment, device context, a recommended action, and a link back to the feedback item in your dashboard. If the feedback was imported from a GitHub issue, the body includes Fixes #NNN so merging closes the issue.
  • The PR is a first pass written by AI. Treat it as a draft to review, not a change to merge blind.

Troubleshooting

"Repository not configured." The app is installed but no repo is chosen. Open the GitHub card on Integrations and pick one on the Repository row.

No repositories in the dropdown. The install did not include any repo Usero can reach. Re-run Connect GitHub and grant the app access to at least one repository, or widen an existing install from the repo's or org's GitHub settings.

The Create PR button is missing or disabled on a feedback item. Not every feedback source can become a PR. Captures that lack the context to act on (for example a raw highlight grab) do not offer PR creation. Items with a page, a comment, and enough context do.

"GitHub App not installed" when configuring a repo. The installation was removed or never finished. Click Connect GitHub again from the GitHub card and complete the GitHub install screen.

You hit a PR limit. PR creation is metered by plan. If you have used your allowance for the period, the PR page shows an upgrade prompt instead of generating. Upgrade or wait for the period to reset.

A PR fails to generate. Generation can fail on infrastructure or repo-specific issues. The PR is marked failed on its status page. Try again from the feedback item; if it keeps failing, contact us with the feedback item link.

Next