Інструкція з налаштування Omni-інтеграції для Zoho CRM
Що таке Omni-інтеграція
У класичних інтеграцій сценарій роботи з CRM визначений наперед: поки ваш процес у нього вкладається, усе працює. Omni-інтеграція потрібна там, де у вас щось своє: власне поле, власна умова, власний ланцюжок дій.
Це гнучкий спосіб підключення CRM до UniTalk, де логіку обміну даними ви налаштовуєте самі: які сутності задіяні — включно з користувацькими, за якими правилами шукати клієнта, які поля заповнювати, до яких подій прив’язувати дії. Якщо CRM вміє надсилати вебхуки, працює і зворотний напрямок: подія в CRM запускає дію в UniTalk.
На практиці це виглядає просто: у картці клієнта з’являється кнопка «Зв’язатись», а телефони, email і чати підтягуються у Web Dialer без ручного копіювання.
Гнучкість означає, що інтеграція робитиме рівно те, що ви задасте, — тому налаштовувати її варто послідовно, крок за кроком. Саме так побудована ця інструкція.
Як підключити Omni-інтеграцію?
Передусім потрібно встановити програму UniTalk з боку ZohoCRM, для цього вгорі на панелі інструментів натисніть на шестірню і в блоці “Канали” виберіть пункт “Телефонія”

На сторінці, що відкрилася в полі пошуку, введіть “UniTalk” і клікніть за програмою

На сторінці програми натисніть “Встановити” і у спливаючому вікні підтвердіть встановлення нашої програми.

Тепер, коли наша програма встановлена в ZohoCRM, можна приступити до підключення та налаштування Omni-інтеграції
Для підключення Omni-інтеграції перейдіть до особистого кабінету у розділі “API та автоматизація” → “Omni-інтеграції”.
Також ви можете відкрити сторінку за посиланням:
https://my.unitalk.cloud/api-automation/omni-integrations
І натисніть на “Підключити” біля потрібної Вам інтеграції

Налаштування інтеграції
У цій інструкції детально розглянемо варіант підключення Omni-інтеграції з CRM-системою ZohoCRM
1. Підключення
Для авторизації в СРМ натисніть кнопку “Підключити”

Після натискання “Підключити” вас перенаправить на сторінку авторизації в ZohoCRM, введіть пошту адміністратора СРМ та натисніть “Далі”

На останньому етапі потрібно підтвердити доступ для UniTalk до Вашого облікового запису Zoho та натиснути “Прийняти”

2. Налаштування сутностей Інтеграції

Перша вкладка після розділу «Налаштування підключення» — «Сутності інтеграції».
На цій вкладці необхідно вибрати сутності CRM-системи, з якими працюватиме Omni-інтеграція, та зберегти налаштування. Для вибраних сутностей інтеграція зможе виконувати пошук, створення та оновлення записів у процесі роботи.
Доступні сутності для Zoho CRM
Omni-інтеграція підтримує роботу зі стандартними сутностями Zoho CRM:
- Постачальники
- Зустріч
- Завдання
- Замовлені позиції
- Замовлення на закупівлю
- Замовлення на продаж
- Дзвінок
- Кампанія
- Комерційні пропозиції
- Контакт
- Контрагент
- Лід
- Звернення
- Позиції цінової пропозиції
- Позиції закупівлі
- Позиції рахунку
- Прайс-листи
- Продукти
- Рішення
- Угода
- Рахунки
Важливе правило інтерфейсу
На всіх наступних вкладках особистого кабінету (у налаштуваннях логіки, профілях дій та динамічних значеннях) відображатимуться лише ті сутності, які ви активували на цьому етапі.
⚠️ Критично важливе попередження: Якщо в майбутньому ви вирішите змінити список активних сутностей (додати нову або вимкнути наявну), система з міркувань безпеки автоматично переведе в статус OFF усі налаштовані профілі дій, вхідні вебхуки та імпорти. Це зроблено для захисту ваших даних, оскільки попередні сценарії можуть стати некоректними. Після зміни списку сутностей вам потрібно буде зайти в налаштування та знову ввімкнути необхідні профілі.
3. Розділ «Загальні налаштування»

