Action items

MCP and CLI operations to list, read, create, update, complete and remove action items, follow-ups, questions and decisions.

Action item operations work with the four kinds of item TalkBar tracks: tasks, follow-ups, questions and decisions. An item belongs to a session, a project or General, and can point at the moment in a session it came from. Every operation also takes an optional workspaceId. See How to read this reference for the conventions.

OperationKindToolOnGroup
action_items.listReadtalkbar_readOncontent
action_items.getReadtalkbar_readOncontent
action_items.createWritetalkbar_changeOffcontentChanges
action_items.updateWritetalkbar_changeOffcontentChanges
action_items.set_statusWritetalkbar_changeOffcontentChanges
action_items.removeWritetalkbar_deleteOffcontentChanges

Statuses by type

TypeStatuses
taskopen, done
follow_upopen, done
questionopen, answered
decisionactive, superseded

action_items.list

Lists action items: tasks, follow-ups, questions and decisions. Filter by session, project, series, General, type, status, assignee or text.

Read · runs with talkbar_read · MCP switch On by default · policy group content

Arguments

sessionId
string

Only the items of this session. With it, projectId, seriesId, generalOnly and includeStopped are ignored.

projectId
string

Only items of this project.

seriesId
string

Only items of this series.

generalOnly
boolean

Only items in General (not tied to a project). Cannot be combined with projectId or seriesId.

itemTypes
string[]

Only these types: task, follow_up, question, decision.

statuses
string[]

Only these statuses: open, done, answered, active, superseded.

contactIds
string[]

Only items assigned to these people.

text
string

Text to find in titles and details.

includeStopped
boolean

Also list carried-over items that were stopped.

limit
integer

How many to return. From 1 to 200. Default 50.

Returns: {items: [{itemId, itemType, label, title, status, dueAtMs, sessionId, sessionTitle, projectId, assignees, anchor, updatedAt}]}. anchor ({turnId, pointId, atMs} or null) is the moment an item is tied to.

  • Resolved items (done, answered, superseded) sort last. Type and status values outside the lists above match nothing.
{"tool": "action_items.list", "args": {"projectId": "proj_456", "statuses": ["open"]}}

action_items.get

Reads one action item with its details, assignees, status and sources.

Read · runs with talkbar_read · MCP switch On by default · policy group content

Arguments

itemIdrequired
string

The action item, from action_items.list.

Returns: {itemId, itemType, labelId, label, title, details, status, dueAtMs, answer, sessionId, sessionTitle, projectId, assignees: [{name, contactId}], origin, sources, resolvedAtMs, createdAt, updatedAt}. sources lists the quotes and moments the item comes from.

action_items.create

Adds an action item to a session, a project or General. Works while the session records, and shows live.

Write · runs with talkbar_change · MCP switch Off by default · policy group contentChanges

Arguments

titlerequired
string

What needs doing. Must not be empty.

sessionId
string

Add it to this session. Without projectId, it takes the session's project.

projectId
string

Add it to this project. With neither sessionId nor projectId, it goes to General.

itemType
string

One of task, follow_up, question, decision. Default task.

labelId
string

A label (such as Idea or Blocker) for the item, by id; action_items.get shows an item's labelId. Each label belongs to one item type.

details
string

More detail.

status
string

One of open, done, answered, active, superseded, as allowed for the type. Default open (active for a decision).

dueAtMs
integer | null

Due date in epoch ms (tasks and follow-ups only). null for none.

answer
string

The answer (questions only).

assignees
(string | object)[]

Who it is for: names, or {name, contactId} objects with a non-empty name.

turnId
string

A transcript turn (sessions.transcript with format: "json"). Ties the item to a moment in its session. Needs sessionId.

chunkId
string

A live transcript chunk (sessions.transcript with format: "json"). Ties the item to a moment in its session. Needs sessionId.

pointId
string

A timeline point (sessions.timeline). Cannot be combined with turnId or chunkId. Ties the item to a moment in its session. Needs sessionId.

atMs
integer

A moment in ms from the session start. With a turn, chunk or point it must fall inside it; while recording it cannot be later than now. Ties the item to a moment in its session. Needs sessionId.

quote
string

The words the item is about. On its own, it finds the one turn holding those words. Ties the item to a moment in its session. Needs sessionId.

Returns: The item, as action_items.get returns it; in a session, also sessionStatus (and a warning when the session was interrupted or TalkBar is not running).

  • An id the session does not have is refused with invalid_arguments.
  • A due date on a question or decision, or an answer on anything but a question, is refused.
  • The item keeps its moment as well as the ids, so the app still places it after the transcript is enhanced.
{"tool": "action_items.create", "args": {"sessionId": "ses_123", "title": "Send revised quote", "itemType": "follow_up", "assignees": ["Dana Lee"], "quote": "send you a revised quote"}}

action_items.update

Changes an action item's title, details, type, label, status, due date, answer or assignees.

Write · runs with talkbar_change · MCP switch Off by default · policy group contentChanges

Arguments

itemIdrequired
string

The action item, from action_items.list.

title
string

The new title. Must not be empty.

details
string | null

More detail. null clears it.

itemType
string

One of task, follow_up, question, decision.

labelId
string

A label (such as Idea or Blocker) for the item, by id; action_items.get shows an item's labelId. Each label belongs to one item type.

status
string

One of open, done, answered, active, superseded, as allowed for the type.

dueAtMs
integer | null

Due date in epoch ms. null clears it.

answer
string | null

The answer (questions only). null clears it.

assignees
(string | object)[]

Replaces the assignees: names, or {name, contactId} objects.

Returns: The item, as action_items.get returns it.

  • Give at least one field.

action_items.set_status

Completes or reopens an action item, with an optional answer.

Write · runs with talkbar_change · MCP switch Off by default · policy group contentChanges

Arguments

itemIdrequired
string

The action item, from action_items.list.

statusrequired
string

The new status. Tasks and follow-ups: open or done. Questions: open or answered. Decisions: active or superseded.

answer
string

An answer to record (questions).

Returns: The item, as action_items.get returns it.

  • A status the type does not allow is refused with invalid_arguments, listing the allowed ones.
{"tool": "action_items.set_status", "args": {"itemId": "ai_42", "status": "done"}}

action_items.remove

Removes an action item from its board, as the app does: an item you added is deleted, an item from a summary is dismissed.

Write · runs with talkbar_delete · MCP switch Off by default · policy group contentChanges

Arguments

itemIdrequired
string

The action item, from action_items.list.

Returns: {removed: true, itemId, sessionId, projectId}, plus sessionStatus for a session item.

  • There is no Trash for action items: a second remove is not_found.
  • Runs with talkbar_delete: confirmed with you when your AI app can ask; apps that cannot ask are refused unless Allow deletes without confirmation is on.