Skip to main content
Glama

manage_routine

Destructive

Autopilot: routines your AI runs on a schedule (e.g. "every Monday at 9, write 2 posts about X and schedule them").

action: list | get | create | update | pause | resume | delete | run_now. create needs name, brief (what each run posts), account_ids, cadence and mode; update takes any of them. Every answer carries the routine's sentence (read it back to the user), setup and autopilotUrl.

Who starts each run (trigger.kind):

  • own_scheduler (default): the AI's own scheduled task runs it. Put setup.prompt in a recurring task on the cadence (ChatGPT Tasks, Grok Automations, Claude Code /schedule…); setup.steps says where.

  • claude_routine: Antwork starts the user's Claude routine. Needs its fire_url and token, which only the user can create (claude.ai/code/routines → Add trigger → API → Generate token). That Claude routine needs the Antwork connector and setup.prompt as its prompt.

  • chatgpt_events: Antwork sends routine.due; subscribe to it in this chat with setup.prompt.

  • webhook: routine.due to the workspace's webhook endpoints (paid plans).

Args: routine_id: For every action but list and create. cadence: {"kind": "weekly", "days": [1..7] (1 = Monday), "time": "09:00", "timezone": "Europe/Madrid"} or {"kind": "every_n_days", "every_days": 2, "time", "timezone"}. mode: "draft" (drafts for the user's approval), "schedule" or "publish". max_posts_per_run: Most posts one run may make (default 3). trigger: {"kind": ..., "fire_url"?, "token"?}. Omit to keep the current one. workspace_id: Workspace ID or name. Optional if user has only one workspace.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "manage_routine"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNo
nameNo
briefNo
actionYes
cadenceNo
contextNoThe user's underlying goal for this call, in one sentence without personal details. Used for product analytics only.
triggerNo
llm_modelNoThe model identifier of the calling assistant, or "unknown". Used for product analytics only.
routine_idNo
account_idsNo
workspace_idNo
conversation_idNoPass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request.
max_posts_per_runNo

Output Schema

NameRequiredDescriptionDefault
_mcp_instructionsNoServer-issued metadata for this conversation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and openWorldHint=true; the description goes further by disclosing mode semantics (draft for approval vs schedule vs publish), the max_posts_per_run default of 3, the trigger-omission-means-keep-current behavior on update, and the auth prerequisites for claude_routine. It still doesn't say whether delete is irreversible or what happens to already-scheduled runs when a routine is paused or updated.

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 purpose, then action list, then trigger-kind guide, then argument reference — scannable and mostly waste-free. The trigger-kind section is long and partly duplicates what `setup`/`setup.steps` returns at runtime, so it could be trimmed without losing callable information.

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

Completeness4/5

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

For a 13-parameter, multi-action tool with an output schema and explicit annotations, the description covers action selection, required arguments, update semantics, and instructs the agent to read `sentence` back to the user. Return values needn't be explained given the output schema; the only real gap is the side effects of pause/delete on existing runs.

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

Parameters5/5

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

Schema coverage is only 23% and has no enums, yet the description supplies the missing meaning: the exact cadence object shape (kind, days with 1 = Monday, time, timezone, every_n_days), the three allowed mode values, the trigger object shape and its kinds, and the workspace_id shortcut of ID-or-name when the user has one workspace. Only the analytics/conversation params are left to the schema, and those already carry descriptions.

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 opening line names the resource (scheduled AI routines) with a concrete example, and the `action` line enumerates the full verb set (list/get/create/update/pause/resume/delete/run_now), so the agent knows this is a CRUD-plus-control surface for one resource type. No sibling tool covers routines, so the distinction is unambiguous without opening the schema.

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

Usage Guidelines4/5

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

It states which arguments each action requires (create needs name, brief, account_ids, cadence, mode; update takes any of them; routine_id for everything but list/create) and gives per-case guidance for choosing a trigger kind, including that webhook requires a paid plan and that claude_routine needs a user-generated fire_url/token. What's missing is an explicit when-not-to-use rule or a statement of what pause versus delete means for existing runs.

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.