{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Agent Playbooks","projectTitle":"Frontline Documentation"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"agent-playbooks","__idx":0},"children":["Agent Playbooks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Agent Playbook"]}," is a reusable instruction set (an SOP) that steers how a customer-facing ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/concepts/agents"},"children":["Agent"]}," handles a specific task. A playbook bundles instructions plus optional tools, record types, custom tools, and connected-account configs. You then assign it to one or more agents so they can execute it at runtime."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/concepts/max/playbooks"},"children":["Max Playbooks"]},", which steer the user's personal Max assistant."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All playbook endpoints require a USER API key."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"identity","__idx":1},"children":["Identity"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["number"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Use as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["playbookId"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1–100 characters."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When to use this playbook. 10–750 characters."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instructions"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The SOP the agent follows. 10–10,000 characters."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["isActive"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},". Inactive playbooks stay assigned but are not used at runtime."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["visibility"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["enum"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACCOUNT"]}," (shared with the whole account) · ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PRIVATE"]}," (only the creator). Default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACCOUNT"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tools"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["System tool names the playbook may use (max 20)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selectedRecordTypes"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Record-type tool settings."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selectedCustomTools"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Custom-tool settings."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["playbookConnectedAccounts"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Connected-account tool configs (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["connectedAccountId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["useAllTools"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["selectedToolSlugs"]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["createdByUserId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["number?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Creator. Only the creator (or an OWNER/ADMIN) can update; only the creator can delete."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["createdAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO timestamp."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["updatedAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO timestamp."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"assigning-playbooks-to-an-agent","__idx":2},"children":["Assigning playbooks to an agent"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Playbooks are account-scoped resources. Assigning them to an agent is a separate step:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /agents/{agentId}/playbooks"]}," — which playbooks that agent currently has."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT /agents/{agentId}/playbooks"]}," — ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["replaces"]}," the full assignment set. Send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ \"playbookIds\": [1, 2] }"]}," to set it, or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ \"playbookIds\": [] }"]}," to unassign all."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You also wire playbooks through ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT /agents/{agentId}/agent-setting"]}," (the agent's brain). The dedicated assign endpoint is the one to use when you only want to change which playbooks are attached."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"operations","__idx":3},"children":["Operations"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Verb"},"children":["Verb"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Path"},"children":["Path"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/playbooks"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List (filters: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["filterText"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["visibility"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["isActive"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/playbooks"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create (USER key)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/playbooks/{playbookId}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Detail"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/playbooks/{playbookId}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Update (creator or OWNER/ADMIN)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELETE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/playbooks/{playbookId}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delete (creator only)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/agents/{agentId}/playbooks"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List assigned to an agent"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/public/v1/agents/{agentId}/playbooks"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Replace the assignment set"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Full list in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/reference/openapi"},"children":["API Reference"]}]}," under the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Agent Playbooks"]}," tag."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"cli","__idx":4},"children":["CLI"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"frontline playbooks list --table\nfrontline playbooks create \\\n  --name \"Refund flow\" \\\n  --description \"How to process a customer refund request\" \\\n  --instructions \"1. Verify the order number. 2. Confirm the refund window. 3. ...\"\nfrontline playbooks assign --agent-id <agentId> --playbook-ids '[1,2]'\nfrontline playbooks assigned --agent-id <agentId> --table\n","lang":"bash"},"children":[]}]},"headings":[{"value":"Agent Playbooks","id":"agent-playbooks","depth":1},{"value":"Identity","id":"identity","depth":2},{"value":"Assigning playbooks to an agent","id":"assigning-playbooks-to-an-agent","depth":2},{"value":"Operations","id":"operations","depth":2},{"value":"CLI","id":"cli","depth":2}],"frontmatter":{"seo":{"title":"Agent Playbooks"}},"lastModified":"2026-10-02T13:31:57.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/concepts/agent-playbooks","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}