Connecting and managing a provider account
This is the "Providers" section at the top of Integrations → Repositories, one card each for GitHub and GitLab. It is the same shared connection UI that Clouds and Communication use (see Integrations overview), just filtered to Git providers here.
How do I connect?
Each provider card shows its connection state (Connected or Not connected) and, once a workspace is selected, two ways to add an account:
- connect (or connect another account if one is already linked): starts OAuth: a popup opens to the provider's consent screen. ACE polls until the popup closes, then completes the connection. If the popup is blocked, you will see "Popup blocked. Allow popups for this site, then try again."
- use a token: opens a password-style input to paste a personal access token instead of going through OAuth. Enter the token and click save token (or press Enter).
You can connect multiple accounts per provider, for example two different GitHub organizations. Each connected account appears as its own row under the card, showing the account name or label.
Connecting requires a workspace to be selected; without one, the button is disabled with the tooltip "Select a workspace to connect."
Account status and errors
Each connected account row can show:
- default: the account used when nothing more specific is picked (not shown once project-usage tracking is on for this surface, since Repositories shows "Used on…" instead, see below).
- A status badge in warning color when the connection is not
active. - new permissions: the account is active but needs re-consent for newly required scopes; hovering shows which ones.
- reconnect: appears whenever the account is not active or needs re-consent; re-runs the OAuth flow for that specific account.
- A red error strip with an error code, the module it came from, and a timestamp, when the account's
lastErroris set. - Used on
<project name>: a green strip shown when the currently-selected project's repositories or project-integration binding point at this exact account.
How do I disconnect?
Click the trash icon on an account row to disconnect it. This is workspace-level: it removes the account, not any individual repository (removing a repository itself is covered in Importing and managing repositories).
Assigning accounts to projects
Click the gear icon on a provider card to open Manage <provider> accounts. This modal manages every account of that provider across every project in the workspace, enforcing one rule throughout: a project can use only one account per provider at a time.
Two views over the same data, plus a project search box:
- By project: one row per project, with a dropdown to pick which account (or "Not connected") serves it. Changes save immediately.
- By account: pick one account from a dropdown, then check or uncheck the projects it should serve. Checking a project already served by a different account of the same provider prompts "Replace account on this project?" before swapping it.
If a repository was connected before per-account tracking existed (so its connectionId is empty), the modal still resolves its serving account through the project's integration binding, so it is not shown as unassigned incorrectly.
There is also a lighter-weight, single-account version of this same assignment list used elsewhere in the integrations UI: for one connection, it lists every project as assigned (toggle off to remove), conflict (grayed out with a lock icon, meaning a different account of this provider already serves it), or unassigned (toggle on to assign).
Related
- Importing and managing repositories: using a connected account to actually bring repos into a project.
- Integrations overview: how Clouds, Repositories, and Communication share this same connect, disconnect, and reconnect machinery.
- Connections: the Settings tab that links out to this page.