Last updated July 20, 2026
Connecting Sources
Architecture that drifts from reality is worse than no architecture at all. Sources are how you anchor your boards to actual code and docs — so your views stay current as systems change.
Prerequisites
Before connecting sources, make sure you have:
- A workspace set up with at least one board
- Admin or editor permissions on the workspace
- OAuth connectors configured (for provider sources like Confluence, Notion, Jira)
- Or just a URL or text to paste (no setup needed for Web URL and Note)
How sources work
Sources live in a workspace-level catalog. You register a source once, then bind it to one or more boards. Each binding defines the source's role; plugin bindings also track their own sync state independently.
Adding your first source
The fastest way to get started depends on what you have:
No OAuth needed — just paste a URL.
- Open your workspace → Sources
- Click Add Source → select Web URL
- Paste the URL (blog post, vendor docs, internal wiki, ADR page)
- Give it a title and save
Works with any HTTP/HTTPS page — architecture blog posts, AWS docs, Stripe API docs, tech specs on static sites.
Source types
Available today:
| Type | Auth | Best for |
|---|---|---|
| Confluence | OAuth | Wiki pages, ADRs |
| Notion | OAuth | Knowledge bases |
| Jira | OAuth | Issue context |
| Web URL | None | Any webpage |
| Note | None | Direct text input |
| Cdx Code / Cdx Work (ContextDX plugins) | Boards API token + secret | Code- and doc-derived structure, push |
Coming soon:
| Type | Auth |
|---|---|
| GitHub | OAuth |
| Google Docs | OAuth |
| Terraform | API key |
| Slack | OAuth |
Binding sources to boards
Once a source is in your catalog, bind it to a board:
- Open a board → click the Sources panel
- Click Bind Source → select from the catalog
- Choose a role:
| Role | What it does |
|---|---|
| Governing | Shapes the board — contributes nodes and edges to the board |
| Reference | Attached as context only — chat reads it on demand, but it won't modify the graph |
A board's governing sources must all share one type — with one exception: the ContextDX plugins (Cdx Code and Cdx Work) can govern alongside any other type. Reference sources have no type restriction.
Reference bindings are the board's context library: chat reads them on demand, whole-document — pin the sources a conversation should use, or let chat pull any bound document (a PRD, an ADR, a runbook) into the conversation while it works. It can even draft a spec from one, with your confirmation.
The sync workflow
A governing plugin binding (Cdx Code / Cdx Work) tracks a simple state: unsynced when newly bound, synced once a push has been applied to the board — each with its own timestamp, so you always know what's current. Document sources carry no sync state: Chat reads them on demand, and a governing document shapes the board when you ask Chat to build or refresh from it. Reference bindings don't sync either; their content is read on demand.
Source health
Each source carries a health status:
| Status | Meaning |
|---|---|
| Healthy | Source accessible, sync working |
| Degraded | Source accessible but with issues |
| Failing | Source not accessible or sync failing |
Keep an eye on degraded sources. They often signal an expiring OAuth token or a renamed repo — fix them before they go failing.
A failing source doesn't break your board — it just means the data may be stale.
Build-from-code sources (Cdx Code)
Cdx Code (and the VS Code / JetBrains plugins) analyze your application code locally and push a ready-made graph — nodes and edges — straight to your board through the Boards API. Instead of pulling and interpreting content remotely, the plugin does the analysis on your machine and pushes the finished result.
When to use build-from-code
These sources authenticate with a Boards API token + secret rather than OAuth. Use this when:
- You want code-derived architecture — analysis that reads your actual codebase structure
- You need incremental updates tied to git diffs, not full content re-extraction
- You'd rather keep analysis local and push the result than hand source content to the platform
See the ContextDX Plugins to install and run them, and the Boards API reference for payload shape and auth.
Troubleshooting
Source shows "failing" health status
Cause: The external service is unreachable or the OAuth token has expired.
Fix:
- Go to Settings → Integrations and check if the connector is still connected
- If expired, click Reconnect to re-authorize
- Return to Sources and check if health updates to healthy
Governing source bound, but nothing appears on the board
Cause: Building a board from a document source happens through Chat, which needs a connected model provider.
Fix:
- Make sure a model provider (e.g. OpenRouter) is connected for your workspace
- Ask Chat to build the board from the source — it reads the document and generates the structure
Start with Web URL or Note — zero setup, instant results. Graduate to OAuth sources once you've seen the value.


