Last updated October 24, 2026
On this page
Connecting Sources
Sources connect a board to the code, documents, notes and URLs that describe the real system. The Sources Overview has the source types and the governing-source rules.
Two kinds of source
A board gets its sources in one of two ways.
The app's repo is automatic. Every new app gets a Code Plugin source of its own, named after the board and bound as governing in the same step. That happens however the app is made:
- Make this an app on a node or in the board menu
- a click or drag in the canvas Apps palette
- an agent calling
convert_node_to_appover MCP access
Then run /login in the repo. It connects the repo to that binding and writes the plugin's credentials, and the first /sync ties the binding to that repo. You never register or bind a repo in Sources.
The context around the app, you add yourself. That is what reference sources are for. Designs and ADRs in Confluence, specs in Notion, decisions in notes, vendor docs on the web and errors in Sentry all come in this way. Chat and insights read them on demand, and they never change the board. You register one in the workspace catalog, then attach it to each board that needs it.
Before you start
The steps below are for the sources you add yourself. You need the Editor role or above.
A binding is governing when it shapes the board, or reference when it is context for Chat, insights and tools. Sources Overview covers source limits and the exclusive Code Plugin slot.
Register a source
Open Sources Catalog in the workspace sidebar and choose Add Source.
- Note — paste the markdown or text, and give it a title.
- Web URL — paste the address, and give it a title.
- Import from a connector — pick Confluence, Notion or Sentry, browse your connected account, and select what to add. See Sources that come from a connector.
You can also register a source while you bind it. On a board's hub, Add on the Bindings card has a Create New tab with Web URL, Note and Browse Providers.
A source in the catalog does nothing until a board binds it.
Bind it to a board
Open the board's hub and choose Add on the Bindings card. Pick the source under Pick from Catalog and choose Attach reference source. The list leaves out Code Plugin sources: a repo is bound only to the app it governs.
The card doesn't bind a governing source; that comes with the app. Until a board is an app, the card's governing half reads "No governing source."
The credentials you get once
A governing Code Plugin binding gives you no secret to copy. Run /login in the repo on each machine that needs a credential; the app hub's App agent access (changed 12 October 2026) shows the step. The plugin signs in through your browser and writes its own credentials.
A reference Code Plugin binding that already exists keeps its own credentials. We show a live secret only when it's issued; later credential views show pmap_cp_live_****. To issue another, open Binding actions → Copy credentials on its row in the Bindings card and choose Generate new secret. Each machine keeps its own credential, and existing ones keep working until you revoke them from the dialog's Connections list.
Signing In & Credentials covers the lifecycle, The Code Plugin the fields, and the Boards API the request format.
Sources that come from a connector
Connect your own Confluence or Notion account once in Settings → Connectors; an owner or admin connects Sentry for the organization. A provider you haven't connected shows a Connect pill in the Add Source menu, which opens Settings → Connectors. Each item you select in the provider's browser becomes its own source, ready to bind.
You can also skip the catalog: paste a page's link in Chat, and ProvenMap offers to add the page as a reference source. Provider Sources covers what each provider brings and who can read what you add.
When a binding breaks
The board hub shows binding problems, and each binding's pulse says when its data last arrived.
If no connector reaches where a document lives, use Web URL or Note. Neither needs setup.

