manage_routine
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.promptin a recurring task on the cadence (ChatGPT Tasks, Grok Automations, Claude Code /schedule…);setup.stepssays where.claude_routine: Antwork starts the user's Claude routine. Needs its
fire_urlandtoken, which only the user can create (claude.ai/code/routines → Add trigger → API → Generate token). That Claude routine needs the Antwork connector andsetup.promptas its prompt.chatgpt_events: Antwork sends
routine.due; subscribe to it in this chat withsetup.prompt.webhook:
routine.dueto 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
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| name | No | ||
| brief | No | ||
| action | Yes | ||
| cadence | No | ||
| context | No | The user's underlying goal for this call, in one sentence without personal details. Used for product analytics only. | |
| trigger | No | ||
| llm_model | No | The model identifier of the calling assistant, or "unknown". Used for product analytics only. | |
| routine_id | No | ||
| account_ids | No | ||
| workspace_id | No | ||
| conversation_id | No | Pass 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_run | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _mcp_instructions | No | Server-issued metadata for this conversation. |