> ## Documentation Index
> Fetch the complete documentation index at: https://docs.summation.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Playbooks

> Reusable analyses that run on demand or on a schedule, producing reports, decks, HTML pages, Excel workbooks, and PDFs.

A **playbook** (`.spb`) is a reusable blueprint Addison follows to produce one or more [artifacts](/features/artifacts). It bundles the data the analysis uses, the output templates it fills in, and the instructions to follow — so a monthly review or weekly recap comes out in the same shape every time, with fresh data. Run one on demand or put it on a schedule. Playbooks live inside a [project](/features/projects), and so does everything they produce.

<Frame caption="The Playbooks page — every playbook you can reach, across projects">
  <img src="https://mintcdn.com/summation-676748f5/bD5B6OO2CVOWNhOR/images/features/artifacts/playbooks/playbooks-home.png?fit=max&auto=format&n=bD5B6OO2CVOWNhOR&q=85&s=78c65da92afa1efb4384400be27043c1" alt="The Playbooks page at /playbooks titled 'Playbooks — Repeatable analyses that run on demand or a schedule', with Playbooks and Runs tabs on the left and search and Filters controls on the right. Below is a three-column grid of playbook cards, each showing an icon, a title such as 'Olympics Medals Leaderboard', 'Olympics Player', 'Sales WBR', or 'Executive WBR', a short description, and the project it belongs to (for example 'My Project')." width="2162" height="1622" data-path="images/features/artifacts/playbooks/playbooks-home.png" />
</Frame>

**Where each action lives in the UI** (for telling users where to click):

