update_playbook
Edit a content playbook. Pass only the fields to change; if items is provided it fully replaces the playbook's items and order.
Input Schema
{
"type": "object",
"required": [
"playbook_id"
],
"properties": {
"name": {
"type": "string",
"description": "Omit to keep the current name (it cannot be cleared — playbooks always have a name)."
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Item name (title of the plan this item becomes). Alias: `title`."
},
"title": {
"type": "string",
"description": "Alias for `name`."
},
"prompt": {
"type": "string",
"description": "Generation prompt carried onto the plan created from this item."
},
"sort_order": {
"type": "integer",
"description": "Explicit order; defaults to array position."
},
"category_id": {
"type": "integer",
"description": "Content category for the plan (optional)."
},
"description": {
"type": "string"
},
"offset_days": {
"type": [
"integer",
"null"
],
"description": "Days relative to anchor_date at instantiation; sets the plan due_date. Negative = before the anchor. null or omitted = no due date (\"No date\"). Items are a full-replacement set on update, so pass null (or omit) here to CLEAR a previously scheduled item."
},
"blueprint_id": {
"type": "integer",
"description": "Blueprint to attach to the plan (optional)."
}
}
},
"description": "Full replacement set of ordered items. Omit to keep existing items."
},
"visibility": {
"enum": [
"private",
"team"
],
"type": "string",
"description": "Change the playbook's visibility. Creator-only — non-creators get InputError."
},
"anchor_date": {
"type": [
"string",
"null"
],
"description": "Optional YYYY-MM-DD anchor date the playbook is built around. Omit to KEEP the current value; pass null to CLEAR it. Each item's offset_days counts from it, and it's the default anchor when instantiating."
},
"description": {
"type": [
"string",
"null"
],
"description": "Omit to KEEP the current description; pass null to CLEAR it."
},
"playbook_id": {
"type": "integer",
"description": "Numeric id of the playbook to edit — the `id` from list_playbooks or get_playbook, or the trailing number in its link_url, not a UUID. It only selects which playbook to change and is never itself modified. Unknown ids, playbooks in another team, and teammates' private playbooks all return NotFound."
}
}
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"title": {
"type": "string",
"description": "Mirror of name."
},
"prompt": {
"type": [
"string",
"null"
]
},
"team_id": {
"type": "integer"
},
"created_at": {
"type": "integer",
"description": "Unix ms timestamp."
},
"sort_order": {
"type": "integer"
},
"updated_at": {
"type": "integer",
"description": "Unix ms timestamp."
},
"category_id": {
"type": [
"integer",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"offset_days": {
"type": [
"integer",
"null"
]
},
"playbook_id": {
"type": "integer"
},
"blueprint_id": {
"type": [
"integer",
"null"
]
}
}
}
},
"team_id": {
"type": "integer"
},
"link_url": {
"type": "string",
"description": "Opens the playbook in the Marcora web app."
},
"created_at": {
"type": "integer",
"description": "Unix ms timestamp."
},
"created_by": {
"type": "integer"
},
"updated_at": {
"type": "integer",
"description": "Unix ms timestamp."
},
"visibility": {
"enum": [
"private",
"team"
],
"type": "string",
"description": "private = creator-only; team = visible to all active teammates."
},
"anchor_date": {
"type": [
"string",
"null"
],
"description": "Persisted YYYY-MM-DD reference date, or null."
},
"description": {
"type": [
"string",
"null"
]
}
},
"description": "The updated playbook object, including its anchor_date (YYYY-MM-DD or null) and link_url."
}Instructions
Edit a content playbook. Any playbook is fully editable. Pass only the fields to change: name and/or description patch in place. If items is provided it fully replaces the playbook's items and their order; omit items to leave them untouched. Changing visibility is creator-only.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
playbook_id |
integer | Yes | ID of the playbook to update |
name |
string | No | New name |
description |
string | No | New description (pass null to clear) |
visibility |
string | No | team or private (creator-only) |
anchor_date |
string | No | Set the playbook's YYYY-MM-DD reference date. Omit to keep the current value; pass null to clear it |
items |
array | No | If provided, REPLACES the full ordered item list |
Output: the updated playbook object, including its anchor_date (or null) and link_url.
Example prompts:
- "Add a follow-up email to my launch playbook"
- "Reorder these steps"