Перейти к основному содержимому

Actions & Tools

Вкладка Actions — место, где вы управляете всем, что ваш агент умеет за пределами разговора: tools, которые агент вызывает в живом разговоре, prefetch-хуки, срабатывающие перед стартом звонка, и post-call actions, срабатывающие после окончания звонка. Retrieval Variables (поля данных, которые агент извлекает из каждого разговора) живут в той же вкладке.

Все тарифы

Все tools, actions и новый pre-fetch-хук доступны на каждом тарифе, включая Free.


Три фазы

Каждая запись на вкладке Actions принадлежит одной из трёх фаз жизненного цикла. Выпадающий список Add Tool группирует их, чтобы было понятно, когда что срабатывает:

ФазаКогдаПримеры
Pre fetchПеред тем как агент скажет «здравствуйте»Поднять звонящего в CRM по телефону, подтянуть последний заказ, получить персонализированное приветствие с вашего бэкенда
Live callВо время разговора, по инициативе AI в нужный моментПередать звонок человеку, проверить доступность в календаре, передать другому агенту, запросить данные из внешнего API
Post callПосле окончания звонкаОтправить summary email, выстрелить SMS-подтверждение, запушить payload звонка в CRM

Выпадающий список открывается с Pre fetch наверху, потому что у всех остальных фаз уже много опций — новая pre-fetch-запись, скорее всего, то, что вы ищете.


Pre fetch

Pre-fetch-хуки позволяют вашему агенту начинать звонок, уже зная, кто звонит. Они выполняются параллельно с установкой звонка и инжектят ответ в системный промпт агента до самого первого произнесённого слова.

Когда использовать

  • Узнать возвращающегося клиента по номеру телефона и поздороваться по имени
  • Подтянуть открытый заказ звонящего, последнюю запись или уровень членства
  • Заранее подгрузить бизнес-контекст в зависимости от того, на какую линию набрали
  • Инжектить заметки CRM, чтобы агент знал стадию и историю лида

Как это работает

  1. Платформа резолвит телефон звонящего (из SIP для входящих, из dial target для исходящих).
  2. Каждый активный Pre fetch action срабатывает параллельно с жёстким таймаутом 1.5 с на запрос и общим бюджетом 2 с.
  3. Успешные ответы конкатенируются в системный промпт агента как именованные блоки — агент читает их на самом первом ходу.
  4. Сбои тихие — медленный или сломанный эндпоинт никогда не блокирует приветствие. Агент просто начинает говорить без этого блока.

Конфигурация

ПолеОписание
NameОбязательно. Внутренний label и имя блока в промпте — держите его коротким и описательным (например, crm_lookup, vip_check).
API URLОбязательно. Эндпоинт для запроса. Поддерживает плейсхолдеры {phone}, {direction}, {agent_id}, {user_id}, {call_id}.
HTTP MethodGET — дефолт и лучший выбор. POST / PUT / PATCH / DELETE тоже работают.
HeadersОпционально. Статические или шаблонные (плейсхолдеры работают и здесь).
Query ParametersОпционально. Для новых pre-fetch предзаполняется phone={phone}.

Доступные переменные

Эти токены подставляются в URL, заголовки и query/body-параметры во время запроса:

ПеременнаяИсточникПример значения
{phone}Телефон звонящего (E.164) — для исходящих, номер назначения+431234567890
{direction}inbound или outboundinbound
{agent_id}Внутренний id агента65f1a2b3c4...
{user_id}Id владельца рабочего пространства65e0b1c2d3...
{call_id}Id звонка (позволяет вашему бэкенду позже коррелировать post-call payload)65f1f2c4d5...

Неизвестные плейсхолдеры оставляются как есть — плохой шаблон никогда не уронит звонок.

Что попадает в промпт

Если ваш эндпоинт https://crm.example.com/lookup?phone={phone} возвращает:

{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }

