Skip to main content

AgentConfig

timezoneTimezone
Default value: Europe/Moscow
languageLanguage

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

Default value: ru
gender object

Optional persona gender metadata included in user-facing LLM runs for human-readable wording when set.

anyOf
string

Possible values: [male, female]

mute_after_handoffMute After Handoff
Default value: true
mute_on_dialogue_stagesstring[]

Possible values: [initial, attempted, started, ongoing, pending, failed, redirected, finished, refused, success, disqualified, escalated]

max_bot_turns_limitMax Bot Turns Limit
Default value: 30
message_debounce_guard_pre_cooldown_seconds object
anyOf
integer
add_dt_to_promptAdd Dt To Prompt
Default value: true
communication_context_config object

Controls whether the agent receives shared context from prior communication episodes resolved to the same lead or customer.

enabledEnabled

Whether shared communication context is assembled and supplied to text and voice agents. Defaults to true.

Default value: true
include_test_leadsInclude Test Leads

Whether automatic shared-context lookup is also enabled for leads marked as test. Defaults to false.

Default value: false
redirects_enabledRedirects Enabled
Default value: true
redirect_to_agent_id object
anyOf
integer
redirect_message_source object
anyOf
text object
anyOf
string
prompt_id object
anyOf
integer
prompt_version_id object
anyOf
integer
prepared_message_id object
anyOf
integer
waba_template_id object
anyOf
integer
file_idsinteger[]
caption object
anyOf
string
prevent_bot_misusePrevent Bot Misuse
Default value: false
resolve_if_message_is_for_agentResolve If Message Is For Agent
Default value: true
reactions_enabledReactions Enabled
Default value: false
reactions_probability_percentReactions Probability Percent

Possible values: >= 0 and <= 100

Default value: 25
quote_replies_enabledQuote Replies Enabled
Default value: true
quote_replies_probability_percent object
anyOf
integer

Possible values: >= 0 and <= 100

fetch_history_on_onboardingFetch History On Onboarding
Default value: false
delay_messages_symbols_per_second object
anyOf
integer
delay_messages_seconds object
anyOf
integer
split_messagesSplit Messages
Default value: true
lead_expires_in_hoursLead Expires In Hours
Default value: 336
mute_on_ignoreMute On Ignore
Default value: false
ignore_stage_id object
anyOf
integer
total_ignore_stage_id object
anyOf
integer
expiry_refusal_stage_id object
anyOf
integer
delivery_failure_stage_id object

Pipeline stage for leads whose message could not be delivered for a reason that still leaves them reachable by phone — the channel session died, the channel was rate limited, or the lead blocked the bot. The lead is moved here and deactivated so a manager can take over. Causes that make the lead uncontactable altogether, such as a number that does not exist, are excluded and keep the ordinary failed-dialogue mapping. Null disables the handover.

anyOf
integer
rag_config object
max_documentsMax Documents

Possible values: >= 1

Default value: 10
max_unitsMax Units

Possible values: >= 1

Default value: 20
max_charsMax Chars

Possible values: >= 1

Default value: 16000
per_mode_limits object
property name*integer
lead_research_config object
enabledEnabled
Default value: false
source_fieldsstring[]
llm_model_config object
anyOf
vendorVendorrequired

Possible values: [chatgpt, gemini, anthropic, grok, sber, openrouter]

modelModelrequired
temperatureTemperature
Default value: 0.7
prompt_caching_enabledPrompt Caching Enabled
Default value: false
max_tool_callsMax Tool Calls

Possible values: >= 1 and <= 100

Default value: 5
max_output_tokensMax Output Tokens

Possible values: >= 256 and <= 20000

Default value: 5000
summary_max_charsSummary Max Chars

Possible values: >= 512 and <= 10000

Default value: 1800
require_reliable_identity_matchRequire Reliable Identity Match
Default value: true
review_required_before_outreachReview Required Before Outreach
Default value: true
currency_rates_config object