На цій вкладці ви знайдете основні параметри керування системою. Вона містить:
- Загальні налаштування інтеграції: активацію та основні правила взаємодії між системами.
- Загальні налаштування сутностей інтеграції: логіку поведінки створюваних або оновлюваних елементів CRM.
- Розташування операторів: прив’язку та відповідність менеджерів між особистим кабінетом UniTalk і CRM.
Візуалізацію дзвінків у CRM.
Функція «Показувати стандартний віджет CRM під час вхідних/вихідних дзвінків»: Якщо API вашої CRM-системи підтримує відображення стандартного спливаючого вікна (попапу) під час дзвінків і цей прапорець увімкнено, система автоматично показуватиме його оператору.
Важливо: Якщо API конкретної CRM не підтримує таку функцію, ці два прапорці просто не відображатимуться в інтерфейсі налаштувань.
У Zoho CRM цей попап має такий вигляд:

Додаткові налаштування відображення в SIP-клієнті
- Прапорець «Відображати відповідального під час вхідних дзвінків у SIP-клієнті»: Ця функція працює аналогічно однойменному налаштуванню в наших попередніх інтеграціях. Якщо її ввімкнути, оператор під час вхідного дзвінка бачитиме в SIP-клієнті ім’я менеджера, який закріплений за цим клієнтом в CRM.
- Налаштування «Пріоритет сутностей для “липучки” та відповідального в SIP-клієнті»: Натискання цієї кнопки додає поле вибору (випадаючий список). У ньому ви можете вибрати одну із сутностей інтеграції, які були активовані раніше на другій вкладці.
Як працює пріоритет: Чим вище в списку розташоване поле з вибраною сутністю (угода, лід, контакт тощо), тим вищий пріоритет вона має для системи під час визначення відповідального менеджера та спрацювання функції «липучки».

3.1. Розділ налаштувань для кожної із сутностей інтеграції

Для кожної окремої сутності, яку ви активували на вкладці «Сутності інтеграції», система автоматично створить окремий блок керування. Ці блоки відображатимуться у форматі: «Сутність — назва_сутності» (наприклад: «Сутність — Дзвінок», «Сутність — Лід» тощо). Усередині кожного такого блоку ви зможете детально налаштувати логіку роботи саме з цим типом даних.
Історія дзвінків і синхронізація із сутностями

Прапорець «Зберігати в історію дзвінків»: Якщо цю функцію ввімкнено, в інформації про кожен дзвінок зберігатимуться детальні дані про знайдену або створену сутність: її ID, тип, ID відповідального менеджера та назва. Після цього в «Історії дзвінків» UniTalk у контекстному меню біля номера абонента з’явиться пряме посилання на відповідну сутність у CRM, її назва та ім’я відповідального менеджера.

Посилання для швидкого пошуку сутностей будуть повністю відсутні в інтерфейсі у двох випадках:
- якщо інтеграцію з CRM наразі повністю вимкнено;
- якщо конкретна сутність (наприклад, лід або компанія) не була активована вами раніше на другій вкладці налаштувань.
Налаштування та можливості Web Dialer

У розділі налаштувань кожної сутності вам доступні два важливі параметри для роботи з Web Dialer:
- Прапорці «Надсилати в Web Dialer під час вхідних/вихідних дзвінків»: Якщо функцію ввімкнено, то під час дзвінків безпосередньо у Web Dialer відображатимуться назва знайденої сутності, ім’я відповідального менеджера та пряме посилання на цю сутність у CRM.
- Прапорець «Показувати кнопку “Зв’язатися” в CRM»: Якщо активувати цей прапорець, то під час використання Web Dialer на сторінці відповідної сутності в CRM з’явиться кнопка «Зв’язатися».
Призначення функціоналу: Після натискання кнопки «Зв’язатися» система автоматично збирає всю доступну інформацію про клієнта (телефонні номери, email, ID наявного чату або дані для створення нового) і передає її до дайлера. Це дає змогу оператору миттєво зателефонувати або написати клієнту безпосередньо з інтерфейсу Web Dialer.
Це сучасна заміна звичайного дзвінка за кліком із CRM, яка працює стабільно, не потребує розробки складних і дорогих індивідуальних CRM-віджетів, а також дає змогу надсилати повідомлення в чати, SMS і Viber безпосередньо через Web Dialer.
Правила пошуку сутностей за замовчуванням для дзвінків і чатів

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