Системный промпт агента дополняется XML-обёрнутым блоком, названным по имени action:

<call_context>
<block name="crm_lookup">
{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }
</block>
</call_context>

Не нужно объяснять агенту, как это использовать — LLM подхватывает контекст естественно. Опционально упомяните pre-fetch в системном промпте: "If <call_context> contains a customer name, greet them by name."

Важные ограничения

  • Только телефонные звонки. Pre-fetch не работает для виджет-звонков (web) — нет телефонного номера для подстановки.
  • Лимит 8 КБ на тело ответа — всё длиннее обрезается перед инжектом. Лимит защищает токен-бюджет вашего промпта и ограничивает зону поражения вредоносного эндпоинта.
  • Нет вычисления condition — pre-fetch всегда срабатывает, когда активен. Транскрипции пока нет, чтобы по ней что-то оценивать.
подсказка

Используйте GET с лукап-эндпоинтом по ключу-телефону. Держите ответы маленькими и структурированными (JSON-объект с 3–5 полями). Агенту не нужна вся карточка клиента — только те биты, которые меняют разговор.


Live Call Tools

Эти tools срабатывают во время разговора. AI решает, когда вызвать каждый tool, на основе его описания и текущего диалога.

Доступные tools

ToolНазначениеКогда использовать
Call ForwardingПередача оператору-человекуКлиент просит человека, сложные вопросы
Google CalendarПроверить доступность и записать на приёмКлиент хочет назначить встречу
Outlook CalendarТо же, через Microsoft OutlookКлиент хочет назначить встречу
API Tool RAGПолучить live-данные из внешнего APIНужна реал-тайм информация (заказы, остатки, состояние аккаунта)
Agent TransferПередать другому голосовому агентуЗвонящему нужен другой отдел или специалист
HubSpot CRMЧтение/запись контактов и сделок в HubSpotЛогирование звонка в HubSpot, поиск лида
MCP serversОткрыть tools любого из ваших зарегистрированных MCP-серверовУ вас работает MCP-совместимый tool-сервер, и вы хотите, чтобы агент использовал его tools в разговоре

Call Forwarding

Передача звонков человеку при выполнении определённых условий.

НастройкаОписаниеПример
NameОбязательно. Имя человека или отдела"Sales Manager"
Forwarding NumberДефолтный номер для передачи"+49 123 456 789"
Trigger ConditionКогда агент должен передать"Customer asks for manager or issue cannot be resolved"
Conditional Routing NumbersМаппинг условие-номер для маршрутизации{"billing": "+49 111 222", "technical": "+49 333 444"}

Как это работает:

  1. Во время разговора AI оценивает Trigger Condition.
  2. Если заданы conditional routing numbers, совпадающее условие определяет, на какой номер звонить.
  3. Иначе используется Forwarding Number.
  4. Агент сообщает звонящему о передаче.
  5. Звонок переадресуется — если не отвечают, он возвращается к агенту.
подсказка

Можно добавить несколько tools Call Forwarding под разные отделы — один для «Sales» и другой для «Technical Support» с разными условиями и номерами.

Google Calendar

Подключите свой Google Calendar, чтобы агент мог проверять доступность и записывать на приём во время звонков.

Настройка:

  1. Сначала откройте IntegrationCalendars и подключите свой Google-аккаунт.
  2. Добавьте tool Google Calendar на вкладку Actions агента.
  3. Выберите используемый календарь.
  4. Настройте параметры доступности.
НастройкаОписаниеДефолт
CalendarОбязательно. Какой календарь использоватьВаш основной календарь
TimezoneЧасовой пояс для записей (формат IANA)Автоопределение
Work Start TimeНачало рабочих часов9:00
Work End TimeКонец рабочих часов18:00
Slot DurationДлительность записи в минутах30
Working DaysДоступные дни неделиПонедельник–пятница
Buffer Between AppointmentsБуфер между записями (0–60 мин)0

