Skip to main content
Glama

Create, update, and delete follow-up tasks (action items) tied to meetings. Use this for action-item lifecycle; to manage the parent meeting, agenda, or participants, use those dedicated tools. Set `action` to one of: create, delete, update. Then provide the fields for the selected action. action=create: Add a follow-up task to a meeting. Use this when the user wants to track work that came out of a meeting. Creates a follow-up action item in an accessible meeting. `meeting_id` and `title` are required; unknown `meeting_id` returns 404. Optional `status` must be one of `needs_review`, `accepted`, `in_progress`, `blocked`, `completed`, `cancelled`. The 201 body returns the `id` for v1UpdateActionItem or v1DeleteActionItem. Idempotent with `Idempotency-Key`; blind retries can duplicate without it. action=delete: Remove a follow-up task. Use this when the user wants to delete an action item. Soft-deletes an action item keyed by `{id}`. Returns 204 with no body. Unknown or inaccessible ids return 404. The call is effectively idempotent: a second delete of the same id also 404s, so retries are safe. action=update: Change a follow-up task's status or details. Use this when the user wants to update an action item. Partial update (PATCH) — only send fields to change. `status` drives a state machine, so set it explicitly rather than inferring from `is_completed`. This call does NOT honor `Idempotency-Key`; a blind retry may apply the same change twice. Returns 404 for an unknown or inaccessible id.

manageActionItems
Destructive

Create, update, and delete follow-up tasks (action items) tied to meetings. Use this for action-item lifecycle; to manage the parent meeting, agenda, or participants, use those dedicated tools.

Set action to one of: create, delete, update. Then provide the fields for the selected action.

action=create: Add a follow-up task to a meeting. Use this when the user wants to track work that came out of a meeting.

Creates a follow-up action item in an accessible meeting. meeting_id and title are required; unknown meeting_id returns 404. Optional status must be one of needs_review, accepted, in_progress, blocked, completed, cancelled. The 201 body returns the id for v1UpdateActionItem or v1DeleteActionItem. Idempotent with Idempotency-Key; blind retries can duplicate without it.

action=delete: Remove a follow-up task. Use this when the user wants to delete an action item.

Soft-deletes an action item keyed by {id}. Returns 204 with no body. Unknown or inaccessible ids return 404. The call is effectively idempotent: a second delete of the same id also 404s, so retries are safe.

action=update: Change a follow-up task's status or details. Use this when the user wants to update an action item.

Partial update (PATCH) — only send fields to change. status drives a state machine, so set it explicitly rather than inferring from is_completed. This call does NOT honor Idempotency-Key; a blind retry may apply the same change twice. Returns 404 for an unknown or inaccessible id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoAction Item ID
titleNoShort summary of the work to be done (1-1000 characters)
actionYesThe operation to perform
statusNoWorkflow status: needs_review, accepted, in_progress, blocked, completed or cancelled. Defaults to needs_review
due_dateNoDate the action item is due, as YYYY-MM-DD
meeting_idNoID of the meeting the action item belongs to
descriptionNoLonger description of the action item, in Markdown (max 1000 characters)
is_completedNoMarks the action item completed (true) or reopens it (false); a convenience alias for status
Idempotency-KeyNoOptional client-generated idempotency key (max 255 printable ASCII). Repeat requests with the same key replay the original 2xx response.
assigned_to_nameNoDisplay name of an external assignee; only valid with assigned_to_email (max 255 characters)
assigned_to_emailNoEmail of the person to assign. A workspace member's email assigns that member; any other email assigns an external person and the item is created with status delegated (unless created completed or cancelled)
assigned_to_user_idNoWorkspace member to assign. Omit both assigned_to_user_id and assigned_to_email to assign the authenticated user; sending both returns 400

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / assigned_to_email
      Added value: +{
      +  "description": "Email of the person to assign. A workspace member's email assigns that member; any other email assigns an external person and the item is created with status delegated (unless created completed or cancelled)",
      +  "example": "guest@example.com",
      +  "type": "string"
      +}
    • addedInput schema / properties / assigned_to_name
      Added value: +{
      +  "description": "Display name of an external assignee; only valid with assigned_to_email (max 255 characters)",
      +  "example": "Guest Person",
      +  "type": "string"
      +}
    • addedInput schema / properties / assigned_to_user_id
      Added value: +{
      +  "description": "Workspace member to assign. Omit both assigned_to_user_id and assigned_to_email to assign the authenticated user; sending both returns 400",
      +  "example": "019abc12-def3-7000-8000-000000000004",
      +  "type": "string"
      +}
  2. Added

TDQS

A4/5.0
Behavior5/5

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

Annotations only declare destructiveHint=true and idempotentHint=false; the description adds far more: soft-delete semantics, 404 on unknown/inaccessible ids, 204/201 response shapes, and the crucial asymmetry that create honors Idempotency-Key while update does not (blind retries can double-apply). It also warns that status drives a state machine. No contradiction with annotations.

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

Conciseness4/5

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

Front-loaded with the action overview, then cleanly sectioned by action=create/delete/update, so an agent can scan to the relevant branch. The per-action 'Use this when the user wants to...' lines are mildly redundant with the preceding action line, costing a little 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?

Covers all three operations with preconditions, error codes, and return values, which is sufficient given there is no output schema. Nothing an agent needs to call create, update, or delete correctly appears to be missing.

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?

Schema coverage is 100%, so baseline is 3, but the description adds cross-parameter meaning the flat schema lacks: which fields apply per action, that meeting_id/title are required for create, and that status should be set explicitly rather than inferred from is_completed. Remaining params (due_date, assigned_to_*) are left to the schema.

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

Purpose2/5

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

Tautological: description restates name/title.

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?

Gives an explicit 'use this when' trigger for each action (track work from a meeting, remove a task, change status/details) and names the alternatives for adjacent domains. When-to-use is fully specified, with the action enum as the selector.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources