Skip to main content

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.

textTextrequired

The initial prompt text (becomes the first version's content).

nameNamerequired

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.

anyOf
string
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.

anyOf
operatorCRMFieldsConditionsOperator

Possible values: [AND, OR]

Default value: AND
conditions object[]
  • Array [
  • fieldFieldrequired
    operatorCRMFieldConditionOperatorrequired

    Possible values: [EQUALS, NOT_EQUALS, IN, NOT_IN, STARTS_WITH, ENDS_WITH, CONTAINS, EXISTS, NOT_EXISTS, IS_EMPTY, IS_NOT_EMPTY]

    valueValue
  • ]
  • product_idProduct Idrequired

    ID of the product (workspace) that owns this record. Most endpoints scope access by product.

    agent_idAgent Idrequired

    ID of the agent (a configured AI assistant / bot persona) this record belongs to.

    author object

    Who authored the prompt.

    anyOf
    string
    typeTyperequired

    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.

    anyOf
    string
    document_type object

    For prompts of type "document", which document type they apply to.

    anyOf
    string
    langLanguage

    Language of the prompt.

    Possible values: [ru, en, pt, es]

    Default value: ru
    modalityModality

    Which conversation modality the prompt serves — text (default, chat channels) or voice (voice-call runtime).

    Possible values: [text, voice]

    Default value: text
    skip_instructions object

    For ping/reminder/stage-triggered prompts, natural-language instructions describing when to skip sending.

    anyOf
    string
    acknowledged_checksstring[]

    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.

    PromptCreate
    {
    "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"
    ]
    }