Live exchange rates supplied to the agent so it can quote prices in the client's currency instead of inventing a rate. Rates are fetched from the selected source on a schedule and are shared platform-wide; this config only selects which pairs this agent quotes and how it should talk about them. A pair with no fetched rate available is silently omitted from the agent's context rather than guessed.

enabledEnabled

Whether the agent receives exchange rates at all. Requires at least one enabled pair.

Default value: false
sourceCurrencyRateSource

Where the rates are fetched from.

Possible values: [cbr, open_er_api]

Default value: cbr
promptPrompt

Free-text instruction shown to the agent above the rate list, applying to every pair (for example "the price list is in USD, always also state the price in rubles").

Default value:
max_staleness_minutes object

Maximum age of a fetched rate, in minutes. A rate fetched longer ago than this is dropped instead of quoted. Null means any stored rate may be used.

anyOf
integer

Possible values: >= 1

pairs object[]

The exchange rates this agent may quote.

  • Array [
  • baseCurrencyCoderequired

    Currency being converted from. The rate is expressed as "1 base = N quote".

    Possible values: [usd, eur, rub]

    quoteCurrencyCoderequired

    Currency being converted to. Must differ from base.

    Possible values: [usd, eur, rub]

    enabledEnabled

    Whether this pair is quoted. Disabled pairs are kept but never supplied to the agent.

    Default value: true
    precisionPrecision

    Number of decimal places the quoted rate is rounded to.

    Possible values: >= 0 and <= 6

    Default value: 2
    markup_percent object

    Percentage added to the market rate before it reaches the agent, for quoting above (or, when negative, below) the source rate. 0 quotes the source rate as published.

    anyOf
    number

    Possible values: >= -100 and <= 100

  • ]
  • models_config object
    chatbot_model_config object
    anyOf
    vendorVendorrequired

    Possible values: [chatgpt, gemini, anthropic, grok, sber, openrouter]

    modelModelrequired
    temperatureTemperature
    Default value: 0.7
    prompt_caching_enabledPrompt Caching Enabled
    Default value: false
    classification_model_config object
    anyOf
    vendorVendorrequired

    Possible values: [chatgpt, gemini, anthropic, grok, sber, openrouter]

    modelModelrequired
    temperatureTemperature
    Default value: 0.7
    prompt_caching_enabledPrompt Caching Enabled
    Default value: false
    ping_model_config object
    anyOf
    vendorVendorrequired

    Possible values: [chatgpt, gemini, anthropic, grok, sber, openrouter]

    modelModelrequired
    temperatureTemperature
    Default value: 0.7
    prompt_caching_enabledPrompt Caching Enabled
    Default value: false
    document_model_config object
    anyOf
    vendorVendorrequired

    Possible values: [chatgpt, gemini, anthropic, grok, sber, openrouter]

    modelModelrequired
    temperatureTemperature
    Default value: 0.7
    prompt_caching_enabledPrompt Caching Enabled
    Default value: false
    classification_config object
    collect_lead_timezoneCollect Lead Timezone
    Default value: false
    classification_enabledClassification Enabled
    Default value: false
    fields object[]
  • Array [
  • nameNamerequired
    descriptionDescriptionrequired
    data_typeData Type
    Default value: string
  • ]
  • support_ticket_request_category_config object

    Settings controlling support-ticket request-category classification and whether the LLM may create new reusable categories.

    classification_enabledClassification Enabled

    Whether closed support tickets are assigned to an agent-scoped request category.

    Default value: true
    auto_create_enabledAuto Create Enabled

    Whether the LLM may create a new reusable category when no active existing category fits. When false, unmatched tickets are assigned to the system insufficient_info category.

    Default value: true
    refusal_reason_config object

    Settings controlling refusal reason classification and whether the LLM may create new reusable refusal reasons.

    classification_enabledClassification Enabled

    Whether refusal-stage dialogues are assigned to an agent-scoped refusal reason.

    Default value: true
    auto_create_enabledAuto Create Enabled

    Whether the LLM may create a new reusable refusal reason when no active existing reason fits. When false, unmatched dialogues are assigned to the system insufficient_info reason.

    Default value: true
    human_clarification_config object

    Human-in-the-loop clarification settings for this agent.

    enabledEnabled

    Whether the agent may defer a dialogue and ask a human manager for help.

    Default value: false
    channel_id object

    Manager-facing destination chat/channel for clarification notifications.

    anyOf
    string
    message_thread_id object

    Optional thread or topic inside the manager channel.

    anyOf
    string
    timeout_secondsTimeout Seconds

    How long the clarification may stay pending before expiring.

    Possible values: >= 1

    Default value: 14400
    extra_text object

    Optional extra static text appended to the manager notification.

    anyOf
    string
    follow_up_enabledFollow Up Enabled

    Whether the client-facing waiting message is sent after the manager notification succeeds.

    Default value: true
    follow_up_message_source object

    Optional source of the client-facing waiting message. Literal content (text, prepared_message_id, waba_template_id, files) is sent as-is; a source with only prompt_id generates the message with that prompt; when unset, the message is generated with a built-in prompt.

    anyOf
    text object
    anyOf
    string
    prompt_id object
    anyOf
    integer
    prompt_version_id object
    anyOf
    integer
    prepared_message_id object
    anyOf
    integer
    waba_template_id object
    anyOf
    integer
    file_idsinteger[]
    caption object
    anyOf
    string
    timeout_follow_up_message_source object
    anyOf
    text object
    anyOf
    string
    prompt_id object
    anyOf
    integer
    prompt_version_id object
    anyOf
    integer
    prepared_message_id object
    anyOf
    integer
    waba_template_id object
    anyOf
    integer
    file_idsinteger[]
    caption object
    anyOf
    string
    lead_field_namesstring[]

    Ordered lead CRM field keys that should be snapshotted into each clarification.

    tools_config object
    calendar_enabledCalendar Enabled
    Default value: false
    crm_callback_tasks_enabledCrm Callback Tasks Enabled
    Default value: false
    n8n_hook_tools object[]
  • Array [
  • webhook_urlWebhook Urlrequired
    backend_typeHookBackendType

    Possible values: [n8n, tool_backend]

    Default value: n8n
    tool_name object
    anyOf
    string
    refresh_ctx_afterRefresh Ctx After
    Default value: false
    llm_description object
    anyOf
    string
    wait_for_results_asyncWait For Results Async
    Default value: false
    wait_for_results_async_timeout_secondsWait For Results Async Timeout Seconds
    Default value: 600
  • ]
  • files_to_sendinteger[]
    callback_task_config object
    anyOf
    slot_duration_minutesSlot Duration Minutes

    Length of one callback slot, in minutes.

    Default value: 30
    lookahead_hoursLookahead Hours

    How far ahead callback availability is calculated, in hours.

    Default value: 168
    manager_web_call_links object

    Optional per-manager call URLs to inject into the CRM task text. Keys should use the manager_key returned by the callback-task-managers endpoint.

    property name*string
    manager_callback_tasks_enabled object

    Optional per-manager allowlist for callback task assignment. Leave empty to allow every live CRM manager; once populated, only managers with a true flag stay assignable.

    property name*boolean
    reminders object[]

    Reminder schedule for created callback tasks.

  • Array [
  • step_numberStep Numberrequired
    before_minutesBefore Minutesrequired
    source objectrequired

    Specifies the content of a message to send, by reference to exactly one source — raw text, a prompt, a prepared message, a WABA template, or file(s).

    text object
    anyOf
    string
    prompt_id object
    anyOf
    integer
    prompt_version_id object
    anyOf
    integer
    prepared_message_id object
    anyOf
    integer
    waba_template_id object
    anyOf
    integer
    file_idsinteger[]
    caption object
    anyOf
    string
  • ]
  • hooks_config object
    n8n_hooks object
    property name* object[]
  • Array [
  • webhook_urlWebhook Urlrequired
    backend_typeHookBackendType

    Possible values: [n8n, tool_backend]

    Default value: n8n
    tool_name object
    anyOf
    string
    refresh_ctx_afterRefresh Ctx After
    Default value: false
    llm_description object
    anyOf
    string
    wait_for_results_asyncWait For Results Async
    Default value: false
    wait_for_results_async_timeout_secondsWait For Results Async Timeout Seconds
    Default value: 600
  • ]
  • pipeline_stages object
    property name* object
    anyOf
    integer
    skip_crm_stage_sync_from_terminal_stageSkip Crm Stage Sync From Terminal Stage

    Whether mapped CRM stage changes are prevented from moving product leads away from terminal local stages.

    Default value: false
    inbound_lead_config object

    Controls lead creation and the optional acknowledgement sent before the main generated reply.

    stage_id object

    Pipeline stage assigned to a lead created from an inbound message. Null falls back to the agent's initial pipeline stage, then the product's first stage.

    anyOf
    integer
    quick_reply_enabledQuick Reply Enabled

    Whether to send the quick reply for a newly created inbound lead dialogue or an eligible replacement support-ticket dialogue after response eligibility checks pass.

    Default value: false
    quick_reply_textQuick Reply Text

    Jinja template rendered from lead CRM fields and sent immediately before main reply generation. Replacement support tickets use a server-configured closure cooldown. Blank text disables the quick reply.

    Default value:
    reply_to_start_enabledReply To Start Enabled

    Whether to send a canned reply when a new dialogue opens with a bare "/start" message (common from Telegram/Max bots). When it fires it replaces the generated reply for that turn and takes precedence over the quick reply.

    Default value: false
    reply_to_start_textReply To Start Text

    Jinja template sent in response to a "/start" opener (matched on the first token, so deep links like "/start " also qualify). Blank text disables it, and "/start" is then handled as an ordinary message with a normal generated reply.

    Default value:
    voice_config object

    Proprietary voice-agent settings (providers, models, greeting, and call behavior). Unset fields inherit the deployment defaults.

    llm_provider object
    anyOf
    string

    Possible values: [google, gemini, anthropic, yandex]

    llm_fallback_enabled object
    anyOf
    boolean
    llm_attempt_timeout object
    anyOf
    number

    Possible values: >= 1 and <= 60

    gemini_model object
    anyOf
    string
    gemini_temperature object
    anyOf
    number

    Possible values: >= 0 and <= 2

    gemini_thinking_level object
    anyOf
    string
    anthropic_model object
    anyOf
    string
    anthropic_temperature object
    anyOf
    number

    Possible values: >= 0 and <= 1

    yandex_model object
    anyOf
    string
    yandex_temperature object
    anyOf
    number

    Possible values: >= 0 and <= 1

    stt_provider object
    anyOf
    string

    Possible values: [soniox, deepgram]

    soniox_model object
    anyOf
    string
    soniox_language_hints object
    anyOf
  • Array [
  • string
  • ]
  • soniox_context object
    anyOf
    string
    deepgram_flux_model object
    anyOf
    string
    stt_keyterms object
    anyOf
  • Array [
  • string
  • ]
  • tts_provider object
    anyOf
    string

    Possible values: [elevenlabs, cartesia, gemini]

    elevenlabs_model object
    anyOf
    string
    elevenlabs_voice_id object
    anyOf
    string
    elevenlabs_language object
    anyOf
    string
    cartesia_model object
    anyOf
    string
    cartesia_voice_id object
    anyOf
    string
    cartesia_language object
    anyOf
    string
    gemini_tts_model object
    anyOf
    string
    gemini_tts_voice object
    anyOf
    string
    gemini_tts_instructions object
    anyOf
    string
    voice_agent_greeting_enabled object
    anyOf
    boolean
    voice_agent_greeting object
    anyOf
    string
    voice_agent_greeting_allow_interruptions object
    anyOf
    boolean
    voice_agent_greeting_delay_s object
    anyOf
    number

    Possible values: >= 0 and <= 5

    voice_agent_opener object
    anyOf
    string
    tts_style_tags_enabled object
    anyOf
    boolean
    cartesia_slowly_speed_ratio object
    anyOf
    number

    Possible values: >= 0.6 and <= 1.5

    cartesia_whisper_volume_ratio object
    anyOf
    number

    Possible values: >= 0.5 and <= 2

    cartesia_emotion_tags_enabled object
    anyOf
    boolean
    cartesia_pause_break_ms object
    anyOf
    integer

    Possible values: >= 100 and <= 2000

    livekit_interruption_enabled object
    anyOf
    boolean
    livekit_interruption_mode object
    anyOf
    string

    Possible values: [vad, adaptive]

    end_call_enabled object
    anyOf
    boolean
    inactivity_pings_enabled object
    anyOf
    boolean
    inactivity_timeout object
    anyOf
    number

    Possible values: >= 5 and <= 600

    backchannel_enabled object
    anyOf
    boolean
    backchannel_probability object
    anyOf
    number

    Possible values: >= 0 and <= 1

    AgentConfig
    {
    "timezone": "Europe/Moscow",
    "language": "ru",
    "gender": "male",
    "mute_after_handoff": true,
    "mute_on_dialogue_stages": [
    "initial"
    ],
    "max_bot_turns_limit": 30,
    "message_debounce_guard_pre_cooldown_seconds": 0,
    "add_dt_to_prompt": true,
    "communication_context_config": {
    "enabled": true,
    "include_test_leads": false
    },
    "redirects_enabled": true,
    "redirect_to_agent_id": 0,
    "redirect_message_source": {
    "text": "string",
    "prompt_id": 0,
    "prompt_version_id": 0,
    "prepared_message_id": 0,
    "waba_template_id": 0,
    "file_ids": [
    0
    ],
    "caption": "string"
    },
    "prevent_bot_misuse": false,
    "resolve_if_message_is_for_agent": true,
    "reactions_enabled": false,
    "reactions_probability_percent": 25,
    "quote_replies_enabled": true,
    "quote_replies_probability_percent": 0,
    "fetch_history_on_onboarding": false,
    "delay_messages_symbols_per_second": 0,
    "delay_messages_seconds": 0,
    "split_messages": true,
    "lead_expires_in_hours": 336,
    "mute_on_ignore": false,
    "ignore_stage_id": 0,
    "total_ignore_stage_id": 0,
    "expiry_refusal_stage_id": 0,
    "delivery_failure_stage_id": 0,
    "rag_config": {
    "max_documents": 10,
    "max_units": 20,
    "max_chars": 16000,
    "per_mode_limits": {}
    },
    "lead_research_config": {
    "enabled": false,
    "source_fields": [
    "string"
    ],
    "llm_model_config": {
    "vendor": "chatgpt",
    "model": "string",
    "temperature": 0.7,
    "prompt_caching_enabled": false
    },
    "max_tool_calls": 5,
    "max_output_tokens": 5000,
    "summary_max_chars": 1800,
    "require_reliable_identity_match": true,
    "review_required_before_outreach": true
    },
    "currency_rates_config": {
    "enabled": false,
    "source": "cbr",
    "prompt": "",
    "max_staleness_minutes": 0,
    "pairs": [
    {
    "base": "usd",
    "quote": "usd",
    "enabled": true,
    "precision": 2,
    "markup_percent": 0
    }
    ]
    },
    "models_config": {
    "chatbot_model_config": {
    "vendor": "chatgpt",
    "model": "string",
    "temperature": 0.7,
    "prompt_caching_enabled": false
    },
    "classification_model_config": {
    "vendor": "chatgpt",
    "model": "string",
    "temperature": 0.7,
    "prompt_caching_enabled": false
    },
    "ping_model_config": {
    "vendor": "chatgpt",
    "model": "string",
    "temperature": 0.7,
    "prompt_caching_enabled": false
    },
    "document_model_config": {
    "vendor": "chatgpt",
    "model": "string",
    "temperature": 0.7,
    "prompt_caching_enabled": false
    }
    },
    "classification_config": {
    "collect_lead_timezone": false,
    "classification_enabled": false,
    "fields": [
    {
    "name": "string",
    "description": "string",
    "data_type": "string"
    }
    ]
    },
    "support_ticket_request_category_config": {
    "classification_enabled": true,
    "auto_create_enabled": true
    },
    "refusal_reason_config": {
    "classification_enabled": true,
    "auto_create_enabled": true
    },
    "human_clarification_config": {
    "enabled": false,
    "channel_id": "string",
    "message_thread_id": "string",
    "timeout_seconds": 14400,
    "extra_text": "string",
    "follow_up_enabled": true,
    "follow_up_message_source": {
    "text": "string",
    "prompt_id": 0,
    "prompt_version_id": 0,
    "prepared_message_id": 0,
    "waba_template_id": 0,
    "file_ids": [
    0
    ],
    "caption": "string"
    },
    "timeout_follow_up_message_source": {
    "text": "string",
    "prompt_id": 0,
    "prompt_version_id": 0,
    "prepared_message_id": 0,
    "waba_template_id": 0,
    "file_ids": [
    0
    ],
    "caption": "string"
    },
    "lead_field_names": [
    "string"
    ]
    },
    "tools_config": {
    "calendar_enabled": false,
    "crm_callback_tasks_enabled": false,
    "n8n_hook_tools": [
    {
    "webhook_url": "string",
    "backend_type": "n8n",
    "tool_name": "string",
    "refresh_ctx_after": false,
    "llm_description": "string",
    "wait_for_results_async": false,
    "wait_for_results_async_timeout_seconds": 600
    }
    ],
    "files_to_send": [
    0
    ]
    },
    "callback_task_config": {
    "slot_duration_minutes": 30,
    "lookahead_hours": 168,
    "manager_web_call_links": {},
    "manager_callback_tasks_enabled": {},
    "reminders": [
    {
    "step_number": 0,
    "before_minutes": 0,
    "source": {
    "text": "string",
    "prompt_id": 0,
    "prompt_version_id": 0,
    "prepared_message_id": 0,
    "waba_template_id": 0,
    "file_ids": [
    0
    ],
    "caption": "string"
    }
    }
    ]
    },
    "hooks_config": {
    "n8n_hooks": {}
    },
    "pipeline_stages": {},
    "skip_crm_stage_sync_from_terminal_stage": false,
    "inbound_lead_config": {
    "stage_id": 0,
    "quick_reply_enabled": false,
    "quick_reply_text": "",
    "reply_to_start_enabled": false,
    "reply_to_start_text": ""
    },
    "voice_config": {
    "llm_provider": "google",
    "llm_fallback_enabled": true,
    "llm_attempt_timeout": 0,
    "gemini_model": "string",
    "gemini_temperature": 0,
    "gemini_thinking_level": "string",
    "anthropic_model": "string",
    "anthropic_temperature": 0,
    "yandex_model": "string",
    "yandex_temperature": 0,
    "stt_provider": "soniox",
    "soniox_model": "string",
    "soniox_language_hints": [
    "string"
    ],
    "soniox_context": "string",
    "deepgram_flux_model": "string",
    "stt_keyterms": [
    "string"
    ],
    "tts_provider": "elevenlabs",
    "elevenlabs_model": "string",
    "elevenlabs_voice_id": "string",
    "elevenlabs_language": "string",
    "cartesia_model": "string",
    "cartesia_voice_id": "string",
    "cartesia_language": "string",
    "gemini_tts_model": "string",
    "gemini_tts_voice": "string",
    "gemini_tts_instructions": "string",
    "voice_agent_greeting_enabled": true,
    "voice_agent_greeting": "string",
    "voice_agent_greeting_allow_interruptions": true,
    "voice_agent_greeting_delay_s": 0,
    "voice_agent_opener": "string",
    "tts_style_tags_enabled": true,
    "cartesia_slowly_speed_ratio": 0,
    "cartesia_whisper_volume_ratio": 0,
    "cartesia_emotion_tags_enabled": true,
    "cartesia_pause_break_ms": 0,
    "livekit_interruption_enabled": true,
    "livekit_interruption_mode": "vad",
    "end_call_enabled": true,
    "inactivity_pings_enabled": true,
    "inactivity_timeout": 0,
    "backchannel_enabled": true,
    "backchannel_probability": 0
    }
    }