* **Playbooks home**: the **Playbooks** entry in the left nav sidebar (`/playbooks`) — two tabs, **Playbooks** (a card grid across all projects) and **Runs** (`/playbooks?tab=runs`, a table of past runs), with **Search** and a **Filters** popover that filters by project. There is **no create button** — playbooks are authored by asking Addison inside a project.
* **Playbook page** (`/playbooks/playbook/{projectId}/{playbookId}`, also reachable at `/projects/{projectId}/playbooks/{playbookId}`): the body is the **Execution Plan** — Runtime Parameters, Data Context, Templates, Expected Outputs, Instructions, and Additional Context. The top-right toolbar has **Schedule**, **Run Playbook**, a **History** panel toggle, and a **⋯** menu (Share, Rename, Copy, Download as SPB). Below "full" width, Schedule and Run Playbook fold into the **⋯** menu.
* **Run dialog**: opens from **Run Playbook** (or a card's run action). Shows the playbook's title and description, its most **Recent report**, a typical **Duration**, any **runtime parameters** to fill in, a model/effort selector, and **Run playbook** / **Schedule** buttons.
* **Schedule dialog**: **Schedule Playbook** — pick the playbook, then set **Name**, **Frequency** (with day-of-week or day-of-month pickers), **Email notification** recipients, and optionally **Slack notification** channels or users, plus which produced artifacts to attach. Saved schedules live at `/schedules`.
* **Run history**: the **Runs** tab on `/playbooks`, or the **History** panel inside a playbook (clock icon → "Playbook Runs" timeline).
* Playbooks are `.spb` **folder bundles** (`manifest.yaml`, `instructions.md`, `context.md`, and `templates/`). They appear in a project's [file browser](/features/projects/files) like any other file. Internally — in code, file kinds, and some API shapes — playbooks are still called **runbooks**.
* Playbook run statuses: `pending` → `running` → `succeeded`, plus `failed` and `cancelled`.

<Warning>
  Playbook surfaces are gated by feature flags — `ui_project_runbooks` (the Playbooks nav entry, `/playbooks`, and the playbook page; with it off, those routes render nothing), `ui_schedules_home_v1` (the `/schedules` home and the per-playbook schedule indicator), and `ui_enable_file_sharing` (**Share**). If a workspace has one off, that part of the UI won't appear.
</Warning>

## Create a playbook

<Tabs sync={false}>
  <Tab title="In the app">
    Playbooks are authored by **asking Addison inside a [project](/features/projects)** — there's no create button on the Playbooks page. Describe the recurring analysis you want and Addison builds the `.spb` bundle. Three common starting points:

    * **From an artifact you already like** — point Addison at a [report](/features/artifacts/reports), [deck](/features/artifacts/decks), or HTML page and ask it to turn that into a repeatable playbook. It generalizes the structure and carries over the feedback and domain knowledge from that artifact's chat history.
    * **From a workflow** — convert an existing workflow file into a playbook.
    * **From scratch** — describe the steps, data, and output you want in conversation.

    A playbook can produce any combination of **reports** (`.sdoc`), **decks** (`.sdeck`), **HTML pages** (`.html`), **Excel workbooks** (`.xlsx`), and **PDFs** — declare several outputs and one run produces them all. Dashboards (`.sdash`) are **not** a supported playbook output — a manifest that declares `kind: dashboard` is dropped, and a scheduled run raises an unsupported-output-kind error.
  </Tab>

  <Tab title="Via the API">
    <Card title="Coming soon" icon="clock" horizontal>
      Create and edit a playbook.
    </Card>
  </Tab>
</Tabs>

## Find and open playbooks

<Tabs sync={false}>
  <Tab title="In the app">
    The **Playbooks** page (`/playbooks`, shown above) lists every playbook you can reach as a card grid — title, description, and the project it belongs to — rather than a file table. Use **Search** to match on title, description, or project, and the **Filters** popover to narrow to specific projects. Click a card to open the playbook.

    Playbooks are `.spb` folders, so they also appear in their project's [file browser](/features/projects/files).
  </Tab>

  <Tab title="Via the API">
    <CardGroup cols={2}>
      <Card title="GET /v1/projects/{projectId}/playbooks" icon="code" href="/api-reference/playbooks/list-playbooks" horizontal>
        List a project's playbooks.
      </Card>

      <Card title="GET /v1/projects/{projectId}/playbooks/{playbookId}" icon="code" href="/api-reference/playbooks/show-playbook" horizontal>
        Show a single playbook.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>

## What's in a playbook

<Tabs sync={false}>
  <Tab title="In the app">
    Opening a playbook shows its **Execution Plan** — everything a run will use, in one page:

    | Section                | What it holds                                                                            |
    | ---------------------- | ---------------------------------------------------------------------------------------- |
    | **Runtime Parameters** | The values you fill in at run time — date ranges, a market, a team                       |
    | **Data Context**       | The datasets and definitions the playbook reads, each linking out to the catalog         |
    | **Templates**          | The output skeletons a run fills in — a `.sdoc` report, a `.sdeck` deck, an `.html` page |
    | **Expected Outputs**   | The artifacts this playbook produces each run                                            |
    | **Instructions**       | The steps applied to every agent in the playbook. **Edit** opens them for editing        |
    | **Additional Context** | Lessons learned, pitfalls, and corrections from past runs                                |

    Because the templates carry the structure, a run fills in fresh data rather than reinventing the layout — that's what makes output consistent across runs.

    <Frame caption="A playbook's Execution Plan">
      <img src="https://mintcdn.com/summation-676748f5/bD5B6OO2CVOWNhOR/images/features/artifacts/playbooks/playbook-execution-plan.png?fit=max&auto=format&n=bD5B6OO2CVOWNhOR&q=85&s=cc66e83a4821b6e4df30d18ef6e6fe33" alt="A playbook page breadcrumbed 'My Project / Olympics Player.spb', headed 'Olympics Player' with the description 'Introduce the top athletes for a given country in Olympic Athletics for a specified time period.' Below, a Runtime Parameters section ('Configure the values used when running this playbook') lists the playbook's inputs: a required Country text field, a required Time Scope choice with Single Year, Year Range, and All Years options, a Year (or Start Year) number field, an End Year number field, and a Top N Athletes number field, each with a short helper description." width="2014" height="1664" data-path="images/features/artifacts/playbooks/playbook-execution-plan.png" />
    </Frame>
  </Tab>

  <Tab title="Via the API">
    <Card title="GET /v1/projects/{projectId}/playbooks/{playbookId}" icon="code" href="/api-reference/playbooks/show-playbook" horizontal>
      Show a playbook, including its manifest — title, description, parameters, and data context.
    </Card>
  </Tab>
</Tabs>

## Run a playbook

<Tabs sync={false}>
  <Tab title="In the app">
    Click **Run Playbook** in the toolbar (or the run action on a playbook card). The dialog shows what you're about to run — the description, the most **Recent report** it produced, and a typical **Duration** — plus any **runtime parameters** to fill in and a model/effort selector. **Run playbook** starts it and creates the outputs in the project; **Schedule** puts it on a recurring cadence instead.

    A run streams in a chat with Addison, so you can watch it work and step in. When it finishes, the outputs are ordinary artifacts in the project — verify, edit, share, and export them like anything else.

    <Frame caption="Run a playbook">
      <img src="https://mintcdn.com/summation-676748f5/bD5B6OO2CVOWNhOR/images/features/artifacts/playbooks/playbook-run-dialog.png?fit=max&auto=format&n=bD5B6OO2CVOWNhOR&q=85&s=db4aff74778ff0970dec28056d7a173b" alt="A run dialog for the 'Olympics Medals Leaderboard' playbook, described as 'Rank countries by their medal haul at the Olympic Games for a given year, with sport-level highlights.' It shows Recent report: none, Duration: none, a Runtime Parameters box with a year field ('2016') and a numeric field ('20'), a Default / High effort selector in the top-right, and Run playbook and Schedule buttons, with the note 'This will run the playbook and create its outputs in the project.'" width="1020" height="1054" data-path="images/features/artifacts/playbooks/playbook-run-dialog.png" />
    </Frame>
  </Tab>

  <Tab title="Via the API">
    <Card title="POST /v1/schedules/{scheduleId}/runs" icon="code" href="/api-reference/schedules/run-schedule-now" horizontal>
      Run a schedule's playbook immediately, without waiting for its next occurrence.
    </Card>

    <Card title="Coming soon" icon="clock" horizontal>
      Run a playbook ad hoc, without a schedule.
    </Card>
  </Tab>
</Tabs>

## Schedule a playbook

<Tabs sync={false}>
  <Tab title="In the app">
    Click **Schedule** in the toolbar (or **Schedule** in the run dialog) to open **Schedule Playbook**. Give the schedule a **Name**, pick a **Frequency** — with day-of-week or day-of-month pickers for weekly and monthly cadences — and choose how the results get delivered:

    * **Email notification** — add recipients, and choose which of the run's artifacts to attach (a report as PDF, for example) or link.
    * **Slack notification** — post to channels or people in a connected Slack workspace.

    Saved schedules live at `/schedules`, where you can pause, resume, edit, or delete them — see [Schedules](/features/schedules).

    <Frame caption="Schedule a playbook">
      <img src="https://mintcdn.com/summation-676748f5/bD5B6OO2CVOWNhOR/images/features/artifacts/playbooks/playbook-schedule.png?fit=max&auto=format&n=bD5B6OO2CVOWNhOR&q=85&s=f1071240c06f692f3fed718527544c3d" alt="The 'Schedule Playbook' dialog for the 'Olympics Player' playbook, showing its description 'Introduce the top athletes for a given country in Olympic Athletics for a specified time period.', Recent report: none, Duration: none, and a Runtime Parameters box with a country field ('Korea'), a Time Scope dropdown set to 'All Years', and empty Year (or Start Year) and End Year fields, with Previous and Schedule buttons at the bottom." width="926" height="1312" data-path="images/features/artifacts/playbooks/playbook-schedule.png" />
    </Frame>
  </Tab>

  <Tab title="Via the API">
    <CardGroup cols={2}>
      <Card title="GET /v1/schedules" icon="code" href="/api-reference/schedules/list-schedules" horizontal>
        List schedules.
      </Card>

      <Card title="POST /v1/schedules" icon="code" href="/api-reference/schedules/create-schedule" horizontal>
        Create a schedule.
      </Card>

      <Card title="GET /v1/schedules/{scheduleId}" icon="code" href="/api-reference/schedules/show-schedule" horizontal>
        Show a schedule.
      </Card>

      <Card title="PUT /v1/schedules/{scheduleId}" icon="code" href="/api-reference/schedules/update-schedule" horizontal>
        Update a schedule.
      </Card>

      <Card title="POST /v1/schedules/{scheduleId}/pause" icon="code" href="/api-reference/schedules/pause-schedule" horizontal>
        Pause a schedule.
      </Card>

      <Card title="POST /v1/schedules/{scheduleId}/resume" icon="code" href="/api-reference/schedules/resume-schedule" horizontal>
        Resume a schedule.
      </Card>
    </CardGroup>

    <Card title="DELETE /v1/schedules/{scheduleId}" icon="code" href="/api-reference/schedules/delete-schedule" horizontal>
      Delete a schedule.
    </Card>
  </Tab>
</Tabs>

## Run history

<Tabs sync={false}>
  <Tab title="In the app">
    The **Runs** tab on `/playbooks` lists past runs across projects — the playbook that ran, its project, who ran it, when, and how long it took — with **View Report** on each row to open what it produced. Search and the project filter apply here too.

    Inside a playbook, the **History** panel (clock icon in the toolbar) shows that playbook's own runs as a timeline.

    A run is **pending**, then **running**, then **succeeded** — or **failed** or **cancelled**. In-progress runs keep updating in place.

    <Columns cols={2}>
      <Frame caption="The Runs tab">
        <img src="https://mintcdn.com/summation-676748f5/bD5B6OO2CVOWNhOR/images/features/artifacts/playbooks/playbook-runs.png?fit=max&auto=format&n=bD5B6OO2CVOWNhOR&q=85&s=31e707ea72922f86be2958a6ca593a42" alt="The Runs tab of the Playbooks page, a table with columns Name, Project, Created by, Created on, and Duration. Rows show playbook runs such as 'Olympics Medals Leaderboard', 'Olympics Player', and 'Executive WBR' across projects like 'My Project', with statuses such as 'Running playbook...', a report name, or 'Failed', created from just now to a day ago, durations from under a minute to about 12 minutes, and a View Run or View Report button on the right." width="2098" height="1736" data-path="images/features/artifacts/playbooks/playbook-runs.png" />
      </Frame>

      <Frame caption="A playbook's own History panel">
        <img src="https://mintcdn.com/summation-676748f5/bD5B6OO2CVOWNhOR/images/features/artifacts/playbooks/playbook-history-panel.png?fit=max&auto=format&n=bD5B6OO2CVOWNhOR&q=85&s=a15f56fd7f0ced247ae6c3543544b8af" alt="The History panel opened from a playbook's toolbar via a clock icon with a 'History' tooltip. It lists 'Playbook Runs' as a vertical timeline of entries titled 'Olympics Player Report', the first still 'Running playbook...' with a spinner and the rest stamped with a date and time such as 'Aug 13, 2026 - 08:53 PM'." width="512" height="784" data-path="images/features/artifacts/playbooks/playbook-history-panel.png" />
      </Frame>
    </Columns>
  </Tab>

  <Tab title="Via the API">
    <Card title="GET /v1/schedules/{scheduleId}/runs" icon="code" href="/api-reference/schedules/list-schedule-runs" horizontal>
      List a schedule's runs.
    </Card>

    <Card title="Coming soon" icon="clock" horizontal>
      List a playbook's runs, including ad-hoc ones.
    </Card>
  </Tab>
</Tabs>

## Rename, copy, and download

<Tabs sync={false}>
  <Tab title="In the app">
    The toolbar **⋯** menu holds the rest of a playbook's actions — **Rename** edits the title in place, **Copy** duplicates the playbook, and **Download as SPB** streams the raw `.spb` source. A playbook is a file in its project, so you can also rename, move, or delete it from the [file browser](/features/projects/files#manage-a-file).

    <Frame caption="A playbook's ⋯ menu">
      <img src="https://mintcdn.com/summation-676748f5/bD5B6OO2CVOWNhOR/images/features/artifacts/playbooks/playbook-actions-menu.png?fit=max&auto=format&n=bD5B6OO2CVOWNhOR&q=85&s=5bd6c127fb0e9b0f2a18df72b5de1c74" alt="A playbook toolbar showing Schedule and Run Playbook buttons with the ⋯ menu open beside them, listing Share (highlighted), Rename, Copy, and Download as SPB." width="490" height="368" data-path="images/features/artifacts/playbooks/playbook-actions-menu.png" />
    </Frame>
  </Tab>

  <Tab title="Via the API">
    <Card title="Coming soon" icon="clock" horizontal>
      Rename, copy, and delete a playbook.
    </Card>
  </Tab>
</Tabs>

## Share and publish

<Tabs sync={false}>
  <Tab title="In the app">
    Open the **⋯** menu → **Share**, then **Publish** to create a **view-only** link for your organization — viewers can sign in or create an account to open it. Unpublish at any time. Everyone on the [project](/features/projects#collaborators) can already see and run its playbooks.

    <Frame caption="Publish a view-only link">
      <img src="https://mintcdn.com/summation-676748f5/bD5B6OO2CVOWNhOR/images/features/artifacts/playbooks/playbook-share.png?fit=max&auto=format&n=bD5B6OO2CVOWNhOR&q=85&s=342cce1752110bf89c26aea4aab492dc" alt="The playbook Share dialog with a green 'Published' badge. It explains it 'Creates a view-only presentation to share with your organization. Viewers can sign in or create an account.', shows a URL field containing a sandbox workspace /shared link with a projectId query parameter (truncated) and a copy button, and an Unpublish button." width="898" height="422" data-path="images/features/artifacts/playbooks/playbook-share.png" />
    </Frame>
  </Tab>

  <Tab title="Via the API">
    <Card title="Coming soon" icon="clock" horizontal>
      Publish a playbook and manage its share link.
    </Card>
  </Tab>
</Tabs>
