Skip to main content

Decision Capture

Capture decisions in real-time from your team's conversations.

How It Works​

When someone makes a decision in Slack or Teams, mention @align to capture it:

@align We decided to use Redis for session storage because
it supports TTL and our team has experience with it.

Align will:

  1. Acknowledge - Post a confirmation that the decision was captured
  2. Extract context - Pull in surrounding messages for context
  3. Synthesize - Use AI to structure the decision
  4. Create Snapshot - Store as a searchable Decision Snapshot
  5. Link back - Post a link to the decision in Align

Ways to Capture​

Most capture starts with a human action. Align does not save a chat conversation you did not act on. A few artifacts are saved without one, covered below.

  • Mention @align in chat, or comment /align on a ticket/PR.
  • React to capture - add a capture emoji (:pushpin: or :bookmark: by default) to a message and Align captures that thread. A reaction is an explicit action, so it works without any per-channel setup. Workspace admins can change the capture emojis.
  • Opt-in suggestions - in channels an admin enables, when a discussion looks like a decision Align can post an ephemeral "capture this?" prompt that only you see. Nothing is stored until you click to confirm. This is off by default, per channel.

These are convenience paths on top of the manual mention - they remove the "I forgot to tag @align" problem without turning on passive monitoring.

What each platform supports​

PlatformReact to captureOpt-in suggestionsOther ambient signal
SlackYes (emoji)Yes (per channel)-
TeamsYes (emoji)Yes (per channel)Decision-relevant meetings
Zoom--Post-meeting transcript
Jira-Yes (per project, comments)-
Confluence-Yes (per space, comments)Page publish
GitHubYes (👀, polled)Yes (per repo, PR comments)Merged PR

Notes on platform limits (these are honest constraints, not gaps):

  • Zoom: Team Chat does not emit message events to apps, so real-time chat capture and chat reactions aren't available. Zoom ambient runs on the post-meeting transcript when a cloud recording completes.
  • Jira / Confluence: Atlassian Cloud does not send comment-reaction webhook events, so there's no react-to-capture there. Jira's ambient signal is decision-shaped comment activity on opted-in projects (status-independent - decisions get made while a ticket is still in progress, not just at Done). Confluence adds page publish as a deliberate signal (it bypasses per-space opt-in, like a finished meeting).
  • GitHub: GitHub sends no reaction webhook events, so react-to-capture works by API polling instead of a push - Align polls opted-in repos and captures a configured reaction (default 👀 eyes), so there's a short delay (~10 min) versus the instant Slack/Teams reaction. GitHub's other ambient signals are decision-shaped PR comment activity on opted-in repos and a merged PR as a deliberate signal (it bypasses per-repo opt-in, like a finished meeting).

Every ambient path is entitlement-gated, and the two column types work differently:

  • Opt-in suggestions (comment activity) are prompt-based: Align posts a "capture this?" suggestion and nothing enters the graph until someone confirms.
  • Explicit gestures (an emoji react) are themselves the confirmation: the person's react is their "yes", so capture happens directly without a second prompt.
  • Artifact signals (a merged PR, a page publish, a ticket moving to Done, a finished Zoom meeting) are saved with no one confirming the decision. The merge or the publish is a real event, and Align cannot tell it was a decision someone stood behind. These are saved as remarks.

A remark is returned to agents marked as unconfirmed. It does not fail a check and does not override a decision a person made. Ratifying a remark makes it count. Capturing a merged PR or a page again with /align also confirms it. Decisions an agent records through the MCP server are remarks too, and only ratifying them confirms them. Decisions saved before standing levels existed are not remarks and behave as they always did.

/align and the MCP tools work on every connector regardless.

What Makes a Good Decision Capture​

Include the "What"​

Be specific about what was decided:

✅ "We decided to use PostgreSQL for the user service"
❌ "Database stuff decided"

Include the "Why"​

Rationale is crucial for future understanding:

✅ "Using PostgreSQL because we need strong consistency
for financial transactions and the team has Postgres experience"
❌ "Using PostgreSQL"

Include Participants​

Mention everyone involved:

✅ "@alice @bob @carol agreed on this approach"

Reference Evidence​

Link to supporting materials:

✅ "Per the RFC at PROJ-123 and the discussion in #arch-review"

Decision Types​

Align categorizes decisions automatically:

TypeExamples
ArchitectureTech stack choices, patterns, infrastructure
ApprovalSign-offs, go/no-go decisions
Trade-offChoosing between alternatives
PolicyProcess and workflow decisions
PrioritizationWhat to do first, deferrals

Context Extraction​

When you trigger a capture, Align pulls in:

  • Previous messages - Last ~50 messages in the conversation
  • Thread context - Full thread if captured from a reply
  • Linked content - URLs, mentions, and references
  • Participant info - Who was involved

Best Practices​

1. Capture at the Moment​

Don't wait. Capture decisions when they're made:

✅ Immediately after discussion: "@align Going with option B"
❌ Days later: "@align I think we decided something about this?"

2. Use Threads​

Capture from within the discussion thread:

Thread: "Redis vs Memcached for caching?"
├── Discussion about tradeoffs...
├── More discussion...
└── "@align Going with Redis for pub/sub support" ← Capture here

3. Be Explicit​

Don't rely on context alone:

✅ "@align We decided to delay the launch by 2 weeks to fix the auth bug"
❌ "@align ^^"

4. One Decision Per Capture​

Keep captures focused:

✅ "@align Decision 1: Using Kubernetes"
"@align Decision 2: Going with EKS over GKE"
❌ "@align We decided Kubernetes and also EKS and also to change the deploy process"

After Capture: Proactive Intelligence​

Capture is intentionally lightweight - just @align with the decision. The heavy lifting happens automatically afterward:

What Align DoesWhenHow
Relationship detectionImmediatelyCross-platform reference matching (Jira keys, GitHub PRs, thread links)
Conflict detectionWithin minutesLLM analysis finds contradictions with existing decisions
Tier classificationBackgroundML model classifies as strategic, tactical, or operational
Space assignmentImmediatelyAuto-assigned based on connector channel mappings
Drift monitoringOngoingAlerts when decisions go stale or diverge from implementation
Health scoringOngoingTracks freshness, evidence, conflicts, and connectivity

You don't need to change how your team communicates. The @align mention is a one-second action - everything else is proactive.

After Capture: Manual Actions​

You can also:

  • Edit - Refine the title and description in Align
  • Add tags - Categorize for easier search
  • Link evidence - Connect related tickets, PRs, docs
  • Share - Send the decision link to stakeholders