Поддерживаемые длительности слотов: 15, 30, 45, 60, 75, 90, 105, 120 минут.

подсказка

Точно настройте свои рабочие часы и дни — агент будет предлагать только слоты внутри настроенной доступности.

Outlook Calendar

Подключите свой Outlook Calendar для записи на приём во время звонков. Работает так же, как Google Calendar.

Настройка:

  1. Сначала откройте IntegrationCalendars и подключите свой Outlook-аккаунт.
  2. Добавьте tool Outlook Calendar на вкладку Actions агента.
  3. Выберите используемый календарь.
  4. Настройте параметры доступности.

Настройки идентичны Google Calendar (timezone, рабочие часы, длительность слота, рабочие дни, буфер).

Agent Transfer

Передача звонка другому голосовому агенту на вашем аккаунте. Полезно, когда у вас есть специализированные агенты для разных отделов.

НастройкаОписание
Target AgentОбязательно. Выберите, какому агенту передавать
Trigger ConditionКогда передавать (например, «Caller asks about technical support»)

Пример: Receptionist-агент передаёт звонящих sales-агенту, когда они спрашивают про цены, или support-агенту, когда у них техническая проблема.

HubSpot CRM

Чтение и запись в ваш HubSpot CRM во время звонка. Позволяет агенту логировать взаимодействия, искать контакт по телефону или пушить обновления сделок без необходимости писать скрипты для API-вызовов.

Настройка:

  1. Откройте страницу Integrations и подключите свой HubSpot-аккаунт.
  2. Добавьте tool HubSpot CRM на вкладку Actions агента.
  3. Выберите, какой пайплайн и свойства агенту разрешено трогать.

После добавления tool AI может сопоставить звонящего с HubSpot-контактом по телефону, получить стадию сделки и обновить поля — всё из живого разговора.

MCP servers

Откройте tools любого MCP-совместимого сервера, который вы подключили к Hanc.AI. Один агент может тянуть из нескольких MCP-серверов; один MCP-сервер может обслуживать несколько агентов.

Настройка:

  1. Подключите свой MCP-сервер(ы) один раз в IntegrationMCP servers. Полные шаги регистрации см. на отдельной странице MCP Servers.
  2. Добавьте запись MCP servers на вкладку Actions этого агента — в выпадающем списке Add Action она сгруппирована под Live call.
  3. Включите те из ваших зарегистрированных подключений, к которым этот агент должен иметь доступ.
  4. Добавьте короткую инструкцию «When to use it», чтобы агент знал, когда тянуться к этим tools.

Агент переоткрывает набор tools каждого включённого MCP-сервера в начале каждого звонка, поэтому изменения, которые вы делаете на стороне сервера, появляются автоматически на следующем звонке. Tools переименовываются с префиксом-label подключения, чтобы похоже названные tools с разных серверов не сталкивались.

API Tool RAG

Подключение к внешним API для получения реал-тайм информации во время звонков — искать заказы, проверять остатки, верифицировать аккаунты или получать любые данные, доступные через API.

НастройкаОписаниеПример
NameОбязательно. Имя tool"Order Lookup"
Description / When to UseОбязательно. Когда запрашивать API"Customer asks about order status"
API URLОбязательно. Эндпоинт API. Может включать {placeholder}-токены, которые будут заменены значениями из Body Parameters Schema (см. ниже)."https://api.yourshop.com/orders/{order_id}"
HTTP MethodОбязательно. HTTP-методGET, POST, PUT, DELETE, PATCH
Loading MessageЧто говорит агент в ожидании"Let me check that for you..."
TimeoutМаксимальное время ожидания (мс)5000 (дефолт)
HeadersСтатические HTTP-заголовки, отправляемые с каждым запросом{"Authorization": "Bearer KEY"}
Query ParametersСтатические query-параметры, добавляемые к каждому запросу{"apiVersion": "v2"}
Body Parameters SchemaОбязательно. JSON Schema, описывающая аргументы, которые AI должен извлечь из разговора и передать tool. См. Написание Body Parameters Schema.JSON Schema объект
подсказка