Позначте прапорцями ті поля, які вам потрібні в динамічних значеннях для обробки подій.
Робота з полями CRM і вибір динамічних значень
У сутностях CRM зазвичай міститься велика кількість додаткових або застарілих полів, які не використовуються в роботі телефонії. Щоб система працювала швидко та стабільно, під час отримання даних через API ми не зчитуємо абсолютно всі поля поспіль.
Поля, на яких уже побудована внутрішня логіка інтеграції, система завжди отримує автоматично — у списку вибору ви їх не побачите.
Важливе правило налаштування: Усі інші додаткові поля, які потрібні вам для роботи, необхідно самостійно позначити прапорцями.
Це критично важливо не лише для обробки подій, а й для подальшого налаштування інтеграції на всіх наступних вкладках, оскільки там використовуються динамічні значення. Якщо тут не позначити потрібне поле, воно буде просто недоступним.
Які поля доступні за замовчуванням (без позначення прапорців):
- ID сутності.
- Час створення сутності.
- Час останнього оновлення сутності.
- Відповідальний за сутність.
- Основні текстові поля: ім’я, прізвище, по батькові, назва, тема (зазвичай доступні за замовчуванням, але залежно від CRM можуть бути винятки).
- Основний телефон.
- Основна електронна адреса (email).
- «Усі телефони» — наше системне псевдополе (створюється автоматично в коді UniTalk), у яке збираються та записуються номери з усіх телефонних полів сутності.
- «Усі email» — аналогічне системне псевдополе, у яке збираються електронні адреси з усіх полів сутності.
- Воронка.
- Посилання на іншу сутність — поле, значенням якого є ID пов’язаного елемента (наприклад, зв’язок угоди з контактом). Зазвичай воно має назву відповідної сутності: «Контакт», «Угода» тощо.
- Усі поля, що мають тип даних «телефон».
- Усі поля, що мають тип даних «email».
- Усі поля, які є обов’язковими для заповнення під час створення сутності в CRM.
Підказка для перевірки: Якщо якогось із перелічених вище полів немає у списку динамічних значень за замовчуванням, найімовірніше, воно відсутнє у вашій CRM або API системи не повертає його під час пошуку. Якщо у вас виникнуть сумніви, ви завжди можете звернутися до нашої служби підтримки для додаткової технічної перевірки.
3.2. Розділ «Розташування операторів»
Дає змогу налаштувати відповідність між користувачами CRM, користувачами UniTalk, SIP-лініями та мобільними номерами операторів.

Налаштування «Розташування операторів»
У цьому розділі ви налаштовуєте відповідність між менеджерами у вашій CRM та користувачами системи UniTalk. Налаштування виконано у вигляді таблиці, де кожен стовпець відповідає за певні дані:
- 1-й стовпець (Ім’я користувача в CRM): Тут відображається або вибирається конкретний менеджер із вашої CRM-системи.
- 2-й стовпець (Користувачі UniTalk): Тут у випадаючому списку вибираються відповідні користувачі UniTalk. Одного й того самого користувача UniTalk можна вказати в таблиці лише один раз. Обмеження: Мультивибір, що дає змогу вибрати одразу кількох користувачів UniTalk, які відповідають цьому менеджеру.
- 3-й стовпець (SIP-лінії): Тут також у випадаючому списку вибираються SIP-лінії, які будуть закріплені за цим користувачем. Одну й ту саму SIP-лінію можна додати до таблиці лише один раз. Обмеження: Мультивибір для вибору SIP-ліній. За одним менеджером можна закріпити одразу кілька SIP-ліній.
- 4-й стовпець (Мобільні номери): Поле для введення мобільних номерів телефонів операторів. Якщо номерів кілька, вказуйте їх через кому. Обмеження: Номери мають бути дійсними GSM-номерами. Один і той самий номер телефону можна вказати в таблиці лише один раз.
4. Налаштування профілів дій

