Using GitHub Copilot
The other of the two ways a filed piece of feedback becomes a change — see Feedback to fix.
Copilot’s coding agent
Section titled “Copilot’s coding agent”The other path needs no daemon of your own: link a GitHub repository and hand a feedback ticket to GitHub’s Copilot coding agent, which works the issue and opens a pull request.
Setup lives at Settings → GitHub (or /w/<workspace-id>/<slug>/ github) and needs settings.read to view, settings.write to change.
If the deployment doesn’t have the Vroxy GitHub App configured, the
page says so and the whole feature stays dark.
Be aware of what this path actually requires, because it’s more than a checkbox:
- Install the Vroxy GitHub App on the account or organization that owns your repositories, and grant it the repos you care about. You’re returned to the picker.
- Authorize Copilot access for your own GitHub account. This is a separate step and it is not optional: Copilot’s agent APIs reject app-installation tokens outright, so dispatch has to run on a personal authorization.
- Then link repositories. Linking verifies that your GitHub account can actually see the installation, which is why step 2 has to come first. A repo you can’t access won’t link.
The account that authorizes is the account that pays. Copilot tasks run on the authorizing user’s Copilot plan and bill to it. That account needs write access to the repository and an active Copilot seat. If the person who authorized leaves, or revokes their authorization, dispatch stops until someone else authorizes.
Authorization belongs to the person, not the workspace: each member authorizes their own GitHub account once, and it then works across every workspace they belong to. The App installation is remembered separately, so a colleague can link repositories from an installation somebody else set up without repeating that step.
One Copilot agent can cover several repositories — see Code agents. Each linked repo has a base branch that agent work starts from, and an enabled/disabled toggle so you can pause dispatch to a repo without unlinking it. The base-branch field offers the branches the repository actually has, rather than trusting you to type one correctly, and saves as soon as you pick or tab away — a typo here would otherwise point dispatch at a branch that doesn’t exist. A disabled repo keeps its link, its base branch and its history but drops out of the dispatch picker; that’s the difference between Disable and Remove.
Repos are kept in sync with GitHub: uninstalling or suspending the App disables its repos, removing a repo from the installation disables that repo, and pull-request activity is recorded against it.