Skip to main content

Confluence

Confluence is where a lot of teams already write decisions down - and where those write-ups go stale without anyone noticing. Align captures new decisions from comments and page publishes, and Discover scans what is already there.

Off by default

Confluence is fully built and shipped as a container image, but connectors.confluence.enabled is false in the chart's default values. On Align Cloud, ask us to enable it. Self-hosting, set the flag - see Configuration.

What it does​

  • Capture from comments - /align in a page comment
  • Page-publish signal - publishing a decision-shaped page can raise a capture suggestion
  • Discover - scan existing spaces, decision logs and RFC pages for past decisions
  • Evidence linking - a decision keeps a link back to the page and comment it came from

Setup​

  1. Settings → Integrations → Connect next to Confluence
  2. Sign in with Atlassian and select the site to grant access to
  3. Choose which spaces are in scope

On Align cloud, Align's OAuth app is used. Self-hosted, you register your own Atlassian app. See OAuth apps.

Capturing a decision​

In a comment on any page in an opted-in space:

/align We're standardising on OpenAPI 3.1 for all public service contracts

Align reads the surrounding page context, synthesises a Decision Snapshot, and posts a reply comment on the same page linking to it - only when your Confluence connection was made through Jira (see OAuth scopes below). Connect Confluence on its own and the decision is still captured; the reply comment does not post, because that connection has no write scope for Confluence.

What Confluence cannot do​

Two limits come from Atlassian's API, not from Align, and it is worth knowing which is which:

  • No react-to-capture. Atlassian Cloud emits no comment-reaction webhook events, so the 📌 / 🔖 reaction path that works in Slack and Teams is not available here. Use /align.
  • Page publish is treated as an explicit trigger, not an ambient signal - a publish is already a deliberate act by an author. It still requires per-space opt-in (checked against the page's real space, ALI-1077) and an explicit decision marker in the title/body to persist a decision (ALI-1078); only the decision-shape judgment call an LLM would otherwise make is skipped.

OAuth scopes​

Connecting Confluence requests Confluence scopes only. This is the full list your consent screen shows:

ScopeWhy
read:page:confluenceRead page content for context
read:space:confluenceEnumerate spaces you have granted
read:comment:confluenceRead the comment that triggered a capture
read:confluence-content.allDiscover scans across granted content
offline_accessRefresh the token without re-authorising

Every one is a read. There is no write scope in this list, so a Confluence-only connection cannot create, edit, delete, or comment on Confluence content with your tokens - and it gives Align no access to your Jira either.

Shared Atlassian app: what that means for the grant

Jira and Confluence use the same Atlassian OAuth application, which is why the connectors page shows one Atlassian card.

Atlassian takes the scope list from each authorisation request, so a Confluence authorisation asks for the five scopes above and nothing more. What it does not do is let the two products hold different permissions at the same time. Atlassian's grant is per user per app, and its documentation is explicit that "the scopes in the new grant override the scopes in the existing grant".

So there are two cases, and they are worth stating separately:

  • Confluence and not Jira. The grant is the five read scopes above. Align has no access to your Jira, and cannot post an /align reply comment.
  • Both products. Connecting the Atlassian card authorises through Jira, because that is the one request that covers both in a single consent. You are approving Jira's read scope list, which since ALI-1800 holds no write scope. The credential Align stores for Confluence is that same authorisation. The Confluence comment scope, write:comment:confluence, is added only when you switch on the Confluence comments feature, so a tenant using both products can post a comment only after that one re-consent.

So Align can only write a Confluence comment - the /align reply - when your connection came through Jira and the Confluence comments feature is on. A Confluence-only connection never requests a Confluence write scope, and Align checks the actual granted scope before every reply, not just which button you clicked.

A refreshed token keeps the scopes it was originally granted, so an existing connection keeps whatever it was granted until it is re-authorised.

Evidence captured​

  • Page link and title
  • Space key and name
  • Comment link, where the capture came from a comment
  • Author and timestamp

Next steps​

  • Capture - the full per-platform trigger matrix
  • Discover - scanning existing spaces
  • Jira - the other half of the Atlassian pair