Налаштування профілів дій
Профілі дій — це розділ автоматизації в Omni-інтеграціях. Вони визначають:
- як саме система шукає сутності в CRM;
- що вона виконує з ними після пошуку;
- за якими правилами заповнюються поля;
- як за замовчуванням розподіляється графік відповідальних менеджерів.
Керування профілями дій відбувається на трьох наступних вкладках:
- Інтеграція дзвінків
- Інтеграція чатів
- Інтеграція обробки подій
4.1. Вкладки «Дзвінки» та «Чати» (стандартні події)
Тут налаштовуються профілі дій для базових системних подій.
Для чатів доступні події:
- Початок чату
- Завершення чату
- Оновлення полів чату
Для дзвінків доступні події:
- Вхідний дзвінок — початок
- Вхідний дзвінок — відповідь
- Вхідний дзвінок — завершення
- Вихідний дзвінок — початок
- Вихідний дзвінок — відповідь
- Вихідний дзвінок — завершення
- Запланований C2C (Click-to-Call)
Ключові відмінності логіки обробки дзвінків у порівнянні зі старими інтеграціями
Click-to-Call (C2C)
У старих інтеграціях під час запланованого C2C-дзвінка сутності створювалися автоматично, а до них додавався стандартний коментар.
В Omni-інтеграціях така автоматизація відсутня: тепер ви самостійно налаштовуєте сценарій обробки дзвінка та визначаєте, які дії повинні виконуватися.
Розділення подій
Раніше всі шість подій дзвінка оброблялися в межах одного загального алгоритму.
Створення сутностей для вихідних дзвінків керувалося одним загальним налаштуванням, а сам алгоритм виконувався лише один раз за дзвінок:
- у момент відповіді;
- або, якщо відповіді не було, після завершення дзвінка.
Гнучкість налаштування
У новій інтеграції кожна подія дзвінка налаштовується незалежно.
За потреби можна створювати сутності для кожної події:
- до двох разів для вхідного дзвінка;
- до трьох разів для вихідного дзвінка.
Однак рекомендується використовувати цю можливість обдумано, щоб уникнути:
- дублювання даних;
- створення зайвих сутностей;
- можливих помилок у CRM.
Рекомендації щодо налаштування профілів дій
Для стабільної роботи системи налаштовуйте профілі дій таким чином:
- Для подій відповіді на дзвінок додайте умову, щоб профіль виконувався лише у випадку, якщо на дзвінок відповіли.
- Для подій завершення дзвінка додайте умову, щоб профіль виконувався лише у випадку, якщо на дзвінок не відповіли.
4.2. Вкладка «Інтеграція: обробка подій»
Ця вкладка призначена для створення власних сценаріїв автоматизації. Натиснувши кнопку «Додати», ви можете створити будь-яку кількість профілів дій, присвоївши кожному зрозумілу та зручну назву.

Важливо: профілі, створені на цій вкладці, можна використовувати лише в загальних обробниках подій UniTalk, вибравши тип дії «Виконати дії через Omni-інтеграцію».
Підказка: у загальних обробниках подій також доступні профілі, створені на вкладках «Дзвінки» та «Чати». Під час вибору такого профілю замість користувацької назви буде відображатися назва відповідної системної події, наприклад «Вхідний дзвінок — відповідь».
Доступні динамічні значення на вкладках
Набір доступних динамічних значень залежить від вкладки та типу події.
Вкладка «Обробка подій»
На цій вкладці доступні практично всі динамічні значення системи, за винятком:
- блоку «Omni-інтеграція — дані авторизації»;
- застарілих значень категорії «CRM»
Вкладка «Чати»
Для сценаріїв обробки чатів доступні такі групи динамічних значень:
- Різне;
- Чат;
- Аналітика (стандартна);
- Omni-інтеграція;
- Контактна книга Unitalk;
- В історії дзвінків існує дзвінок;
- Дані про перший дзвінок;
- Дані про останній дзвінок.
Вкладка «Дзвінки»
Для подій дзвінків список доступних значень автоматично формується залежно від типу події.
Подія замовлення Click-to-Call (C2C)
Доступні групи:
- Різне;
- Click to call;
- Аналітика;
- Omni-інтеграція;
- Контактна книга Unitalk;
- В історії дзвінків існує дзвінок;
- Дані про перший дзвінок;
- Дані про останній дзвінок.
Події вихідних дзвінків
Доступні групи:
- Різне;
- Дзвінок;
- Omni-інтеграція;
- Контактна книга Unitalk;
- В історії дзвінків існує дзвінок;
- Дані про перший дзвінок;
- Дані про останній дзвінок.
Події вхідних дзвінків
Доступний найбільш повний набір динамічних значень, що включає:
- Різне;
- Дзвінок;
- Click to call;
- Аналітика;
- Omni-інтеграція;
- Голосове меню;
- Обдзвін;
- Дані номера обдзвону;
- Голосовий робот;
- Контактна книга Unitalk;
- В історії дзвінків існує дзвінок;
- Дані про перший дзвінок;
- Дані про останній дзвінок.
Зверніть увагу. Незважаючи на те, що система фільтрує доступні поля залежно від події, деякі значення можуть відображатися до моменту їх фактичного заповнення.
Наприклад, на початку дзвінка ви побачите поле «Тривалість дзвінка», хоча воно стане доступним лише після завершення розмови.
4.3. Статуси та відображення профілів дій
Відображення профілів дій та їхніх статусів залежить від обраної вкладки.
Вкладки «Дзвінки» та «Чати»
На цих вкладках завжди відображається повний список стандартних подій. Назва кожного профілю збігається з назвою відповідної події, наприклад «Вхідний дзвінок — відповідь».
Поруч із назвою профілю відображається один із трьох статусів:
- Не налаштовано — для цього профілю ще не задано логіку обробки подій.
- ON — профіль налаштований, увімкнений і виконує всі задані дії.
- OFF — профіль налаштований, але тимчасово вимкнений. Поки профіль перебуває в цьому стані, дії, пов’язані з цією подією, виконуватися не будуть.
Вкладка «Обробка подій»
На цій вкладці створюються користувацькі (кастомні) профілі автоматизації, тому принцип відображення відрізняється.
- Замість назви системної події відображається ім’я профілю, яке було вказано під час його створення.
- Для таких профілів доступні лише два статуси:
- ON — профіль активний і виконує налаштовану логіку.
- OFF — профіль вимкнений і тимчасово не виконується.
Статус «Не налаштовано» для користувацьких профілів відсутній, оскільки кожен профіль створюється вручну та спочатку призначений для реалізації певного сценарію автоматизації.
5. Імпорт сутностей
Даний розділ використовується для імпорту сутностей із CRM, фільтруючи частину з них за умовами полів сутностей, а також для виконання обробника подій для тих полів, які відповідають заданим умовам.

