The organization admin settings hub
Organization Administrators can view ADO Pilot subscription status, check connection health, and trigger on-demand reviews from the organization admin hub.
Last updated
The ADO Pilot settings hub is a status and actions page under your Azure DevOps organization administration. It shows whether reviews are active for the organization, reports live connection health per project, and lets you trigger an on-demand review for any open pull request. Configuration tasks — adding projects, rotating credentials, editing per-repository settings — happen at the dashboard, not in the hub.

Who can open the hub
The hub requires Azure DevOps Organization Administrator permissions. If you open it without that role, the hub renders an unauthorized message:
You need Organization Administrator permissions to view ADO Pilot status.
Contact your organization administrator for help.
This is an Azure DevOps permission, not an ADO Pilot one. If you need access, ask the person who installed the extension or another Organization Administrator for elevation in your organization's permissions settings.
Opening the hub
- Click the gear icon at the bottom of the Azure DevOps left navigation to open Organization settings.
- In the organization settings sidebar, click the top-level ADO Pilot entry. It appears as its own item in the sidebar — it is not nested under "Extensions".
The hub opens in the organization settings content area. While it loads it shows "Loading ADO Pilot settings...".
What the hub shows
When loaded successfully, the hub renders a header, a status banner, and a repository settings card. When status is Active it also shows a connection health panel and a Run a review form.
Header
The header shows the ADO Pilot logo, the product name, an Organization Administrator badge (confirming your permission level), and a link whose destination depends on status: Manage at adopilot.dev ↗ (opens the dashboard) when the org is Active, or Set up ADO Pilot ↗ (opens signup) when Not configured.
Status banner
A pill in the status area reads either Active or Not configured.
- Active appears when the backend has at least one service-hook subscription running for the organization. The banner reads "AI code reviews are enabled for this organization."
- Not configured appears when the extension is installed but no subscriptions exist yet. The banner reads "ADO Pilot is installed, but no subscriptions are active. Sign up at adopilot.dev to connect your organization and enable reviews." — "Sign up at adopilot.dev" is a hyperlink to signup, not to the dashboard.
The status reflects subscription state at the time the page loaded. Refresh the page to re-check.
Subscription counters
When the status is Active, the hub shows two counters below the status banner:
| Counter | What it counts |
|---|---|
| Projects subscribed | Distinct Azure DevOps projects in this organization that have at least one ADO Pilot subscription. |
| Active subscriptions | Total service-hook subscriptions across all projects in the organization. |
A project can have more than one subscription (one per supported event type), so "Active subscriptions" is normally larger than "Projects subscribed". The hub displays an em-dash for "Projects subscribed" either when no projects have been subscribed yet, or when Azure DevOps did not return per-project data for existing subscriptions (see Flat fallback below) — in that case "Active subscriptions" is non-zero even though "Projects subscribed" shows an em-dash.
Connection health
When the status is Active, the hub shows a Connection health panel reading "Live service-hook status read directly from Azure DevOps."
The panel renders a per-project table. Each row shows:
| Column | Values |
|---|---|
| Project name | The Azure DevOps project name (or a short project ID if the name could not be resolved). |
| PR created | ✓ created (green, subscription present and enabled), ⚠ created disabled (amber, subscription present but disabled by ADO), or ! created missing (red, no subscription). |
| PR updated | Same three states for the git.pullrequest.updated hook. |
Flat fallback: If ADO does not return a project ID on any subscription row, the panel instead shows "N active subscriptions" (and a disabled count when some are not enabled). This is a data-availability limitation, not an error.
Legacy subscription warning: If any subscriptions were provisioned by versions of the extension prior to v0.1.8, a warning appears within the Connection health panel:
N legacy subscription(s) detected. Re-authenticate at adopilot.dev to migrate them.
Re-authenticating from the dashboard rotates the affected subscriptions to the current backend-owned format. Until you migrate, the legacy subscriptions continue to fire reviews and appear like any other subscription in the connection status shown on the dashboard's Integration page — they just aren't specially labeled as legacy there.
Run a review
When the status is Active, a Run a review form appears alongside the connection health panel. Use it to trigger an on-demand AI review for any open pull request without navigating to the PR.
- Paste the full pull request URL into the Pull request URL field. Example:
https://dev.azure.com/org/project/_git/repo/pullrequest/123. - Click Run AI review now.
The button shows "Starting…" while the request is in flight, then displays one of these outcomes:
| Outcome | Meaning |
|---|---|
| Review started | ADO Pilot is reviewing this pull request now. Inline comments and the status check will post in a few minutes. |
| Review already in progress | A review for this pull request is already running. Its comments will post shortly — no need to trigger another. |
| Too many review requests | You're triggering reviews too quickly for this pull request. Wait a moment and try again. |
| Review credits exhausted | This organization has used its review allowance for the current period. A dashboard link lets you manage your plan. |
| Couldn't authorize the review | We couldn't confirm your access to this pull request. Make sure you're signed in and can view this PR, then try again. |
| Your plan doesn't include this | On-demand reviews via a service principal need a higher plan for this organization. A link lets you manage your plan. |
| This organization is inactive | AI reviews are turned off for this organization. Check your subscription status to reactivate them. |
| Manual reviews are paused | An administrator has temporarily disabled on-demand reviews. Automatic reviews still run on every PR update. |
| Something went wrong | The review couldn't be started — usually temporary. Try again in a moment. |
The Run a review form only appears when status is Active, so the "Finish setting up ADO Pilot" (never-onboarded) outcome described in PR action menu cannot occur here — only in the PR's own action menu, which is not status-gated.
Each review triggered from the hub spends one review credit.
Repository review settings
A card in this position always appears, but its content depends on status:
- Active — a Repository review settings card reads "Per-repository defaults (enable, review-on-push, branch filters, file exclusions) are configured in the dashboard." An Edit in the dashboard button opens
https://app.adopilot.dev/dashboardin a new tab. - Not configured — the card becomes a Get started card instead: "Sign up to connect this organization, choose the repositories you want reviewed, and start your free trial. Reviews begin posting on new pull requests within minutes." A Sign up at adopilot.dev ↗ button opens signup in a new tab.
Per-repository settings are not editable in the hub in either state — the hub is a status and trigger surface only.
Footer
The footer text depends on status:
- Active — repeats the dashboard link: "Subscriptions are managed by ADO Pilot's onboarding flow. To add projects, manage billing and team, regenerate webhook credentials, or view auth-failure reports, use the adopilot.dev dashboard."
- Not configured — points to signup instead: "New to ADO Pilot? Sign up at adopilot.dev to connect this organization, pick the repositories you want reviewed, and start your free trial."
Why configuration lives at app.adopilot.dev
The extension does not hold the personal access token (PAT) used to provision subscriptions, and it does not hold any backend API key. Subscription provisioning, PAT rotation, and webhook credential regeneration all happen at the dashboard:
- Rotate the PAT: dashboard → Settings → Integration → Rotate PAT.
- Resync webhook delivery: dashboard → Settings → Integration → Resync.
- Manage projects and per-repository settings: dashboard → Repositories.
- Cancel or change your plan: dashboard → Settings → Billing (opens the billing portal).
If the hub shows an error
If status loading fails, the hub renders an error banner with the underlying message and a Retry button. Retrying re-runs the status check. Common causes:
- A transient Azure DevOps Extension Data Service outage.
- Your Azure DevOps session token could not be minted or was rejected — sign out of Azure DevOps and back in, then retry. This can also happen during a transient Azure DevOps REST API outage while the hub is listing service-hook subscriptions.
If retrying does not help, open the adopilot.dev dashboard. The dashboard works independently of the hub.