Connecting data sources
Connect each tool once, then attach it to any board. All connectors are read-only. This page covers Jira, GitHub, GitLab, Azure DevOps, and the Microsoft Graph org directory.
Two ways to connect
- From a board (recommended): open a board → Sources tab → Add source. The wizard walks you through Provider → Pick projects → Review & attach, and lets you create a new connection inline and test it.
- From the global Sources page (
/sources): manage all connections and project syncs in one place. Each panel shows which boards use a source and when it last synced.
The Add-source wizard, step 1: choose a provider.
How syncing works
- Automatic: the worker runs a sync on startup and then every 15 minutes per source.
- Manual: Refresh now on a board, or Sync All Now / per-provider buttons on
/sources. - Never destructive: if an item disappears upstream it's marked stale, not deleted.
Jira
What it pulls: epics and issues under the project keys you choose, with changelog history (used for cycle-time and flow metrics).
| Field | Value |
|---|---|
| Name | A label for the connection |
| Atlassian URL | https://your-org.atlassian.net |
| The account email for the API token | |
| API token | Create at id.atlassian.com/manage-profile/security/api-tokens (Basic auth = email + token) |
| Project key(s) | e.g. ACME, PAY — one project sync per key |
- Create an Atlassian API token and copy it.
- Add-source → Jira → enter URL, email, token → Test.
- Pick the project key(s) to pull; optionally enable worklog sync.
- Attach to the board — Jira always feeds issues to the board.
GitHub
What it pulls: pull requests, reviews, commits, workflow runs, deployments, and issues per repo. Powers most speed/flow/quality/AI dashboards.
| Field | Value |
|---|---|
| API base URL | Defaults to https://api.github.com; set your GHE URL for GitHub Enterprise |
| Personal access token | Classic or fine-grained; needs repo read access (and read:org for org repos). SSO-protected orgs require the PAT to be SSO-authorized. |
| Repository | owner/repo — add several at once with bulk-add |
- Create a PAT with read access to the repos (authorize SSO if the org requires it).
- Add-source → GitHub → paste the token → the wizard lists your repos.
- Select repos (or bulk-add) and choose what they feed: board issues and/or code intelligence.
GitLab
What it pulls: merge requests (and optionally commits) per project. Supports self-managed GitLab via a custom API URL.
| Field | Value |
|---|---|
| API base URL | Defaults to https://gitlab.com/api/v4; set yours for self-managed |
| Access token | Personal/project token with read_api (sent as the PRIVATE-TOKEN header) |
| Project path | group/project |
- Create a GitLab access token with
read_api. - Add-source → GitLab → set URL + token → Test → pick the project.
- Enable "Feed issues" and/or "Feed MRs" as needed; optionally sync commits.
Azure DevOps
What it pulls: work items per project, plus PRs and commits from the repos you allow (strictly opt-in). Powers boards and ADO intelligence.
| Field | Value |
|---|---|
| Organization URL | https://dev.azure.com/your-org |
| Auth method | PAT (token) or BASIC (username + token) |
| Access token | ADO PAT with read scopes for Work Items, Code, and Build |
| Project | The ADO project name |
| Repos | A specific list (repo1, repo2) or "All repositories" |
- Create an ADO PAT with the read scopes above.
- Add-source → Azure DevOps → set org URL + auth + token → pick the project.
- Choose repos to include (code intel is opt-in per repo) and attach.
Microsoft Graph — org directory
Connected per org tree (not per board) to build a people hierarchy. See Org trees. The simplest path needs no app registration:
- Open an org tree → Source tab.
- Open Microsoft Graph Explorer, sign in, and copy your Access token.
- Paste the token and set the Root person (email/UPN) — everyone reporting up to them is imported.
- Press Sync now. The token lasts ~1 hour; re-paste to re-sync. (For hands-off syncing, configure an app registration with
User.Read.All— see the repo's.env.example.)