Сприводу налаштувань :

Імпорт сутностей із CRM
Імпорт призначений для автоматичного пошуку сутностей у CRM та передачі їх в обробники подій за заданими правилами.
Загальні налаштування
Назва профілю імпорту.
Автозапуск
Вмикає автоматичний запуск імпорту відповідно до обраного розкладу.
Налаштування стає доступним лише після збереження профілю імпорту.
Коли запускати імпорт
Визначає розклад автоматичного запуску. Доступні два режими.
- Щодня у вказаний час
Імпорт буде запускатися один раз на день у вибраний час. Такий режим зручно використовувати, наприклад, для щоденної передачі нових номерів у кампанію обдзвону. - Через заданий інтервал
Імпорт запускається із зазначеною періодичністю (у хвилинах). Відлік починається з моменту завершення попереднього запуску цього профілю.
Наприклад:
- угоди з воронок 1 і 2 автоматично передаються в кампанію обдзвону №1;
- угоди з воронки 3 — у кампанію обдзвону №2.
Важливо. Одночасно може виконуватися лише один профіль імпорту. Якщо в момент запланованого запуску вже працює інший імпорт, новий запуск очікуватиме своєї черги.
Тому під час запуску за інтервалом фактичний час виконання може відрізнятися від заданого (наприклад, замість 15 хвилин імпорт може розпочатися через 20–25 хвилин).
Пошук за полем із часом
Поле CRM, за яким виконується пошук сутностей.
Для вибору доступні лише поля типу «Дата і час».
Час від / Час до
Діапазон часу, у межах якого будуть шукатися сутності.
Можна вказати:
- тільки початок періоду;
- тільки кінець періоду;
- обидві межі одночасно.
Підтримуються як точні дата та час, так і відносні значення, наприклад:
- за останні 30 хвилин;
- за останні 24 години;
- за останні 7 днів.
Налаштування обробки
Обробники подій
Дозволяє вибрати до 10 обробників подій, які будуть послідовно виконуватися для кожної знайденої сутності.
Знайти пов’язані сутності перед виконанням дій
Перед запуском обробників система додатково завантажує пов’язані сутності.
Наприклад, під час обробки угоди автоматично буде отримано пов’язаний контакт, що дозволить використовувати його номер телефону або інші дані в обробниках.
Зберегти час обробки сутності в поле
Записує в обране поле поточні дату та час передачі сутності в обробку.
Фіксується саме момент постановки сутності в чергу на обробку, а не завершення виконання обробників.
Повторно обробити сутність, якщо минуло більше ніж N днів
Дозволяє повторно запускати обробку вже оброблених сутностей.
Якщо з моменту попередньої обробки минуло більше зазначеної кількості днів, сутність буде оброблена повторно. В іншому випадку вона буде пропущена.
Налаштування API
Пауза між запитами до API CRM (сек)
Задає затримку між послідовними запитами до API CRM.
Обов’язковий параметр.
Допустимі значення: від 1 до 15 секунд.
Винятки
Нічого не робити, якщо виконуються умови
Дозволяє задати умови, за виконання яких знайдена сутність буде пропущена та не потрапить в обробку.
Це зручно, якщо необхідно виключити певні категорії записів з автоматичної обробки.
Ручний запуск
Після збереження профілю стає доступною кнопка «Почати імпорт», яка дозволяє запустити імпорт вручну в будь-який момент.
Принцип роботи імпорту
Після запуску імпорт виконує такі дії:
- Виконує пошук сутностей у CRM за обраним полем типу «Дата і час» з урахуванням заданого діапазону.
- Завантажує знайдені сутності пакетами по 50 записів за один запит API.
- Послідовно додає кожну знайдену сутність у чергу обробки.
- Перевіряє поле «Час обробки»:
- якщо поле порожнє — сутність передається в обробку;
- якщо поле заповнене й повторна обробка не налаштована — сутність пропускається;
- якщо налаштована повторна обробка, але з попередньої обробки минуло менше зазначеної кількості днів — сутність також пропускається;
- якщо минув більший зазначений період — сутність буде оброблена повторно.
- Перевіряє умови з блоку «Нічого не робити, якщо виконуються умови». У разі збігу хоча б однієї умови подальша обробка припиняється.
- Якщо увімкнено опцію «Знайти пов’язані сутності перед виконанням дій», додатково завантажує пов’язані записи (наприклад, контакт, пов’язаний з угодою).
- Записує поточний час у поле «Час обробки».
- Послідовно виконує всі обрані обробники подій.
Такий механізм дозволяє безпечно автоматизувати обробку даних CRM, уникати повторної обробки записів, контролювати навантаження на API та гнучко налаштовувати сценарії автоматизації.
6. Вхідні вебхуки
У цьому розділі налаштовується обробка вхідних вебхуків із використанням обробників подій.
Налаштування виконується окремо для кожної сутності, обраної в розділі «Сутності інтеграції». Для кожної сутності можна створити власний профіль обробки та призначити один або кілька обробників подій, які будуть запускатися під час надходження вебхука.
Принцип роботи
Механізм роботи вхідних вебхуків відрізняється від реалізації, яка використовувалася в попередніх версіях інтеграцій.
У старих інтеграціях CRM передавала у вебхуку номер телефону. Система знаходила відповідний контакт або лід за цим номером і, залежно від налаштованого сценарію, виконувала необхідну дію — наприклад, додавала номер у кампанію обдзвону або видаляла його з неї.
У новому механізмі кожен вебхук прив’язаний до конкретної сутності CRM. Тому замість номера телефону CRM повинна передавати ідентифікатор (ID) сутності, для якої був викликаний вебхук.
Наприклад:
- якщо вебхук налаштований для угод — необхідно передавати ID угоди;
- якщо вебхук налаштований для контактів — необхідно передавати ID контакту;
- якщо вебхук налаштований для лідів — необхідно передавати ID ліда.
Після отримання запиту система виконує пошук сутності за переданим ідентифікатором.
За потреби вона також може завантажити пов’язані сутності (наприклад, контакт, пов’язаний з угодою) та використовувати їхні дані під час виконання обробників подій.
6.1. Вимоги до вебхука
Вебхук може бути надісланий одним із двох HTTP-методів:
- GET;
- POST.
Запит обов’язково повинен містити ідентифікатор сутності, який може передаватися одним із таких способів:
- у параметрах URL;
- у тілі запиту у форматі JSON;
- у тілі запиту у форматі form-data;
- у тілі запиту у форматі application/x-www-form-urlencoded.
Ідентифікатор повинен передаватися у параметрі з назвою:
- id;
- entityId.
Регістр символів не враховується, тому такі варіанти є рівнозначними:
- id;
- ID;
- Id;
- entityId;
- EntityId;
- ENTITYID.
Якщо CRM не дозволяє використовувати зазначені назви параметрів, за потреби може бути реалізована підтримка додаткових назв.
6.2. Створення профілю обробки
Для створення нового профілю необхідно натиснути кнопку «+» у картці відповідної сутності.
Після створення профілю необхідно:
- Обрати один або кілька обробників подій.
- Зберегти налаштування.
Під час надходження вебхука для цієї сутності послідовно виконуватимуться всі обрані обробники.
Кількість обробників подій, призначених одному профілю, не обмежена, що дозволяє створювати складні сценарії автоматичної обробки даних.

