§ Academy Use case

From Action Items to Actual Tasks, Automatically

July 28, 2026

Every meeting produces commitments and most evaporate. Turn transcripts and threads into tracked tasks with owners and due dates, with no copying by hand.

Listen to any meeting’s last five minutes and you will hear the company making promises to itself. “I’ll send that over Friday.” “Let me check with legal.” “We’ll get you the numbers.” Everyone nods. The meeting ends. And then, for most of those commitments, nothing: no task, no owner, no due date, no memory. The follow-through rate of a commitment that never leaves the transcript is roughly the follow-through rate of a new year’s resolution.

The standard fix is process: someone is assigned to take notes and file the action items. It works exactly as long as that someone is diligent, present, and not the person doing most of the talking. Which is to say, it works sometimes, in some meetings, and never in the Slack threads where half the real commitments are made.

The commitments are already recorded, in transcripts, in chat. What is missing is the unglamorous conversion step: from words spoken to task tracked. That step is mechanical, and mechanical steps should not have human single points of failure.

What a commitment is, precisely

The system’s definition is stricter than “action item,” and the strictness is what makes it useful. A commitment is a task whose record links three things: an owner (who will do it), a counterparty (who it is owed to), and, ideally, its source (the meeting or thread where the words were said). The promised-by date is the due date; the task closing is the promise kept.

That structure sounds like bookkeeping trivia. It is actually the difference between a to-do list and an accountability system. A task with no counterparty is just a to-do; a task with one is a promise, and promises can be queried in ways to-dos cannot: “what do we owe Meridian?”, “what does Meridian owe us?”, “what do I owe anyone this week, sorted by due date?” That cross-cutting view, the commitments register, is what feeds the open-items sections of every brief the engine produces, and it exists automatically once capture works.

The capture, mechanically

Two flows cover the two speeds at which commitments happen.

The end-of-day sweep is the workhorse:

name: action-item-capture
trigger: schedule
cron: "0 18 * * *"          # end of day
tools: [engine]
watch_conversation: true
confirm_first: false
prompt: |
  Read the conversation above and pull out genuine COMMITMENTS
  people made, "I'll do X", "I'll send Y by Friday", not vague
  musing. For each: search the engine first to avoid duplicating
  an existing task, then capture it as a task attributed to the
  person who committed, with the due date if one was mentioned.
  Keep it faithful, only real commitments. If there were none,
  say so in one line.

The keyword catch handles the explicit moments in real time:

name: todo-catch
trigger: keyword
keywords: ["todo:", "action:", "action item"]
tools: [engine]
watch_conversation: true
prompt: |
  Someone flagged a to-do in the chat. From the recent
  conversation, capture it as a task in the engine: what needs
  doing, who owns it (if said), and any due date. Search first
  to avoid duplicating an existing task. If it's not actually
  actionable, do nothing.

Meetings feed the same capture through the transcript pipeline: action items extracted from each call, with owners, linked to the meeting. In practice transcripts produce more commitments than chat does, and the spoken ones are precisely the ones evaporating today.

Note what the prompts refuse to do: assign tasks to people who did not volunteer, invent due dates, editorialize. Faithfulness is the property that makes people accept the system. A tracker that puts words in your mouth gets abandoned in a week; one that simply remembers what you actually said gets trusted. New tasks land as provisional in a short review queue, a minute of confirmation most days, and the loop closes itself: when a later message or call shows a commitment fulfilled (“just sent the deck”), the task is marked done against the original.

Keeping the register honest: the two nudges

Capture alone decays into a well-organized graveyard. Two small flows keep the register alive:

The morning overdue nudge posts one short, kind list: what is overdue, whose it is, by how much. Its prompt bans guilt-tripping explicitly, and it handles the classic data gap honestly: a task with no due date cannot be judged overdue, so if most open tasks lack dates, it says so in one line instead of guessing, which gently trains the team to say dates out loud when they commit.

The weekly staleness check flags commitments with no movement in about a week: a “still on?” list, gentle by design, because the point is to unstick things, not to prosecute them. Stale items usually mean one of three things: quietly done (close it), quietly deprioritized (say so and drop it), or genuinely stuck (now it is visible). All three outcomes beat the silent version.

Together the nudges convert the register from a record into a rhythm: commitments made, tracked, nudged, closed, with the whole cycle visible and nobody chasing anybody by hand.

What changes

Follow-through stops depending on anyone’s memory. That is the headline, but the texture matters more. Meetings end differently once people know commitments are captured: “I’ll look into it” gets said less often and meant more, and the habit of naming a date forms on its own because dated commitments get tracked and undated ones get a nudge about dates. External promises stop slipping, and the ones your clients made to you are tracked too, which changes the tone of your follow-ups from nagging to bookkeeping: “checking on the usage data you mentioned on the 12th” is a very different message than “any update?”

Because the tasks live in shared memory rather than a private list, everything else on the engine sees them. Briefs lead with what you owe the people in the room. The standup digest counts what actually closed. An account’s record shows every promise made on every call, fulfilled and open. One capture mechanism, visible everywhere the commitment matters.

Tuning it

KnobDefaultAlternatives
Sweep cadencedaily 18:00midday + evening
Keyword listtodo:, action:, action itemadd your team’s phrasing
Review gateprovisional, human confirmauto-confirm keyword catches
Overdue nudgedaily, morningsweekdays only, or weekly
Staleness bar~7 days quiettighter for client work
Tracker deliveryengine onlymirror into Asana/Linear/Jira

The tracker knob is worth a sentence: if your team lives in Asana, Linear, or Jira, wire delivery so captured commitments land there, with the link back to their source. The engine remains the memory; the tracker remains the workflow surface. Nobody should have to check two systems.

Failure modes, and the fixes

Capture is too generous. A queue full of “we should probably” items means the musing filter needs tightening. The review queue’s discard pattern is the tuning signal; feed it back into the prompt.

Owners dispute attributions. Rare, and healthy when it happens: the task links its source, so the dispute resolves by reading what was actually said. Occasionally the transcript reveals the commitment was genuinely ambiguous, which is a meeting-hygiene lesson no tool can apply for you.

The nudges get muted. Almost always a tone or volume problem. Shorten the lists, keep the kindness rules, and make sure the nudge lands where the owner already reads, not in a channel nobody opens.

Build this yourself

  • Chat connected, since threads are where commitments hide; transcripts too if you record meetings.
  • The sweep and the keyword catch, with your team’s phrasing in the keyword list.
  • The two nudges, overdue and staleness, tone rules intact.
  • Tracker delivery if your team lives in one.
  • The review-queue minute, owned by a named person.

This is the kind of workflow we install during a transformation: tuned to how your team actually phrases commitments, wired to the tracker you already use, on an engine you own. It starts with a $1,500 assessment, which tends to surface just how many of your company’s promises currently live nowhere at all.