Marking a Slack message as a decision with the Afinio Decisions message shortcut

Afinio Decisions

Slack app for capturing team decisions

Principal Product Designer

Designed and shipped a Slack app that lets teams capture important decisions and find them later, without changing how they work.

Impact

  • Installed in 25 workspaces, with hundreds of decisions captured
  • Live on the Slack Marketplace as Decisions Tracker by Afinio
  • Privacy-first: works only in channels it's invited to, never in direct messages
  • AI summaries and suggested decisions built, to be released in stages

My Role & Scope

I designed and built the app end to end with AI coding tools, with an engineering partner for debugging and reviews:

  • Problem definition and the core interaction
  • Designing within Slack's components and interaction rules
  • Privacy and data design
  • AI features: prioritised summaries and suggested decisions

Key constraints

  • Slack controls the building blocks, layouts and interactions
  • Workspace admins must trust an app before they install it
  • People won't adopt anything that changes how they already use Slack

The Problem

Teams make important decisions in Slack threads every day, and then lose them. A week later nobody can find what was agreed, who agreed it or why, so discussions get repeated.

The challenge was to make decisions easy to capture and find, without a new tool, a new habit or a bot reading every conversation.

Key UX Metric

Success is measured by capture rate: how many real decisions teams save, and whether they come back to find them.

Design Decision 1: Capture in One Gesture

Any message can be marked as a decision from Slack's own message menu. It's a pattern people already know, so there's nothing new to learn, and the decision stays linked to the conversation where it was made.

Capture is explicit: a message becomes a decision only when someone marks it, and it can be unmarked the same way.

Design Decision 2: Find It Later, Without Searching

  • /decisions lists a channel's recent decisions, each linking back to its thread
  • /decisions search finds a decision by keyword
  • An optional weekly digest posts the channel's decisions automatically

Design Decision 3: Privacy by Default

The app reads messages only in channels it has been invited to, never accesses direct messages, and doesn't sell Slack content. Removing it stops access straight away.

Designing with Slack's own rules, rather than against them, kept the app simple to build and easy for admins to trust. It's the same approach I took with Salesforce at Wells Fargo.

Design Decision 4: AI That Suggests, People Who Decide

The app has two AI features built in:

  • Prioritised summaries: AI summarises captured decisions and puts the most important first, so a digest leads with what matters instead of a long list.
  • Suggested decisions: AI spots messages that look like decisions and suggests marking them. Nothing becomes a decision until a person confirms it.

Suggested decisions are off by default. A workspace admin chooses whether to switch them on, so the team decides how much the AI can see, not the product.

I chose not to release the AI features until the basic capture flow is proven: if people don't trust and use it, AI on top adds noise, not value.

Outcome

Afinio Decisions is installed in 25 workspaces, with hundreds of decisions captured.

The project reinforced two lessons:

  • Trust comes from control. Explicit capture and admin opt-in made the app easy to adopt.
  • Prove the basics before adding AI. Holding back finished AI features kept the product focused.
Afinio Decisions showing a channel's recent decisions, each linked back to its Slack thread