create_playbook_from_plans
Create a playbook by capturing existing content plans as reusable template items ("save what worked as a template").
Input Schema
{
"type": "object",
"required": [
"plan_ids"
],
"properties": {
"name": {
"type": "string",
"description": "Title for the new playbook being saved from these plans — usually the campaign or sequence they came from. Treat it as required: if it is omitted or blank the call fails with \"Missing param: name\". It also becomes the base of the auto-generated cycle name each time the playbook is later run."
},
"plan_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"description": "UUIDs of existing content plans to capture as template items."
},
"visibility": {
"enum": [
"private",
"team"
],
"type": "string",
"description": "Optional. Defaults to \"team\". \"private\" keeps the playbook creator-only."
},
"description": {
"type": "string",
"description": "Optional free-text note on what this captured sequence is for and when to reuse it, shown to teammates browsing playbooks. It describes the playbook only — the captured steps keep the titles, descriptions and prompts copied from the source plans. Omitted means it is saved empty."
}
}
}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 created playbook object, including its anchor_date (null unless later set) and a link_url that opens it in the Marcora web app."
}Instructions
Create a playbook by capturing existing content plans as reusable template items ("save what worked as a template"). Pass the plan UUIDs; their title / description / prompt / blueprint / category are copied into ordered playbook items.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
plan_ids |
uuid[] | Yes | Plan UUIDs to capture as ordered template items |
name |
string | No | Playbook name (derived if omitted) |
description |
string | No | Free-text description |
visibility |
string | No | team (default) or private |
Output: the created playbook object, including its anchor_date (null unless later set) and a link_url that opens the new playbook in the Marcora web app — share it with the user.
Example prompts:
- "Turn these plans into a playbook"
- "Save this campaign as a template"