ProductFeaturesAgentsSecurityPricingIntegrationsCompareBook a demo
Typed messages

11 typed objects. One substrate everything else builds on.

A message in most tools is a blob of text with reactions bolted on. In aanty, every message carries a type from the moment it's written — message, question, answer, decision, update, task, approval, alert, doc, event, or celebration — and that type drives routing, notification priority, search facets, and analytics.

The full set

Eleven types, each with its own colour, icon, and behaviour.

Type is AI-suggested at write time and always author-overridable — it never blocks send. Colour is never the only signal: an icon and a label always ride along.

MessageQuestionAnswerDecisionUpdateTaskApprovalAlertDocEventCelebration
Try it

Pick a type, see how it renders and what metadata it carries.

The decision ledger

Why chat scrollback destroys decisions — and how the type fixes it.

Decision-typed messages don't just sit in a thread. They aggregate into a per-team and per-org decision log, searchable for the question every org keeps re-asking: why did we choose X?

  • Structured fields. Each decision carries its options, the one chosen, an owner, and a revisit date — not just a sentence in a channel.
  • Searchable, not scrollback. The ledger answers "why did we choose X?" directly, instead of asking you to scroll back through a thread.
  • Owned and revisited. An owner and a revisit date mean decisions get reopened on purpose, not forgotten by accident.
Question → answer matching

Kills the "asked five times in five channels" pattern.

A typed question is checked against org memory before it ever needs a human — and once it does get answered, that answer is captured back into the graph for the next person who asks.

  • Checked against org memory first. "This was answered three weeks ago by Sara: use magic-link, add SSO on Business."
  • Escalates when unanswered. If nothing in the graph resolves it, the question routes to whoever's named or best placed to answer.
  • Answers feed the graph. Once answered, the answer is captured so the same question never has to be asked cold again.
Approvals, gated by risk

Every approval carries a safety tier — and the confirmation UI is a direct function of it.

An approval is a native message type with approve, reject, and modify actions, full audit, and — for anything consequential — a confirmation gate that matches its assigned tier. Unassigned actions default to High.

Low

Rename a channel, edit your own message

No modal — inline change with a 7-second undo toast, audited.

Medium

Change a role, approve a budget, modify an approval

Confirmation modal — type-to-confirm for anything irreversible, audited.

High

Export a workspace, bulk delete, disable a channel

Confirmation modal plus an MFA recheck and a cooldown window, audited.

Critical

Delete a tenant, disable retention, change a legal hold

MFA recheck and dual approval from a second admin, or break-glass — with a post-action audit notification.

Book a demo

See your team's messages typed, not just sent.

Bring a real thread. We'll show it classified, routed, and searchable — with a decision ledger entry to match.