Після налаштування натисніть кнопку «Зберегти», яку можна вказати в налаштуваннях CRM як URL вебхука, після чого профіль буде створено, і з’явиться посилання.

Щоб профіль обробника почав працювати, його необхідно додатково увімкнути за допомогою перемикача; там само його можна вимкнути.
Чи увімкнений профіль, можна одразу побачити праворуч від назви профілю вхідного вебхука.

Налаштування вхідних вебхуків у Zoho CRM
У Zoho CRM налаштування вхідних вебхуків інтегроване в загальну систему автоматизації бізнес-процесів — Workflow Rules (Правила робочого процесу). Саме через цей механізм створюються та налаштовуються сценарії обробки вхідних запитів.
Важливо: функціональність вебхуків недоступна на тарифах Free та Trial. Для використання вхідних вебхуків потрібна платна ліцензія Zoho CRM Professional або Enterprise.
Перехід до налаштувань Workflow Rules
- В особистому кабінеті Zoho CRM відкрийте загальні налаштування . Для цього натисніть на значок шестерні у правому верхньому куті екрана.
- У розділі Automation (Автоматизація) виберіть пункт Workflow Rules (Правила робочого процесу).

Створення правила
- Натисніть кнопку Create Rule (Створити правило).

- У полі Module (Модуль) виберіть тип сутності. Він обов’язково має збігатися з типом сутності, URL якої буде використовуватися у вхідному вебхуку на стороні UniTalk.
Наприклад, якщо в особистому кабінеті UniTalk профіль створено для сутності Contacts, то в Zoho CRM також необхідно вибрати модуль Contacts.
- У полі Rule Name вкажіть довільну назву правила. Рекомендується використовувати зрозумілу назву, яка дозволить легко визначити призначення правила в майбутньому.

