---
title: "Update Playbook"
method: PUT
path: "/api/v1/playbooks/{playbook_id}"
tags: ["playbooks"]
---

# Update Playbook

`PUT /api/v1/playbooks/{playbook_id}`

## Path parameters

- `playbook_id` string, uuid, required

## Request body

- PlaybookUpdate — Full update: rename, retrigger, (de)activate, and replace the actions. ``actions`` is a full replacement when provided (None leaves them untouched).
  - `name` string, required
  - `description` string, nullable
  - `trigger` 'on_enter' | 'on_exit', required — Which group-membership transition arms a Playbook.
  - `is_active` boolean, required
  - `actions` PlaybookActionCreate[], nullable
    - `type` 'concierge_brief' | 'create_task' | 'run_campaign', required — What a Playbook action does when it runs. ``concierge_brief`` mines a guest's prior conversations into GM tasks (the flagship). ``create_task`` raises a generic staff task/flag. ``run_campaign`` wires the group to an outbound trigger campaign.
    - `config` object

## Response `200`

Successful Response

- PlaybookDetailRead
  - `id` string, uuid, required
  - `tenant_id` string, uuid, required
  - `name` string, required
  - `description` string, nullable
  - `list_id` string, uuid, required
  - `trigger` 'on_enter' | 'on_exit', required — Which group-membership transition arms a Playbook.
  - `is_active` boolean, required
  - `created_by_user_id` string, uuid, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `action_count` integer
  - `actions` PlaybookActionRead[]
    - `id` string, uuid, required
    - `type` 'concierge_brief' | 'create_task' | 'run_campaign', required — What a Playbook action does when it runs. ``concierge_brief`` mines a guest's prior conversations into GM tasks (the flagship). ``create_task`` raises a generic staff task/flag. ``run_campaign`` wires the group to an outbound trigger campaign.
    - `config` object
    - `position` integer, required

## Other responses

- `404` — Playbook not found
- `422` — Validation Error

## Changes

- **2026-09-03** `d65b8fefae34` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Change history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/playbooks/:playbook_id/put.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanana/cleon-api/revisions/a9141b6e4e7e/schema)
