Вихідні кампанії AI-працівника: AI-дайлер і холодний обдзвін

Як запустити обдзвін роботом: статуси воронки, картка агента, кампанія в AI-дайлері, підсумок розмови в заявці, післядзвінковий вебхук і аналітика. Плюс варіант, коли дзвінки йдуть прямо з кабінету ElevenLabs.

Голосовий агент уміє не лише приймати дзвінки, а й телефонувати сам. Ця сторінка — про вихідний бік: як зібрати кампанію, куди лягає підсумок кожної розмови і що саме ламається найчастіше. Базове налаштування агента описане окремо: AI-працівник на телефоні.

#Два шляхи, і вони не рівноцінні

AI-дайлер CRMBatch calling ElevenLabs
Черга, повтори, години дзвінківу CRMу кабінеті ElevenLabs
Ліміт одночасних розмовналаштовується в кампаніїтільки тарифний
Блокування заявки на час дзвінкаєнемає
Як знаходиться заявказа контекстом дзвінказа останніми 9 цифрами номера
Статистикау воронці CRM разом з іншими заявкамизвіт кампанії окремо

За замовчуванням беріть AI-дайлер: одна система замість двох, і результат одразу у воронці. Batch calling має сенс, коли кампанія вже зібрана на боці ElevenLabs — цей випадок описаний в кінці сторінки.

#Крок 1. Статуси воронки обдзвону

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

КодСтатусГрупа
meeting_bookedЗустріч призначенаПрийнято
interestedЗацікавленийОбробка
send_infoНадіслати матеріалиОбробка
wrong_personНе та людинаОбробка
recallПерезвінОбробка
not_interestedНе цікавоВідміна
no_needНемає потребиВідміна
competitorКористується конкурентомВідміна
do_not_callНе телефонуватиВідміна
invalid_contactНевірний контактПомилка

У промті агента перелічуйте лише ті коди, які він має право ставити: модель поставить рівно те, що ви їй дозволили. Як влаштовані групи й переходи — у статті про статуси.

#Крок 2. Проєкт і база

  1. 01

    Заведіть окремий проєкт під обдзвін

    По ньому кампанія відбирає чергу й по ньому ж фільтрується статистика — холодна база не змішується з робочими заявками.

  2. 02

    Імпортуйте базу

    Заявки → Імпорт з файлу, мапінг колонок на поля CRM: імпорт з Excel і CSV.

  3. 03

    Обов'язково змапте коментар

    У ньому лежить картка компанії — вид діяльності, регіон, сегмент. Саме вона їде агенту ще до першого слова; без неї робот відкриває розмову наосліп.

  4. 04

    Приберіть очевидний брак

    Рядки з поміткою про помилковий номер у реєстрі краще виключити руками: це не номери, а помилки джерела.

#Крок 3. Картка агента під вихідні

Інтеграції → AI-працівник

  • Agent IDз ElevenLabsобов'язкове

    ідентифікатор агента в кабінеті

  • Номер для вихіднихз ElevenLabsобов'язкове

    телефонний номер, з якого дзвонить агент

  • Шлюзпорожньо

    для вихідних кампаній дзвонить сам ElevenLabs, телефонія в розмові не бере участі

  • Проєктвибіробов'язкове

    той самий, з якого набирається черга

  • Менеджер для зустрічейкористувачобов'язкове

    без нього schedule_meeting відмовляє — тобто мета кампанії зривається саме тоді, коли клієнт уже погодився

  • Дозволити збирати кошикпрапорець

    для холодного обдзвону вимкнути: у дзвінку нічого не продається

  • Ліміт розмовисекундиобов'язкове

    із запасом над цільовою тривалістю: обрив по таймауту вбиває виклик set_call_outcome

#Крок 4. Інструменти вихідної розмови

Усі інструменти — POST із заголовком X-Asterisk-Secret; готові адреси зібрані в CRM на сторінці AI-працівника. Для вихідного дзвінка номер клієнта береться з контексту виклику.

ІнструментЩо робить
set_call_outcomeголовний: код статусу плюс нотатка для менеджера. Викликається рівно один раз, перед прощанням
schedule_meetingчас зустрічі, канал (Meet/Zoom), месенджер для посилання, пошта, тема. Ставить статус, призначає менеджера, створює нагадування
update_customerім'я, месенджер, додатковий номер, пошта — викликається одразу, щойно почуто, а не в кінці
schedule_callbackдомовленість передзвонити; у парі зі статусом recall
end_callвбудований інструмент ElevenLabs — тільки після set_call_outcome

Нотатка з set_call_outcome — не другорядне поле. Саме вона, а не статус, є цінністю обдзвону: «не цікаво, бо вже інша система» і «не цікаво, бо немає відділу продажів» — це два різні списки для наступної хвилі. Тому невідомий код статусу нотатку не втрачає: статус можна проставити руками, а переказану роботом причину відновити нема звідки.

#Крок 5. Післядзвінковий вебхук

Settings → Webhooks → Post-call webhook у кабінеті ElevenLabs, авторизація HMAC, секрет — той самий рядок, що в полі «Ключ підпису вебхука» в Інтеграції → ElevenLabs.

