{
  "schema_version": 2,
  "id": "develop/ai/context-engine/agent-playbooks",
  "title": "Redis Agent Playbooks",
  "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/",
  "summary": "Create playbooks of reusable skills and answers that agents can discover and load for a task.",
  "tags": [
    "docs",
    "develop",
    "ai"
  ],
  "last_updated": "2026-11-03T15:26:57-08:00",
  "children": [
    {
      "id": "develop/ai/context-engine/agent-playbooks/concepts",
      "summary": "Understand playbooks, entries, versions, publication, discovery, proposals, and evidence.",
      "title": "Redis Agent Playbooks concepts",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/concepts/"
    },
    {
      "id": "develop/ai/context-engine/agent-playbooks/quickstart",
      "summary": "Publish an FAQ, retrieve it for an agent, and update the answer with Python, HTTP, or the Iris CLI.",
      "title": "Redis Agent Playbooks quickstart",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/quickstart/"
    },
    {
      "id": "develop/ai/context-engine/agent-playbooks/manage-faqs",
      "summary": "Write answers, promote reviewed proposals, and publish FAQ versions for retrieval.",
      "title": "Manage FAQs",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/manage-faqs/"
    },
    {
      "id": "develop/ai/context-engine/agent-playbooks/manage-skills",
      "summary": "Package, validate, upload, version, and publish reusable agent skills.",
      "title": "Manage skills",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/manage-skills/"
    },
    {
      "id": "develop/ai/context-engine/agent-playbooks/proposals",
      "summary": "Turn suggested answers from agents and applications into reviewed FAQs for your playbook.",
      "title": "Proposals",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/proposals/"
    },
    {
      "id": "develop/ai/context-engine/agent-playbooks/retrieval",
      "summary": "Search published knowledge, discover skills and answers together, and control relevance and result size.",
      "title": "Retrieve knowledge",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/retrieval/"
    },
    {
      "id": "develop/ai/context-engine/agent-playbooks/mcp",
      "summary": "Connect an MCP client, discover published knowledge, and load skill instructions and files.",
      "title": "Connect with MCP",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/mcp/"
    },
    {
      "id": "develop/ai/context-engine/agent-playbooks/agent-integration",
      "summary": "Discover playbook context before an agent turn, then load selected skills through MCP with OpenAI Agents SDK or LangGraph.",
      "title": "Integrate with an agent",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/agent-integration/"
    },
    {
      "id": "develop/ai/context-engine/agent-playbooks/api-reference",
      "summary": "",
      "title": "Redis Agent Playbooks data-plane API",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/api-reference/"
    },
    {
      "id": "develop/ai/context-engine/agent-playbooks/limits",
      "summary": "Find content and retrieval limits, proposal retention, error types, and retry guidance.",
      "title": "Service limits and errors",
      "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/limits/"
    }
  ],
  "page_type": "content",
  "content_hash": "cc92b0c00c95b70c40dcb79fa85eb53d85b050d4b70651d5bfc82e619aa27e93",
  "sections": [
    {
      "id": "code-examples",
      "title": "Code examples",
      "role": "example",
      "text": "These examples connect to Iris services using SDKs or HTTP requests with curl. Follow one language throughout each walkthrough."
    },
    {
      "id": "what-are-redis-agent-playbooks",
      "title": "What are Redis Agent Playbooks?",
      "role": "content",
      "text": "Redis Agent Playbooks let you create and manage playbooks of curated answers and procedures for AI agents. Each playbook is a registry of entries with its own access grants and retrieval settings.\n\nPublish an entry version, retrieve it for a task, and prepare revisions while agents use the current publication.\n\nA FAQ gives an agent a validated answer, such as where a customer can find their refund status. A skill ([Agent Skill](https://agentskills.io/home)) guides the agent through drafting a reply from that status using a template.\n\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-6 my-8\">\n  \n  \n  \n</div>"
    },
    {
      "id": "why-use-redis-agent-playbooks",
      "title": "Why use Redis Agent Playbooks?",
      "role": "content",
      "text": "- **Reusable agent knowledge:** Manage approved FAQs and skills once, then use them across agents and applications.\n- **Controlled updates:** Publish a specific entry version while authors prepare and review the next revision.\n- **Relevant retrieval:** Match an agent's task with FAQ answers and skill previews using semantic discovery.\n- **Progressive skill loading:** Let agents inspect skill previews before loading full instructions and supporting files.\n- **Governed collaboration:** Separate reading, writing, publishing, and proposing with playbook access grants.\n- **Flexible integration:** Retrieve entries through Python, HTTP, or Model Context Protocol (MCP)."
    },
    {
      "id": "concepts",
      "title": "Concepts",
      "role": "content",
      "text": "A playbook holds two kinds of entries:\n\n| Entry | Use it for                                                                         | What the agent receives                                              |\n| ----- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------- |\n| Skill | Procedures for completing a task, with optional scripts, references, or templates. | A name and description first; full instructions and files on demand. |\n| FAQ   | A validated answer to a recurring question.                                       | The question and answer in the retrieval result.                     |\n\nA publisher selects the version of each **entry** agents receive. Your application controls how retrieved content enters the model's context and which actions the agent can take.\n\nSee [Redis Agent Playbooks concepts](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/concepts) for versions, publication, and review."
    },
    {
      "id": "quick-example",
      "title": "Quick example",
      "role": "content",
      "text": "1. Set up a playbook:\n    - **Redis Cloud:** [Create a playbook](https://redis.io/docs/latest/operate/iris/agent-playbook/create-playbook).\n    - **Self-managed:** [Deploy Agent Playbooks on Kubernetes](https://redis.io/docs/latest/operate/iris/agent-playbook/self-managed).\n1. Install the Redis Iris Python package, which includes the `iris` CLI:\n\n    [code example]\n\n1. With `IRIS_AGENT_PLAYBOOKS_URL`, `IRIS_AGENT_PLAYBOOKS_PLAYBOOK_ID`, and `IRIS_AGENT_PLAYBOOKS_API_KEY` in your environment, find the published entries that match an agent's task:\n\n**Available in:** Python (Iris), cURL (Iris), CLI (Iris)\n\n##### Python (Iris)\n\n[code example]\n\n##### cURL (Iris)\n\n[code example]\n\n##### CLI (Iris)\n\n[code example]\n\n\n\n**Available in:** Python (Iris), cURL (Iris), CLI (Iris)\n\n##### Python (Iris)\n\n[code example]\n\n##### cURL (Iris)\n\n[code example]\n\n##### CLI (Iris)\n\n[code example]\n\n\n\nFollow the [quickstart](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/quickstart) to publish your first FAQ and retrieve it."
    },
    {
      "id": "manage-playbook-entries",
      "title": "Manage playbook entries",
      "role": "content",
      "text": "- [Manage FAQs](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/manage-faqs): write, publish, and update FAQs.\n- [Manage skills](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/manage-skills): package Agent Skills and load their instructions and files on demand.\n- [Review proposals](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/proposals): check proposed entries and accumulated evidence before accepting them."
    },
    {
      "id": "serve-playbook-entries-at-runtime",
      "title": "Serve playbook entries at runtime",
      "role": "content",
      "text": "- [Retrieve relevant FAQs or Agent Skills](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/retrieval) on demand.\n- [Integrate with an agent](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/agent-integration) using OpenAI Agents SDK or LangGraph.\n- [Connect with MCP](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/mcp).\n\nUse the [API reference](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/api-reference) for operations and schemas, and [service limits and errors](https://redis.io/docs/latest/develop/ai/context-engine/agent-playbooks/limits) for constraints and recovery guidance."
    }
  ],
  "examples": [
    {
      "id": "quick-example-ex0",
      "language": "bash",
      "code": "pip install 'redis-iris>=1.0.0'",
      "section_id": "quick-example"
    },
    {
      "id": "quick-example-ex1",
      "language": "python",
      "code": "from redis_iris.agent_playbooks import AgentPlaybooks\n\nplaybook = AgentPlaybooks.from_env()\nprint(playbook.client.get_playbook_health())",
      "section_id": "quick-example"
    },
    {
      "id": "quick-example-ex2",
      "language": "bash",
      "code": "set -euo pipefail\nPLAYBOOK_API=\"${IRIS_AGENT_PLAYBOOKS_URL%/}/iris/data/v1/agent-playbooks/playbooks/$IRIS_AGENT_PLAYBOOKS_PLAYBOOK_ID\"\ncurl --fail-with-body --silent --show-error \\\n  \"$PLAYBOOK_API/health\" \\\n  -H \"Authorization: Bearer $IRIS_AGENT_PLAYBOOKS_API_KEY\" | jq .",
      "section_id": "quick-example"
    },
    {
      "id": "quick-example-ex3",
      "language": "bash",
      "code": "set -euo pipefail\n\niris agent-playbooks health",
      "section_id": "quick-example"
    },
    {
      "id": "quick-example-ex4",
      "language": "python",
      "code": "discovery = playbook.discover(\n    \"Help a customer find their refund status\",\n    filter_={\"eq\": {\"name\": \"topic\", \"value\": \"refund\"}},\n)\nprint(discovery.as_prompt())",
      "section_id": "quick-example"
    },
    {
      "id": "quick-example-ex5",
      "language": "bash",
      "code": "curl --fail-with-body --silent --show-error \\\n  -X POST \"$PLAYBOOK_API/entries/discover\" \\\n  -H \"Authorization: Bearer $IRIS_AGENT_PLAYBOOKS_API_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  --data '{\"query\":\"Help a customer find their refund status\",\"filter\":{\"eq\":{\"name\":\"topic\",\"value\":\"refund\"}},\"limit\":5}' | jq .",
      "section_id": "quick-example"
    },
    {
      "id": "quick-example-ex6",
      "language": "bash",
      "code": "cat > discover.json <<'JSON'\n{\n  \"query\": \"Help a customer find their refund status\",\n  \"filter\": {\"eq\": {\"name\": \"topic\", \"value\": \"refund\"}},\n  \"limit\": 5\n}\nJSON\niris --json agent-playbooks discover --input discover.json | jq .",
      "section_id": "quick-example"
    }
  ]
}
