Skip to main content
POST
/
v3
/
ai-sdr
/
playbooks
Create a playbook
curl --request POST \
  --url https://api.reply.io/v3/ai-sdr/playbooks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Outbound playbook v2",
  "description": "Tone and pacing for cold outreach",
  "body": "## Voice\nFriendly, concise, never desperate.\n\n## Pacing\nTwo touches per week max.",
  "type": "team"
}
'
{
  "id": "t-7",
  "name": "Outbound playbook v2",
  "description": "Tone and pacing for cold outreach",
  "body": "## Voice\nFriendly, concise, never desperate.\n\n## Pacing\nTwo touches per week max.",
  "type": "team",
  "lastUpdatedAt": "2026-05-10T14:32:11Z",
  "authorUserId": 4821,
  "styleFiles": [
    {
      "id": 12345,
      "fileName": "tone-guide.pdf"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.reply.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Authenticate every request with a Bearer token. Pass your Reply API key in the Authorization header:

Authorization: Bearer <your-api-key>

Get your API key from the Reply dashboard: Settings → API Key.

Body

application/json

Request body for creating a new playbook.

name
string
required

Display name of the playbook

Required string length: 1 - 128
description
string
required

Short description of the playbook's purpose. Empty string allowed.

Maximum string length: 1000
body
string
required

Full playbook body — typically Markdown or plain text instructions the AI SDR follows when this playbook is applied. Empty string allowed.

type
enum<string>
required

Visibility scope for the new playbook. Only organization and team are accepted — global playbooks are Reply-curated and cannot be created via the API.

Available options:
global,
organization,
team

Response

Playbook created successfully

Detailed representation of a playbook, returned by get/create/update responses.

id
string
read-only

Composite identifier formatted as {prefix}-{numericId} where the prefix encodes the playbook scope: g for global, o for organization, t for team (e.g. g-1, o-42, t-7).

name
string

Display name of the playbook

description
string

Short description of the playbook's purpose

body
string

Full playbook body — typically Markdown or plain text instructions the AI SDR follows when this playbook is applied.

type
enum<string>

Visibility scope of the playbook. Set on create and immutable thereafter.

Available options:
global,
organization,
team
lastUpdatedAt
string<date-time>
read-only

Timestamp of the last modification

authorUserId
integer | null
read-only

User ID of the playbook author. null for global playbooks and when the original author is no longer a team member.

styleFiles
PlaybookStyleFile · object[]
read-only

Style files attached to the playbook. Managed via the /style-files sub-resource — uploads are immediate, deletes are immediate; the field is read-only on the playbook payload.