Всегда задавайте Loading Message — тишина во время API-вызовов кажется звонящему сломанной.

примечание

Старый чекбокс «Run on call start» на API Tool RAG заменён выделенной записью Pre fetch. Используйте Pre fetch, когда хотите получить данные до начала разговора; используйте API Tool RAG, когда агент должен решать во время звонка, нужно ли тянуть данные.

Написание Body Parameters Schema

Несмотря на название, Body Parameters Schema — это не сырое тело запроса. Это JSON Schema, описывающая, что AI должен извлечь из разговора и передать вашему tool. В зависимости от HTTP-метода и шаблона URL эти значения попадают в URL, query-строку или JSON-тело:

HTTP-методКуда попадают извлечённые значения
URL содержит {name}Совпадающее значение подставляется в URL
GET, DELETEОставшиеся значения добавляются к URL как ?key=value
POST, PUT, PATCHОставшиеся значения отправляются как JSON-тело
Минимальная структура
{
"type": "object",
"properties": {
"param_name": {
"type": "string",
"description": "What this value is and how the AI should pick it"
}
},
"required": ["param_name"]
}

Корневой type всегда "object". properties перечисляет каждый аргумент. required помечает те, которые AI обязан всегда предоставлять — если клиент ещё не назвал значение, AI спросит перед вызовом tool.

Справочник полей
ПолеНазначение
typeJSON-тип значения: "string", "number", "integer", "boolean", "array", "object"
descriptionСамое важное. Говорит AI, что значит значение, какой формат использовать и когда его предоставлять. По возможности добавляйте примеры.
enumОграничивает значение одним из фиксированного списка. AI мапит естественную речь в ближайшую опцию (например, "the blue one""blue").
minimum, maximumЧисловые границы. AI откажет/обрежет значения вне диапазона.
defaultЗначение, используемое, когда AI не передал это поле. Не обязательно, но документирует неявное значение.
formatПодсказка для валидации, например, "email", "date" (YYYY-MM-DD), "uri".
Примеры

Поиск продукта (только keyword):

{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Product search keyword — e.g. \"phone\", \"laptop\", \"Apple\", \"Samsung\""
}
},
"required": ["query"]
}

Используется с URL https://dummyjson.com/products/search?q={query}&limit=5 и GET: значение query идёт в плейсхолдер URL. В тело ничего не попадает.

Поиск заказа по ID:

{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Order ID the customer is asking about, usually 6 to 10 digits. Ask the customer if not provided."
}
},
"required": ["order_id"]
}

Используется с URL https://api.example.com/orders/{order_id} и GET.

Бронирование с несколькими обязательными полями:

{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "Product ID returned by a previous search_products call."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "How many items to reserve. Default 1."
},
"delivery_method": {
"type": "string",
"enum": ["pickup", "home_delivery", "locker"],
"description": "How the customer wants to receive the item."
},
"customer_email": {
"type": "string",
"format": "email",
"description": "Customer's email for order confirmation. Ask if not provided."
}
},
"required": ["product_id", "delivery_method", "customer_email"]
}

Используется с POST https://api.example.com/reservations: четыре значения идут в JSON-тело. AI спросит у клиента недостающие required-поля перед вызовом tool.

Tool без параметров:

{
"type": "object",
"properties": {}
}

Используйте это, когда эндпоинт полностью статический (например, GET /store/hours) и AI не нужно ничего передавать.