- Натисніть «Далі».
- У блоці «Коли» вкажіть, за якої події має запускатися правило. Наприклад, виберіть On a record action, щоб правило виконувалося під час створення або редагування запису.
- Далі в блоці Conditions можна задати умови для полів сутності. Наприклад, налаштувати запуск вебхука лише в тому випадку, якщо статус ліда або угоди змінився на певне значення.

- До створеної умови додайте миттєву дію. Для цього у випадаючому списку Instant Actions виберіть Webhook.

- У вікні налаштування параметрів вебхука:
- Вкажіть назву для цієї дії.
- Виберіть HTTP-метод: GET або POST.
- Вставте раніше скопійований URL вебхука.
- Потім налаштуйте передачу ідентифікатора клієнта одним із двох способів.

Спосіб 1. Передача через параметр запиту
- Додайте параметр id.
- Як значення параметра виберіть ідентифікатор сутності з випадаючого списку (через символ #), наприклад Lead Id або Deal Id.

Спосіб 2. Передача даних у тілі запиту (для методу POST)
Якщо ви вибрали метод POST, ви також можете налаштувати Request Body таким чином:
- Перемкніть режим на User-defined.
- Виберіть формат даних JSON.
- Самостійно сформуйте список полів, які будуть передаватися в UniTalk.
За допомогою символу # ви можете додати в тіло запиту будь-які динамічні поля CRM-картки, наприклад:
- номер телефону;
- адресу електронної пошти (Email);
- відповідального менеджера;
- UTM-мітки;
- та інші поля сутності.
Це дозволить UniTalk миттєво отримати повний контекст щодо ліда або угоди та виконати необхідний сценарій обробки даних.


Висновок
Ви пройшли повний шлях налаштування Omni-інтеграції: від встановлення програми в Zoho CRM до профілів дій, імпорту сутностей і вхідних вебхуків через Workflow Rules. Стандартні сценарії вже готові до роботи, а якщо у вас з’явиться нетипова задача — інтеграція дає всі інструменти, щоб зібрати власний сценарій без звернення до розробників.