Skip to main content
Платформа має просту модель даних для передачі інформації через дзвінок. Розуміння цієї моделі — ключове для створення агентів, що звучать персоналізовано, і для отримання корисних результатів після дзвінка.

Три обʼєкти контексту

initial_context

Дані, доступні агенту ще до початку дзвінка — імʼя контакту, деталі рахунку, інформація про запис на прийом — усе, що агент має знати заздалегідь. Задається з кількох джерел:
  • Запуск через API — передається в тілі запиту при виклику POST /public/agent/{uuid} або POST /telephony/initiate-call
  • Дані з довідника — колонки файлу автоматично стають полями initial_context для дзвінка кожного контакту, окрім службових (див. нижче)
  • Запит даних перед дзвінком — доповнення контексту даними з вашої CRM чи ERP через HTTP-запит на початку дзвінка, до того як агент почне говорити
  • Налаштування агента — задання тестових значень змінних контексту на агенті; вони використовуються в тестових дзвінках із редактора сценарію й ігноруються в реальних дзвінках

Службові колонки довідника

З файлу довідника в initial_context потрапляють не всі колонки. Три види службових платформа забирає собі: Тобто якщо ваша колонка з ідентифікатором зветься client_id, у промпті це все одно {{ext_customer_id}} — {{client_id}} не спрацює, і кампанія не створиться з помилкою про відсутню колонку. Додатково доступний {{record_key}} — внутрішній ключ запису (ext:<ваш ID>|<номер> або phone:<номер>). Усі інші колонки доступні під своїми назвами.

Змінні шаблону

Значення з initial_context доступні в промпті агента через синтаксис {{подвійні_фігурні_дужки}}.
Коли дзвінок починається, платформа підставляє значення перед тим, як надіслати промпт у LLM — тож агент говорить природно, ніби вже знає контакт.

Fallback-значення (запасні значення)

Якщо змінна може бути відсутньою або порожньою, використовуйте вертикальну риску (|), щоб задати значення за замовчуванням:
Якщо customer_name не задано, агент скаже “Вітаю, шановний клієнте” замість пропуску. Синтаксис:
Якщо змінна присутня й не порожня, запасне значення ігнорується і використовується реальне значення.

Змінні за замовчуванням

Вбудовані змінні поточного часу й дня тижня, доступні в будь-якому промпті без налаштування initial_context. Замініть <TIMEZONE> на назву часового поясу IANA, наприклад Europe/Kyiv, Asia/Kolkata чи America/New_York.
Якщо ви додали суфікс часового поясу до current_time або current_weekday, друга змінна без суфікса автоматично використає той самий часовий пояс замість UTC. Наприклад, якщо в промпті є і {{current_time_Europe/Kyiv}}, і {{current_weekday}}, день тижня теж буде визначено для Europe/Kyiv.

Змінні телефонії

Для телефонних дзвінків (вхідних і вихідних) платформа автоматично додає ці змінні в initial_context: Для вхідних дзвінків caller_number — це номер клієнта, а called_number — ваш номер платформи. Для вихідних — навпаки: caller_number це ваш номер платформи, а called_number — номер клієнта.

gathered_context

Дані, які агент видобуває під час дзвінка — протилежний напрямок відносно initial_context. Використовуйте, щоб перетворити розмову на структуровані дані: чого хоче клієнт, чи підтвердив він щось, яке значення назвав уголос.

Як заповнюється

Увімкніть видобування на вузлі Агента чи Завершення дзвінка і визначте одну або кілька змінних для видобування. У кожної змінної є: Видобуті змінні Коли розмова досягає цього вузла, LLM читає транскрипт до цього моменту й заповнює кожну змінну на основі її prompt. Якщо значення неможливо визначити з розмови, змінна лишається порожньою, а не вгадується — тож формулюйте prompt достатньо конкретно, щоб LLM точно знала, що вважати збігом. Видобування можна додати на кілька вузлів. Видобуті змінні кожного вузла обʼєднуються в один обʼєкт gathered_context у міру просування дзвінка за ключем name — повторіть name на пізнішому вузлі, якщо хочете перезаписати попереднє значення.

Як звертатися до неї далі

gathered_context не доступна в промптах агента — промпт може посилатися лише на поля initial_context, оскільки видобування зазвичай відбувається вже після тієї частини розмови, де це знадобилось би. Щоб використати видобуті дані, надішліть їх через вузол:
Повний перелік змінних, доступних поруч із gathered_context у шаблоні тіла, дивіться в Вебхуках.

Приклад руху даних

Де доступні змінні