Лучшие практики для голосовых агентов
  • Держите схему плоской. Вложенные объекты и массивы работают, но AI может сбиться, говоря по телефону. Предпочтительно — максимум 3–5 полей верхнего уровня.
  • Всегда пишите description для каждого поля. Включайте примеры (e.g. "phone", "laptop") — примеры направляют AI надёжнее абстрактных определений.
  • Используйте enum, когда у вас есть фиксированный список значений. Это убирает риск того, что AI придумает значения или пошлёт "Electronics" вместо "electronics".
  • Помечайте поле required, только если tool без него не может работать. Всё остальное опционально, и AI пропустит это, когда клиент не упомянул, — без неловких лишних вопросов.
  • Используйте имена в snake_case и точно совпадайте с {placeholder}-токенами в URL.
  • Документируйте поведение для отсутствующих значений в description — например, "Omit if no budget limit", "Default 5".

Live Messaging Actions

(v2.4) Send SMS live и Send Email live позволяют агенту отправить текст или email в середине звонка, пока он ещё разговаривает со звонящим — не только после окончания звонка, как их post-call аналоги. Используйте их, чтобы отправить ссылку, подтверждение записи, код или резюме, с которым звонящий может что-то сделать до того, как повесит трубку.

AI сам запускает эти actions, в моменте, на основе описания action и разговора — так же, как он решает вызвать любой другой live-tool.

ActionСрабатываетОтправляет на
Send SMS liveВо время звонкаТелефонный номер звонящего
Send Email liveВо время звонкаEmail звонящего

Лимит отправок на звонок

Каждый канал ограничен 3 отправками на канал за звонок. Агент может отправить до трёх live-SMS и до трёх live-email за один звонок; четвёртая отправка по каналу отклоняется. Это удерживает болтливый или зациклившийся разговор от спама звонящего.

Матрица отказов

Live-отправка отклоняется (и агенту сообщается причина, чтобы он мог изящно восстановиться), когда:

УсловиеРезультат
Некорректный или отсутствующий email (для Send Email live)Отказ — агент просит звонящего подтвердить email
Некорректный или отсутствующий телефон (для Send SMS live)Отказ — агент просит звонящего подтвердить номер
Тело больше 160 символовОтказ — сообщение слишком длинное для отправки как есть
Достигнут лимит канала (уже 3 отправки за звонок)Отказ — дальнейших отправок по этому каналу нет

Поскольку агент получает причину отказа обратно, он может исправить проблему в разговоре («Could you spell that email for me?») и попробовать снова, а не молча провалиться.

Логирование в CRM timeline

Каждая live-отправка логируется в CRM timeline контакта, так что сообщение, которое агент отправил в середине звонка, показывается рядом с записью звонка — вы можете точно видеть, что было отправлено, по какому каналу и когда.

Умное сцепление формы с каналом

Когда веб-звонящий отправляет форму виджета лишь с некоторыми контактными данными, агент использует только тот канал, который у него реально есть:

  • Звонящий отправил только email → агент запускает Send Email live (никогда SMS).
  • Звонящий отправил только телефон → агент запускает Send SMS live (никогда email).
  • Звонящий отправил оба → агент может использовать любой канал, как того требует разговор.

Это значит, что агент никогда не пытается написать SMS звонящему, который дал только email, или email тому, кто дал только номер — доступные данные формы определяют, какое live-действие на столе.


Пост-звоночные actions

Пост-звоночные actions срабатывают после того, как звонок завершился и цепочка анализа выдала summary, sentiment и извлечённые переменные. Они потребляют данные звонка — они не разговаривают с клиентом.

Доступные actions

ActionНазначение
Send EmailОтправить структурированное резюме команде или клиенту
Send SMSSMS-подтверждение звонящему
Send WhatsAppWhatsApp-сообщение или шаблон (работает внутри и вне 24-часового окна)
API CallЗапушить полный payload звонка во внешний API (CRM, вебхук, ваш data warehouse)

Send Email

НастройкаОписание
NameОбязательно. Идентификатор action
SubjectОбязательно. Тема письма
Message BodyОбязательно. Тело письма — может включать retrieval-переменные
Trigger ConditionКогда отправлять (пусто = всегда)
RecipientsОбязательно. Email-адреса, которые всегда получают письмо
Conditional RecipientsМаппинг условие-получатель