Поруч варто ввімкнути «Самостійно забирати історію дзвінків»: раз на пів години CRM сама йде в ElevenLabs по розмови, яких у неї ще немає. Це закриває три випадки — вебхук не налаштували, ввімкнули пізніше за перші дзвінки, доставка загубилась. Дублів не буде: ключ той самий, ідентифікатор розмови.

#Крок 6. Кампанія

AI-дайлер → Створити кампанію

  • Проєктвибіробов'язкове

    звідки набирається черга

  • AI-працівниквибіробов'язкове

    картка агента з кроку 3

  • Одночасних розмовчислообов'язкове

    упирається в ліміт вашого тарифу ElevenLabs: виставлений із запасом, він марнує спроби — відмова в дзвінку рахується невдалою спробою

  • Спроб на заявкучисло

    типово 2–3

  • Інтервали повторівхвилини

    наприклад 60 і 240

  • Дні й годинирозкладобов'язкове

    дзвінок о дев'ятій ранку або о сьомій вечора псує не одну розмову, а репутацію номера

Далі — *Наповнити чергу*: проєкт плюс статус. Черга наповнюється відбором, тому заявка, яка вже пройшла обдзвін і змінила статус, у нову хвилю не потрапить. Монітор кампанії оновлюється раз на кілька секунд і показує, хто саме зараз у розмові.

#Крок 7. Аналітика розмов

У кабінеті агента налаштовуються дві різні речі. Критерії оцінки дають відповідь «чи спрацювала розмова»: чи домовились про конкретні дату й час, чи говорили з тим, хто ухвалює рішення, чи чесно відповів агент на питання «ви робот?», чи припинив після явної відмови.

Збір даних витягає з розмови структуровані поля — яку систему використовують зараз, скільки людей працює з клієнтами, що болить, яке заперечення прозвучало. Це не дублює set_call_outcome: інструмент пише в заявку під час розмови, а аналітика дає зріз по всій кампанії й відповідає на питання «кому дзвонити в наступній хвилі».

#Крок 8. Перевірка до першого дзвінка

  1. Інструмент lookup_customer відповідає й бачить заявку за номером — у відповіді має бути коментар із карткою компанії.
  2. set_call_outcome з тестовим кодом статусу змінює заявку: перевірте історію.
  3. Один живий дзвінок на свій номер кнопкою «Подзвонити AI-працівником» з картки заявки.
  4. У картці після нього є все троє: сам дзвінок із транскриптом, підсумок нотаткою, новий статус в історії.
Відповідь інструментаПричина
403 forbiddenне той Asterisk Secret або заголовок не долетів
not_foundза останніми дев'ятьма цифрами номера заявки немає
unknown_status або status_applied: falseтакого коду статусу в цій CRM немає — поверніться до кроку 1

Якщо дзвінок є, а статусу немає — модель не викликала set_call_outcome. Лікується описом інструмента й порядком у промті, а не повторним запуском кампанії.

#Якщо дзвінки йдуть прямо з ElevenLabs

Коли кампанія зібрана в кабінеті ElevenLabs (batch calling), CRM у наборі номера не бере участі — але результат усе одно може лягати в заявку. Інструменти ті самі, змінюється одне: заявка шукається за номером телефону, за останніми дев'ятьма цифрами, і береться найсвіжіша заявка цього номера. Формат запису значення не має.

Доступ до інструментів дає Asterisk Secret із налаштувань телефонії. Токен вебмайстра тут не підходить: він уміє рівно одне — створити заявку, і статусів наявної не змінює. Секрет живе лише в налаштуваннях інструмента на боці ElevenLabs (сервер-сервер) — у браузер, на лендінг чи в CSV його класти не можна, а його зміна миттєво ламає всі інструменти, які ним користуються.

Дзвінки, зроблені так, наш сервер не бачить, тому єдине джерело записів і транскриптів — вебхук і автозабір історії з кроку 5. Розмови, які вже відбулись до налаштування, дотягуються окремою командою на сервері CRM; повторний запуск безпечний.

#Межі, про які краще знати заздалегідь

  • «Недозвін» робот не ставить. Дзвінок без відповіді — це розмова, якої не було, і жоден інструмент у ній не викликався. Такі номери видно в черзі кампанії як невдалі спроби.
  • Автовідповідач — окремий випадок. Увімкніть його розпізнавання, інакше голосова пошта вислухає весь скрипт і зарахується як розмова.
  • Ціни робот краще не називає. Вартість залежить від кількості користувачів і набору модулів, а холодний дзвінок не встигає з'ясувати ні того, ні того: названа наосліп цифра або відлякує, або потім розходиться з реальною пропозицією.
  • Дзвінок робота — це персональні дані. Запис розмови зберігається, тому на питання «звідки у вас мій номер» у промті має бути чесна відповідь, а на «не телефонуйте більше» — статус do_not_call, який не потрапляє у фільтр наступних хвиль.
  • Робот не приховує, що він робот. На пряме питання відповідає чесно й пропонує перевести на людину — це не лише етика, а й те, що перевіряється критеріями оцінки розмов.