> ## Documentation Index
> Fetch the complete documentation index at: https://revolai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Інтеграції з месенджерами

> Підключіть Telegram, WhatsApp, Instagram та Facebook Messenger

## Підтримувані месенджери

| Месенджер              | Авторизація | Вхідні | Вихідні | Інструменти |
| ---------------------- | ----------- | ------ | ------- | ----------- |
| **Telegram**           | Bot Token   | Так    | Так     | 6           |
| **WhatsApp Business**  | Meta OAuth  | Так    | Так     | 6           |
| **Instagram DM**       | Meta OAuth  | Так    | Так     | 6           |
| **Facebook Messenger** | Meta OAuth  | Так    | Так     | 6           |

## Telegram

Telegram — найпростіша інтеграція: без OAuth, без додаткових SDK. Потрібен лише токен бота від BotFather.

### Налаштування

<Steps>
  <Step title="Створіть бота">
    Відкрийте [@BotFather](https://t.me/BotFather) в Telegram, надішліть `/newbot` і дотримуйтесь інструкцій. Ви отримаєте **токен бота** у форматі `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`.
  </Step>

  <Step title="Додайте інтеграцію">
    Перейдіть в **Інтеграції** → **Додати інтеграцію** → оберіть **Telegram** з категорії Месенджери.
  </Step>

  <Step title="Введіть токен">
    Оберіть компанію, дайте назву інтеграції та вставте токен бота.
  </Step>

  <Step title="Верифікація та збереження">
    Revol перевіряє токен через Telegram Bot API та автоматично налаштовує вебхук. Ваш бот одразу починає отримувати повідомлення.
  </Step>
</Steps>

### Інструменти агента

| Інструмент         | Опис                                                                          |
| ------------------ | ----------------------------------------------------------------------------- |
| `send_message`     | Надіслати текстове повідомлення (HTML або Markdown) з опціональною відповіддю |
| `send_file`        | Надіслати фото, документ, аудіо або відео за публічним URL                    |
| `get_chat_history` | Отримати останні повідомлення з чату                                          |
| `get_chat_info`    | Отримати інформацію про чат/користувача (ім'я, біо, кількість учасників)      |
| `edit_message`     | Редагувати раніше надіслане повідомлення бота                                 |
| `delete_message`   | Видалити повідомлення з чату                                                  |

***

## WhatsApp Business

WhatsApp Business API доступний через Meta Graph API. Потрібен Meta Business акаунт з доступом до WhatsApp Business API.

### Налаштування

<Steps>
  <Step title="Налаштування Meta Business">
    Створіть [Meta Business Account](https://business.facebook.com/) та налаштуйте доступ до WhatsApp Business API.
  </Step>

  <Step title="Додайте інтеграцію">
    Перейдіть в **Інтеграції** → **Додати інтеграцію** → оберіть **WhatsApp Business**.
  </Step>

  <Step title="OAuth">
    Натисніть "Connect with Meta" — ви будете перенаправлені на екран згоди Meta. Авторизуйте доступ до WhatsApp Business акаунту.
  </Step>

  <Step title="Налаштування">
    Введіть Phone Number ID та App Secret. Revol обмінює OAuth-код на довготривалий токен (\~60 днів).
  </Step>
</Steps>

<Note>
  WhatsApp має **24-годинне вікно повідомлень**. Вільні повідомлення можна надсилати лише протягом 24 годин після останнього повідомлення клієнта. Поза цим вікном використовуйте `send_template_message` з попередньо затвердженими шаблонами.
</Note>

### Інструменти агента

| Інструмент              | Опис                                                           |
| ----------------------- | -------------------------------------------------------------- |
| `send_message`          | Надіслати текстове повідомлення у 24-годинному вікні           |
| `send_template_message` | Надіслати затверджений шаблон (працює поза 24-годинним вікном) |
| `send_media`            | Надіслати зображення, документ, відео або аудіо за URL         |
| `get_message_history`   | Отримати історію повідомлень розмови                           |
| `get_contact_info`      | Отримати інформацію профілю контакту                           |
| `mark_as_read`          | Відправити підтвердження прочитання повідомлення               |

***

## Instagram DM

Instagram Direct Messages доступні через Meta Graph API з тим самим OAuth-потоком, що й WhatsApp.

### Налаштування

<Steps>
  <Step title="Прив'яжіть Facebook Page">
    Ваш Instagram Business акаунт має бути прив'язаний до Facebook-сторінки.
  </Step>

  <Step title="Додайте інтеграцію">
    Перейдіть в **Інтеграції** → **Додати інтеграцію** → оберіть **Instagram**.
  </Step>

  <Step title="OAuth">
    Натисніть "Connect with Meta" та авторизуйте доступ до Instagram-акаунту.
  </Step>

  <Step title="Налаштування">
    Введіть App Secret та Verify Token.
  </Step>
</Steps>

### Інструменти агента

| Інструмент            | Опис                                               |
| --------------------- | -------------------------------------------------- |
| `send_message`        | Надіслати пряме повідомлення користувачу Instagram |
| `send_media`          | Надіслати медіа-вкладення в DM                     |
| `get_message_history` | Отримати повідомлення DM-треду                     |
| `get_profile`         | Отримати публічну інформацію профілю Instagram     |
| `get_comments`        | Отримати коментарі до конкретного посту            |
| `reply_to_comment`    | Відповісти на коментар у треді                     |

***

## Facebook Messenger

Facebook Messenger підключається через вашу Facebook-сторінку. Той самий Meta OAuth-потік, що й для WhatsApp та Instagram.

### Налаштування

<Steps>
  <Step title="Facebook-сторінка">
    Вам потрібна Facebook-сторінка, прив'язана до Meta Business Account.
  </Step>

  <Step title="Додайте інтеграцію">
    Перейдіть в **Інтеграції** → **Додати інтеграцію** → оберіть **Facebook Messenger**.
  </Step>

  <Step title="OAuth">
    Натисніть "Connect with Meta" та авторизуйте доступ до сторінки.
  </Step>

  <Step title="Налаштування">
    Введіть App Secret та Verify Token.
  </Step>
</Steps>

### Інструменти агента

| Інструмент              | Опис                                                       |
| ----------------------- | ---------------------------------------------------------- |
| `send_message`          | Надіслати текстове повідомлення користувачу Facebook       |
| `send_template_message` | Надіслати структурований шаблон (кнопки, generic, receipt) |
| `send_media`            | Надіслати зображення, відео, аудіо або файл                |
| `get_message_history`   | Отримати тред розмови                                      |
| `get_profile`           | Отримати профіль користувача за page-scoped ID             |
| `send_buttons`          | Надіслати варіанти швидких відповідей                      |

***

## Потік повідомлень

Незалежно від месенджера, потік обробки ідентичний:

<Steps>
  <Step title="Вхідне повідомлення">
    Платформа месенджера надсилає вебхук в Revol з вмістом повідомлення та інформацією про відправника.
  </Step>

  <Step title="Маршрутизація до агента">
    Revol ідентифікує канал, знаходить призначеного AI-агента та створює або продовжує сесію розмови. Один і той самий відправник завжди потрапляє в той самий тред розмови.
  </Step>

  <Step title="Обробка AI">
    Повідомлення обробляється через workflow агента — LLM-ноди, пошук у базі знань (RAG), виклики інструментів та умови.
  </Step>

  <Step title="Вихідна відповідь">
    Відповідь агента надсилається назад через API того самого месенджера. Користувач бачить відповідь у своєму чаті.
  </Step>
</Steps>

<Tip>
  Повідомлення месенджерів обробляються асинхронно через фонове завдання. Це забезпечує швидку відповідь 200 на вебхук, запобігаючи таймаутам та повторним запитам від платформи месенджера.
</Tip>

## Використання інструментів у workflow-нодах

Інструменти месенджерів працюють як будь-які інші інструменти агента:

1. Підключіть інтеграцію та верифікуйте дані доступу
2. У вкладці **Tools** агента ви побачите створені інструменти
3. Додайте інструменти до **custom node** у workflow-редакторі
4. LLM вирішує, коли їх використовувати, на основі контексту розмови

**Приклад:** Клієнт просить "Надішліть мені брошуру у WhatsApp". Агент використовує `send_media` для надсилання PDF-документа, а потім підтверджує доставку в чаті.

## Безпека вебхуків

| Месенджер | Перевірка                                                           |
| --------- | ------------------------------------------------------------------- |
| Telegram  | Секретний токен у URL вебхука (SHA-256 хеш токена бота)             |
| WhatsApp  | HMAC-SHA256 підпис (заголовок `X-Hub-Signature-256` з `app_secret`) |
| Instagram | HMAC-SHA256 підпис (заголовок `X-Hub-Signature-256` з `app_secret`) |
| Facebook  | HMAC-SHA256 підпис (заголовок `X-Hub-Signature-256` з `app_secret`) |

Усі вебхуки месенджерів обмежені до **120 запитів на хвилину** на канал.
