Skip to main content
Glama

ZeroWidth

Create a routine

routines_create

Create a zv1 routine: a natural-language instruction run on a schedule ("scan for new competitors and propose a Compass page for each"). The instruction is executed by zv1 with full workspace context, and any writes it attempts during a run are proposed for human approval. Use when the user asks for recurring work ("every day…", "each Monday…"). Write the instruction in second person, as a directive to a future zv1. To run a SPECIFIC built Workbench flow on a schedule, use workbench_flows_schedule instead — a routine runs a free-form instruction, not a flow, so scheduling a flow as a routine makes zv1 re-derive and run it conversationally rather than executing the flow deterministically.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesShort display name.
roomIdNoWith delivery "room": the room to post in (rooms_list gives ids).
actsForNoVisibility: "workspace" (everyone sees it) or "personal" (just the owner). Default workspace.
deliveryNoWhere each run's briefing lands (default notification). "room" posts it in a team room for everyone there; pass roomId. The user must be in the room if it's private, and a "personal" routine can post only in a private room. Use it when the user names a room ("…and post it in #claims") or asks from inside one for the room.
intervalYes
workspaceNoWorkspace slug. Personal tokens with no default workspace MUST pass this; tokens with a default can override per call. Ignored for workspace API keys.
approvalIdNoApproval id from a prior needs_confirmation envelope.
instructionYesWhat to do on each run, as a directive.
scheduleTimeNoWall-clock "HH:MM" anchor (default 09:00).
scheduleTimezoneNoIANA timezone for the anchor (default UTC).
scheduleDayOfWeekNoWeekly only: 0=Sunday … 6=Saturday (default Monday).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare a non-read-only, non-destructive, closed-world write, so the safety profile is partly covered. The description adds genuinely non-schema behavior: runs execute with full workspace context and any writes attempted during a run are proposed for human approval, which is the key reason this write is non-destructive. It stops short of describing what creation returns or scheduling limits, so not a 5.

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 core definition, then the trigger condition, then the authoring rule, then the sibling disambiguation — a sensible priority order. The workbench_flows_schedule clause is long, but it is doing real routing work rather than padding, so the length is defensible.

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?

With 11 parameters, no output schema, and annotation-only safety disclosure, the description covers the concept, the write-approval behavior, the authoring convention, and the main sibling alternative. It leaves delivery/room/visibility and schedule anchor semantics entirely to the schema (where they are documented), and never says what a successful creation yields, but nothing an agent needs to call it correctly is 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 91%, so the baseline is 3 and most parameter meaning is already documented. The description adds real formatting semantics the schema only gestures at: the instruction must be written in second person as a directive to a future zv1, which materially changes how an agent authors the required 'instruction' field.

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?

States a specific verb and resource (create a routine) and defines the resource by its mechanics: a natural-language instruction run on a schedule. The inline example ('scan for new competitors and propose a Compass page for each') makes the concept unambiguous and distinguishes it from sibling creation tools like workbench_tasks_create or ledger_feeds_create.

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 trigger ('Use when the user asks for recurring work — "every day…", "each Monday…"') and names the alternative for a near-miss case: workbench_flows_schedule for a specific built flow, with the reason a routine is wrong there. This is exactly the when/when-not/alternative structure the dimension asks for.

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