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

# Get playbooks

> List or fetch playbooks.

<Info>
  **Tool** `get_playbooks` · **Behavior** Read-only
</Info>

List or fetch playbooks. Pass `id` to fetch one playbook including its full `guide` text. Otherwise returns a page of playbooks you can access (those you created, org-visible, shared with you, and official ones); narrow with `q` and page with `cursor`/`limit`. Always returns a `playbooks` array (empty when nothing matches) and a `next_cursor` (null on the last page).

## Input parameters

<ParamField body="id" type="string (uuid)">
  Fetch one playbook by id, including its full `guide` text. Provide either `id` or a list query (`q`/`cursor`), not both.
</ParamField>

<ParamField body="q" type="string">
  Filter the accessible playbooks by a case-insensitive substring of title or description. Omit to list everything accessible.
</ParamField>

<ParamField body="cursor" type="string">
  Opaque pagination cursor from a previous response's `next_cursor`. Omit for the first page; repeat any filters (e.g. `q`) alongside it.
</ParamField>

<ParamField body="limit" type="integer">
  Max items to return (default 25, max 100). Defaults to `25`.
</ParamField>

## Response

<ResponseField name="playbooks" type="object[]">
  <Expandable title="properties">
    <ResponseField name="id" type="string (uuid)" />

    <ResponseField name="title" type="string" />

    <ResponseField name="description" type="string | null" />

    <ResponseField name="is_official" type="boolean" />

    <ResponseField name="status" type="'draft' | 'processing' | 'completed' | 'failed'" />

    <ResponseField name="created_at" type="string | null" />

    <ResponseField name="guide" type="string | null" />

    <ResponseField name="updated_at" type="string | null" />
  </Expandable>
</ResponseField>

<ResponseField name="next_cursor" type="string | null" />
