Skip to content

API reference

Create or edit a playbook

playbook_save — Without playbook_id: create.

playbook_save · Changes an X-Buddy setting

Without playbook_id: create. With playbook_id: replace name, description and tasks (expected_revision required). Accounts that already received it change only when the playbook is applied again.

REST POST /api/public/v1/playbooks
MCP tool playbook_save
Permission needed tasks.manage — Owner, Manager, Operator
Scope group automation:write
Group Tasks and playbooks
Shown up front in profiles Automation

Input

Field Type Required Description
playbook_id string (uuid) No Playbook to change (omit to create).
name string (1–80 chars) Yes
description string (0–500 chars) No
tasks array of object (1–12 items) Yes
expected_revision integer (1–∞) No The revision you read (optimistic locking); a newer revision fails with revision_conflict.

Result

Returns the operation's result in the { data, meta } envelope.

Needs an idempotency key (Idempotency-Key, 8–128 characters). Retrying with the same key never repeats the action.

Versioned setting: send the expected_revision (or If-Match) you read, or the write is refused.

Example

Call over REST

curl -X POST "https://reach-link-craft.lovable.app/api/public/v1/playbooks" \
  -H "Authorization: Bearer $XBUDDY_API_KEY" \
  -H "Idempotency-Key: 6f1c2a90-example-key" \
  -H 'If-Match: "3"' \
  -H "Content-Type: application/json" \
  -d '{"name":"Example","tasks":[{"type":"timeline_browse","name":"Example","settings":{},"schedule":{"days":[1],"runsPerDay":1}}]}'

Call over MCP

{
  "method": "tools/call",
  "params": {
    "name": "playbook_save",
    "arguments": {
      "name": "Example",
      "tasks": [
        {
          "type": "timeline_browse",
          "name": "Example",
          "settings": {},
          "schedule": {
            "days": [
              1
            ],
            "runsPerDay": 1
          }
        }
      ],
      "idempotency_key": "6f1c2a90-example-key",
      "expected_revision": 3
    }
  }
}

Errors you may get

Back to all operations