Использование переменных в email:

New lead from phone call:

Name: {{customer_name}}
Email: {{customer_email}}
Interested in: {{selected_plan}}
Notes: {{call_notes}}

Send SMS

НастройкаОписание
NameОбязательно. Идентификатор action
Sender NameОтображаемое имя отправителя
MessageОбязательно. Содержимое SMS (может включать переменные)
Trigger ConditionКогда отправлять
RecipientsОбязательно. Номера, которые всегда получают SMS
Conditional RecipientsМаппинг условие-номер

Send WhatsApp

WhatsApp-сообщения на HANC используют предварительно одобренные шаблоны из централизованного Twilio Content-аккаунта — вы не вставляете Template SID вручную. Редактор action показывает выпадающий список всех шаблонов, которые сейчас активны и одобрены, и вы выбираете один. Плейсхолдеры внутри шаблона ({{1}}, {{2}}, …) затем заполняются inline из переменных звонка или статического текста, который вы маппите в редакторе.

НастройкаОписание
NameОбязательно. Идентификатор action
Trigger ConditionКогда отправлять
RecipientsОбязательно. Номера, которые всегда получают сообщение
Conditional RecipientsМаппинг условие-номер
TemplateОбязательно. Выпадающий выбор предодобренных WhatsApp-шаблонов, синхронизируемых из централизованного Twilio Content-аккаунта. Каждая запись показывает имя шаблона, язык и превью тела, чтобы вы знали, какой выбрать.
Template VariablesДля выбранного шаблона редактор перечисляет каждый плейсхолдер ({{1}}, {{2}}, …) и позволяет смапить его на переменную звонка (см. ниже) или статическую строку.

Доступные переменные звонка, которые можно смапить в плейсхолдеры шаблона:

ПеременнаяОписание
{{call_from}}Телефонный номер звонящего
{{call_to}}Номер, на который звонили
{{call_summary}}AI-сгенерированное резюме звонка
{{call_sentiment}}Sentiment (positive/neutral/negative)
{{call_task_achieved}}Была ли достигнута задача звонка
{{call_transcription}}Полная транскрипция звонка
Почему picker, а не свободный текст

WhatsApp требует, чтобы каждое business-initiated сообщение вне 24-часового customer-service окна использовало предодобренный шаблон. HANC синхронизирует список одобренных шаблонов из общего Twilio Content-аккаунта, так что выпадающий список всегда показывает ровно то, что прямо сейчас разрешено отправить — вы не можете случайно выбрать черновик, отклонённый шаблон или несуществующий SID. Чтобы добавить новый шаблон, свяжитесь с поддержкой; после одобрения WhatsApp он появляется в списке автоматически.

API Call

Пост-звоночный action API Call — это ваш универсальный вебхук в остальную часть вашего стека. Выберите метод, задайте URL — и мы отправим весь payload звонка. Ваш эндпоинт получает структурированный JSON-объект, описывающий, что произошло.

НастройкаОписание
NameОбязательно. Идентификатор action
Trigger ConditionКогда срабатывать (пусто = каждый звонок). Оценивается LLM по транскрипции.
API URLОбязательно. URL эндпоинта API
HTTP MethodОбязательно. GET, POST, PUT, DELETE, PATCH
HeadersОпциональные заголовки запроса
Query ParametersОпциональные query-параметры

Что получает ваш эндпоинт

Для POST / PUT / PATCH ваш эндпоинт получает JSON-объект в теле запроса. Ваши настроенные body-параметры мёрджатся с полным payload звонка:

