Skip to main content
Glama
PhononX

Carbon Voice

by PhononX

list_action_items

Read-only

Retrieve action items from a specific conversation, folder, or home container. Filter by status or assignee to find outstanding tasks quickly.

Instructions

List action items belonging to one container — a conversation, a folder, or home. USE WHEN: You have a container_id and want its action items. container_type is channel for a conversation, folder for a folder, or home. A conversation id is NOT a folder id — resolve container_id with the tool matching your container_type. Filter by status or assigned_to (pass the string null for unassigned). USE INSTEAD: list_my_action_items for everything assigned to you regardless of where it lives. FIRST: container_id comes from list_conversations (field results[].id) when container_type is channel — call it first if you don't have one. FIRST: container_id comes from get_root_folders (field results[].id) when container_type is folder — call it first if you don't have one. EXAMPLE: {"container_type":"channel","container_id":"conv-abc","status":"todo"} RETURNS: Same as list_my_action_items: {results: [...], total?, results_count?, has_more?, next_cursor?, filters?}. NARROW: pass response_fields ["results.id","results.title","results.status","results.assigned_to"] unless you need more — the full payload is much larger.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoAnchor timestamp to start from. Uses updated_at. Ignored when starting_after/ending_before is provided.
limitNoNumber of items to return (min: 1, max: 100)
statusNo
directionNonewer
assigned_toNoFilter by assigned_to (user_id). Use 'null' to filter by unassigned items.
container_idYes
ending_beforeNoCursor to fetch the previous page (use value from previous_cursor).
container_typeYes
starting_afterNoCursor to fetch the next page (use value from next_cursor).
response_fieldsNoDot-path allowlist to shrink the response, e.g. ["results.id","total"]. Omit for the full payload.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.10.0

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is safe. The description adds valuable context: filtering by status or assigned_to (with 'null' for unassigned), the RETURN format matching list_my_action_items, and a performance tip to use response_fields to shrink payload. It doesn't clarify pagination behavior beyond cursors, but annotations cover safety, and the description adds meaningful usage behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (USE WHEN, USE INSTEAD, FIRST, EXAMPLE, RETURNS, NARROW). It's front-loaded with the core purpose and uses bold headings for scannability. Every line adds value—no fluff, and it maintains brevity despite the density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 params, multiple container types), the description covers all essential aspects: how to get container_id, how to filter, pagination cursors, return shape, and optimization tips. The output schema is absent, but the description explicitly states the return format. It's complete for an agent to call correctly without external lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema coverage at 60%, the description compensates by explaining key non-schema-covered semantics: container_type and container_id are identified as the required pair, with specific values for container_type, and it notes that a conversation id is not a folder id. It also clarifies the use of the 'null' string for assigned_to filtering, which is in the schema but reinforced. The description doesn't cover all parameters, but adds significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists action items for a specific container, with explicit examples of container_type values (channel, folder, home). It distinguishes itself from the sibling list_my_action_items by specifying scope (one container vs. all assigned to user). The verb 'list' and resource 'action items' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit 'USE WHEN' and 'USE INSTEAD' instructions, naming the alternative tool list_my_action_items and the condition for choosing it. It provides clear prerequisites ('FIRST' sections) explaining how to obtain container_id for each container type, and includes an example call. This is comprehensive routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.