{
  "schema_version": 2,
  "id": "operate/iris/agent-playbook/manage-playbook",
  "title": "View and manage a playbook",
  "url": "https://redis.io/docs/latest/operate/iris/agent-playbook/manage-playbook/",
  "summary": "Manage a playbook's FAQs, skills, versions, proposals, and settings in Redis Cloud, and test what agents retrieve.",
  "tags": [
    "docs",
    "operate",
    "iris"
  ],
  "last_updated": "2026-11-03T08:33:55-08:00",
  "page_type": "content",
  "content_hash": "58eb7ba848fd4b4665759bd3ffdeb5ea1a79ddc6a7667d62a46fc44d089ae2b9",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "After you [create a playbook](https://redis.io/docs/latest/operate/iris/agent-playbook/create-playbook), select **Agent Playbooks** under **Iris** in the Redis Cloud console menu to see the list of your playbooks.\n\nThe list shows each playbook's **Status**, **Name**, **Playbook ID**, when its configuration was last updated, and its database. Select a playbook to open its **Configuration** tab.\n\n\n\nA playbook's page has the following tabs:\n\n- [**Configuration**](#configuration-tab): the playbook's settings, credentials, extraction, and retrieval policy.\n- [**Registry**](#registry-tab): the playbook's frequently asked questions (FAQs) and skills, and their versions.\n- [**Proposals**](#proposals-tab): suggested FAQs and skills waiting for review.\n- [**Playground**](#playground-tab): a test of what an agent retrieves for a query.\n\nIf your role can't read the playbook's content, you see only the **Configuration** tab.\n\nTo connect an agent, select **Connect** on the playbook's page. See [Give an agent access](https://redis.io/docs/latest/operate/iris/agent-playbook/create-playbook#give-an-agent-access)."
    },
    {
      "id": "registry-tab",
      "title": "Registry tab",
      "role": "content",
      "text": "The **Registry** tab lists the playbook's entries, with **FAQs** and **Skills** on separate tabs. For each entry, it shows the question or skill name, which version is published, the latest version, and when it was updated. Filter the list by **Publication** to find entries that are published, not published, or have a newer version waiting."
    },
    {
      "id": "add-a-faq",
      "title": "Add a FAQ",
      "role": "content",
      "text": "1. On the **FAQs** tab, select **New FAQ**.\n1. In the **New FAQ** dialog, enter the **Question** and the **Answer** your agents should give.\n1. Optionally, open **Optional settings** and set the following:\n\n    | Setting | Description |\n    |:--------|:------------|\n    | **Alias (optional, immutable)** | A stable, human-readable identifier for the entry, using lowercase letters, numbers, and single hyphens, up to 64 characters. You can't change it after you create the entry. |\n    | **Retrieval intents** | Up to five task paraphrases, one per line, returned with the entry to help an agent interpret it. |\n    | **Filter attributes** | A JavaScript Object Notation (JSON) object of up to 32 attributes, such as locale or audience, that retrieval filters can match. |\n    | **Metadata** | JSON for any other context your agent or application needs. Retrieval filters don't search it. |\n\n1. Select **Create FAQ**.\n\nThe console saves the FAQ as an unpublished version 1. Agents don't receive it until you [publish it](#publish-a-version)."
    },
    {
      "id": "upload-a-skill",
      "title": "Upload a skill",
      "role": "content",
      "text": "A skill packages instructions and supporting files for a procedure, in the [Agent Skills](https://agentskills.io/home) format.\n\n1. On the **Skills** tab, select **Upload Skill**.\n1. In the **Upload Skill** dialog, drop or browse to an **Agent Skills ZIP** file, up to 5 MiB. The ZIP must contain one folder, named after the skill, with a `SKILL.md` file that begins with YAML `name` and `description` fields, plus any resources. Exclude `__MACOSX` files.\n1. Optionally, set the entry's **Optional settings**, as for a FAQ.\n1. Select **Upload Skill**.\n\nSee [Manage skills](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/manage-skills) for how to package a skill."
    },
    {
      "id": "publish-a-version",
      "title": "Publish a version",
      "role": "content",
      "text": "Every change to an entry creates a new version. Agents receive only the version you publish, so you can prepare and review a new version while agents keep using the current one.\n\nSelect an entry to open its page. The published version card shows which version agents receive, and whether a newer version isn't published yet. The **Versions** table lists every version and its state.\n\n- To publish a version, select it and select **Publish version**, or select **Publish** in the **Versions** table. The **Versions** table also has a **Withdraw** button for the published version.\n- To roll back, publish an earlier version.\n- To stop serving the entry, select **Withdraw version**. Its versions stay available, and you can publish one again later.\n- To edit the entry, select **New version**. Saving creates an unpublished version.\n- To see what changed between two versions, select **Compare versions**.\n\nYou can also publish an entry's newest version from the **Registry** list: select **Publish latest** from the entry's actions menu. The option shows the newest version number, such as **Publish latest v3**."
    },
    {
      "id": "delete-an-entry",
      "title": "Delete an entry",
      "role": "content",
      "text": "Deleting an entry permanently removes all its versions and resources.\n\n1. In the **Registry** list, select **Delete entry** from the entry's actions menu. To delete several entries, select them and select **Delete selected**.\n1. Select the confirmation checkbox, and then select **Delete**.\n\nYou can also delete an entry from its page, in the **Danger zone**."
    },
    {
      "id": "proposals-tab",
      "title": "Proposals tab",
      "role": "content",
      "text": "The **Proposals** tab lists FAQ and skill proposals from agents with `propose` access. [Automatic FAQ extraction](#automatic-faq-extraction) adds FAQ proposals only.\n\nThe **Inbox** lists open proposals, with how much evidence supports each one and when to review it by. Select a proposal to review its candidate and **Supporting evidence**.\n\nFor a FAQ, review the question and answer. For a skill, review its name, description, and **Instructions**. Use **Download** under **Resources** to inspect its supporting files. The console verifies that downloaded files match the reviewed proposal.\n\nAfter review:\n\n- Select **Accept as draft FAQ** or **Accept as draft Skill** to create an unpublished version from the candidate. Review it, then [publish it](#publish-a-version) when it's ready.\n- For a FAQ, select **Edit candidate** to change the question, answer, alias, intents, or attributes before you accept it.\n- Select **Move to trash** to dismiss it.\n\nIf the proposal changes during review, select **Reload proposal** and review the updated candidate and files before accepting it.\n\nMore evidence means more observations, not greater accuracy. Check the candidate against its sources before you accept and publish it. For review through the API, see [Review proposals](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/proposals).\n\nThe **Trash** lists dismissed proposals until they're purged. Select **Restore to inbox** to review one again, or **Purge proposal** to delete it permanently."
    },
    {
      "id": "playground-tab",
      "title": "Playground tab",
      "role": "content",
      "text": "The **Playground** tab shows what an agent would retrieve for a query, using only published versions.\n\n1. Enter a **Query**, such as a question your agent needs to answer.\n1. Optionally, open **Options** to choose a **Search mode** (combined discovery, FAQ search, or skill search), a **Result limit**, pinned entries, or an **Attribute filter**. These options apply only to this test. They don't change the playbook's policy.\n1. Select **Run search**.\n\n**What your agent sees** lists the matching FAQs and skill previews, with each one's version and similarity score, and the full response as JSON. To change how discovery selects entries for every request, edit the [discovery policy](#discovery-policy)."
    },
    {
      "id": "configuration-tab",
      "title": "Configuration tab",
      "role": "configuration",
      "text": "The **Configuration** tab has the following sections. To change a section, select its **Edit** button, make your changes, and select **Save changes**."
    },
    {
      "id": "general-settings",
      "title": "General settings",
      "role": "content",
      "text": "Shows the **Playbook name**, which you can change, and the **Playbook ID**, **Embedding model**, and **Redis Cloud database**, which you can't. It also lists the playbook's **Agent endpoint** for each region."
    },
    {
      "id": "embedding-provider-credential",
      "title": "Embedding provider credential",
      "role": "content",
      "text": "Appears only for a playbook that uses a **Bring Your Own** embedding model. It shows whether a provider API key is configured, and lets you replace it."
    },
    {
      "id": "automatic-faq-extraction",
      "title": "Automatic FAQ extraction",
      "role": "content",
      "text": "Extraction turns conversations in Agent Memory into FAQ proposals for review. The playbook must be **Ready**, and you need access to manage the source service. Each playbook reads one whole Agent Memory service in the same account; you can't select individual namespaces.\n\n1. Enter the **Source RAM store ID**, the ID of the Agent Memory service whose conversations to read, or choose one from your account. You can't change it after you create the extraction job.\n1. Set the **Session inactivity window**, how long after a session's last event it becomes eligible for extraction, from 1 to 1440 minutes. The default is 30 minutes.\n1. Select **Create extraction job**.\n1. Turn extraction on when you're ready.\n\nExtraction suggests FAQs only. It never publishes them: accepted proposals become unpublished FAQs that you review and publish. To stop extraction and remove its settings, use **Remove extraction job** in the [Danger zone](#danger-zone).\n\nTurning extraction off pauses new work and keeps the source connection and settings. Work already in progress can finish. A **Ready** extraction configuration does not confirm that a worker has processed a conversation.\n\nKeep source conversations available until extraction and review finish. A conversation becomes eligible after the inactivity window; that window is not a completion deadline. Active conversations, conversations without reusable answers, and answers already covered by published FAQs might produce no proposal. Extraction can also add evidence to an existing open proposal. Later events in a completed conversation do not automatically trigger extraction again."
    },
    {
      "id": "discovery-policy",
      "title": "Discovery policy",
      "role": "content",
      "text": "Controls how discovery selects entries for every request.\n\n| Setting | Description |\n|:--------|:------------|\n| **FAQ minimum score** | The minimum similarity, from 0 to 1, for a FAQ to match. |\n| **Skill minimum score** | The minimum similarity, from 0 to 1, for a skill to match. |\n| **Maximum results** | The most entries discovery returns, from 1 to 50. |\n| **Preview token budget** | An estimated token ceiling for one discovery response, from 64 tokens. Turn the switch off to disable it. The console keeps the saved number. |\n\nSee [Configure discovery](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/retrieval#configure-discovery) for how these settings work together."
    },
    {
      "id": "proposal-review-policy",
      "title": "Proposal review policy",
      "role": "content",
      "text": "Set the **Review window**, how long proposals stay available for review, from 1 to 365 days. **Maximum open proposals** shows the inbox's capacity, which you can't change in the console."
    },
    {
      "id": "danger-zone",
      "title": "Danger zone",
      "role": "content",
      "text": "| Action | What it does |\n|:-------|:-------------|\n| **Clear entries** | Permanently removes all FAQs, skills, versions, and resources, including published content. Proposals and settings stay. |\n| **Clear proposals** | Permanently removes all proposals from the inbox and trash. Entries and their versions stay. |\n| **Remove extraction job** | Stops automatic FAQ extraction and removes its source connection and settings. Your Agent Memory service, FAQs, and proposals stay. Appears only when an extraction job exists. |\n| **Delete** | Permanently deletes the playbook, with its entries, versions, resources, and proposals. |\n\nYou can clear entries or proposals only while the playbook is **Ready**. To confirm clearing or deleting, select the confirmation checkbox in the dialog. None of these actions can be undone. If a clear fails partway, check the playbook's current state before you retry."
    },
    {
      "id": "troubleshoot-a-playbook",
      "title": "Troubleshoot a playbook",
      "role": "errors",
      "text": "Check the playbook's state in **Configuration** before retrying a failed operation. Keep its identifier and safe error details for support; do not include API keys or conversation content.\n\n| Symptom | Next action |\n|:--------|:------------|\n| Provisioning fails or does not complete | Check the selected database's availability, capacity, and network allow list. Resolve the reported problem before retrying. If the playbook remains failed, contact support with its identifier. |\n| **Suspended** or **Unavailable** | Check the database and any console explanation. Contact your account administrator or support if you can't restore access. Repeated authoring requests do not repair the service. |\n| A **Bring Your Own** model cannot process content | Check or replace the provider key in **Embedding provider credential**, and check provider access to the selected model. The provider key is separate from the agent key. |\n| Requests return `401` or `403` | Verify the endpoint, playbook identifier, key expiry, and action grants. Create a replacement key if the old one expired or was deleted. See [Give an agent access](https://redis.io/docs/latest/operate/iris/agent-playbook/create-playbook#give-an-agent-access). |\n| Extraction reports a missing or inaccessible source | Restore the Agent Memory service or your permission to manage it, then turn extraction on to check the connection again. To use a different source, remove the existing extraction job and create another. |\n| Extraction is enabled but no proposal appears | Confirm that events were recorded in the selected Agent Memory service, the conversation is idle, and the source is still available. Check the inbox for additional evidence on existing proposals. If the issue persists, contact support with the source and playbook identifiers and observation time. The console's configuration status is not a per-session processing history. |\n| Playground returns no matches | Confirm that the intended versions are published. Check the query, filters, similarity thresholds, and preview budget. See [Retrieve knowledge](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/retrieval). |"
    }
  ],
  "examples": []
}