{
"call_from": "+431234567890",
"call_to": "+439876543210",
"direction": "inbound",
"call_type": "phone",
"call_status": "ended",
"start_timestamp": 1730000000000,
"end_timestamp": 1730000187000,
"duration": 187000,
"transcription": [
{ "speaker": "agent", "content": "Hello…", "timestamp": 1730000001000 },
{ "speaker": "user", "content": "Hi…", "timestamp": 1730000003000 }
],
"call_summary": "Customer asked about pricing…",
"task_achieved": true,
"sentiment": { "sentiment": "positive", "explanation": "…" },
"custom_analysis_data": {
"name": "John",
"email": "john@example.com"
},
"collected_data": { /* in-call form submissions */ },
"transfer_history": [ /* if any agent transfer happened */ ],
"recording_url": "https://…",
"disconnection_reason": "user_hangup",
"is_anonymous": false,
"is_simulation": false,
"created_at": 1730000000000,
"updated_at": 1730000187000
}

Для GET / DELETE те же поля разворачиваются в query-строку — но вложенные значения вроде transcription, sentiment и custom_analysis_data отбрасываются (URL не могут адекватно нести структурированные данные). Используйте POST/PUT/PATCH, если вам нужен транскрипт.

Каждый запрос также получает заголовок X-Correlation-Id для трейсинга и таймаут в 30 секунд.

Pre-fetch vs Post-call API Call
  • Pre fetch шаблонизирует {phone} и т. д. в URL/headers/query/body. Возвращает данные в промпт, перед звонком.
  • Post call API Call отправляет весь дамп звонка в теле или query. Без шаблонизации URL — ваш эндпоинт получает статический URL + динамическое тело.

Retrieval Variables

Retrieval Variables — это кастомные поля данных, которые AI автоматически извлекает из разговоров. Например, агент может зафиксировать имя звонящего, email, номер телефона или любую другую информацию, которую вы определите.

Дефолтные переменные

Каждый новый агент создаётся с двумя дефолтными retrieval-переменными:

ПеременнаяТипОписание
EmailEmailEmail-адрес звонящего
PhonePhoneТелефонный номер звонящего

Они включены по умолчанию и показываются в форме виджета звонка. Их можно редактировать или удалять и добавлять свои кастомные переменные.

Типы переменных

ТипСценарийПример
TextИмена, адреса, заметки, свободный вводИмя клиента, адрес доставки
NumberКоличества, бюджеты, IDКоличество в заказе, размер бюджета
EmailEmail-адреса с валидациейEmail клиента
PhoneТелефонные номера с валидациейТелефон клиента
SelectorВыбор из предопределённых опцийПредпочитаемый тариф (Basic/Pro/Enterprise)
CheckboxДа/нет согласие или подтверждение«I agree to receive marketing emails»

Настройка переменной

ПолеОписаниеПример
Variable NameОбязательно. Идентификатор переменнойcustomer_email
Instructions for AIОбязательно. Инструкции для AI, когда и как извлекать это значение"The customer's email address. Ask if not provided."
Example Format(Опционально) Пример ожидаемого формата"john@example.com"
Options (для Selector)(Только Selector) Список разрешённых опций["Basic", "Pro", "Enterprise"]
Show in FormПоказывать ли это поле в форме виджета звонкаВключено по умолчанию

Show in Form

Когда Show in Form включено, переменная появляется как видимое поле ввода в веб-виджете до и во время звонка. Это позволяет звонящим заполнять свою информацию напрямую, дополнительно к извлечению её AI из разговора.

подсказка

AI естественно спросит недостающую информацию в ходе разговора. Задайте чёткое описание вроде «Customer's email address, ask politely if not provided» — и агент разберётся.


Добавление Tools & Actions

  1. Перейдите на вкладку Actions вашего агента.
  2. Нажмите Add Tool.
  3. Выберите правильную фазу из выпадающего списка — Pre fetch, Live call или Post call.
  4. Настройте параметры.
  5. Сохраните — изменения применятся на следующем звонке.

Все записи перечислены вместе в таблице Actions. Кликните любую строку, чтобы отредактировать, или используйте иконку корзины, чтобы удалить.


Связанное