PromptCreate
A prompt is a versioned LLM instruction belonging to an agent. Each prompt has a type (chatbot "prompt", classification, document, ping, calendar, state, outreach, stage_triggered, redirect, clarification, custom_follow_up, formatting, playbook and others — see PromptType) and one active version. A playbook is a prompt of type "playbook": an on-demand instruction set the chatbot enables mid-dialogue instead of carrying it in the main prompt.
The initial prompt text (becomes the first version's content).
Human-readable prompt name.
description object
Playbooks only: the one-line "when to use" the chatbot sees in its playbook catalog. The model can enable a playbook only if this is set — a playbook without a description is never offered to it. Ignored for other prompt types.
- string
- null
config object
Per-prompt settings (PromptConfig). Today only playbooks read it: crm_fields_conditions makes the platform enable the playbook automatically for leads whose CRM fields match, before the model runs. Defaults to an empty config.
crm_fields_conditions object
Composite CRM-field conditions (the same shape as on A/B campaigns and outreach: AND/OR with per-field operators). With at least one condition set, the platform enables the playbook in a dialogue as soon as the lead's CRM fields match — before the model runs, without a tool call. An empty conditions list never auto-enables; null (the default) leaves enabling to the model.
- CRMFieldsConditionsConfig
- null
Possible values: [AND, OR]
ANDconditions object[]
Possible values: [EQUALS, NOT_EQUALS, IN, NOT_IN, STARTS_WITH, ENDS_WITH, CONTAINS, EXISTS, NOT_EXISTS, IS_EMPTY, IS_NOT_EMPTY]
ID of the product (workspace) that owns this record. Most endpoints scope access by product.
ID of the agent (a configured AI assistant / bot persona) this record belongs to.
author object
Who authored the prompt.
- string
- null
The prompt's purpose/type (see PromptType). "playbook" marks an on-demand instruction set; see description and config.
Possible values: [prompt, classification, document, ping, calendar, state, outreach, stage_triggered, redirect, clarification, human_clarification_follow_up, custom_follow_up, formatting, playbook, qualification, disqualification, escalation]
version_description object
Optional description for the created version.
- string
- null
document_type object
For prompts of type "document", which document type they apply to.
- string
- null
Language of the prompt.
Possible values: [ru, en, pt, es]
ruWhich conversation modality the prompt serves — text (default, chat channels) or voice (voice-call runtime).
Possible values: [text, voice]
textskip_instructions object
For ping/reminder/stage-triggered prompts, natural-language instructions describing when to skip sending.
- string
- null
Codes of prompt-check findings the client explicitly accepts ("proceed anyway"). On create and on text updates the prompt content is validated — broken Jinja syntax, dynamic {{ ... }} parts above the ---cache breakpoint--- marker (kills prompt caching), misspelled marker, references to .md files, and {{ ... }} variables inside a playbook (playbook bodies are sent verbatim, never rendered). Violations are rejected with HTTP 412 and detail.code prompt_checks_failed plus a findings list of {code, level, message}. To save anyway, resubmit the same payload with the returned finding codes in this field. Findings of level critical (broken Jinja) cannot be acknowledged. Unknown codes are ignored.
{
"text": "string",
"name": "string",
"description": "string",
"config": {
"crm_fields_conditions": {
"operator": "AND",
"conditions": [
{
"field": "string",
"operator": "EQUALS"
}
]
}
},
"product_id": 0,
"agent_id": 0,
"author": "string",
"type": "prompt",
"version_description": "string",
"document_type": "string",
"lang": "ru",
"modality": "text",
"skip_instructions": "string",
"acknowledged_checks": [
"string"
]
}