> For the complete documentation index, see [llms.txt](https://docs.suvvy.ai/ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.suvvy.ai/ru/kanaly/chaty-dlya-saita/savvi-vidzhet.md).

# Савви Виджет

Савви Виджет позволяет автоматизировать общение с клиентами напрямую с сайта без необходимости подключения промежуточных интеграций.

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2F2wCTR6KwHKU6xVjqDHCW%2Fimage.png?alt=media&amp;token=8b07239b-a5f1-4fab-89a3-93df46cd4bd7" alt=""><figcaption></figcaption></figure>

### Подключение и настройка

Благодаря виджету устанавливается связь с агентом, которого необходимо предварительно создать и настроить, загрузить необходимую информацию в его базу знаний.

{% hint style="info" %}
Обратите внимание, что у Вас должен быть доступ к сайту, на который Вы подключаете виджет, потому что потребуется встроить скрипт в код сайта.
{% endhint %}

1. Перейдите на вкладку **"Каналы"** и раздел **"Чаты для сайта"** в агенте, которого необходимо подключить к виджету и выберите **"Савви Виджет"**.

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2F2PxOCoXneGIoUnadXhE7%2Fimage.png?alt=media&amp;token=f4b66700-5191-4f58-b277-6ced90b19e6f" alt=""><figcaption></figcaption></figure>

2. На вкладке **"Подключение"** необходимо ввести домен сайта, к которому будет производиться подключение, затем нажать **"Подключить"**.

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2F3WsPwHDw7xGbRYC3SXnB%2Fimage.png?alt=media&amp;token=42f510ce-f676-40c4-a994-f1e6203ec989" alt=""><figcaption></figcaption></figure>

3. На вкладке сформируется код для подключения:

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2F71TSfcxrgUKYWifDbtIV%2Fimage.png?alt=media&amp;token=4ee1b838-09d8-4f2f-a95c-01ba1ff2452f" alt=""><figcaption></figcaption></figure>

> **Отображаемое имя для сообщений агента** - в этом поле можно задать имя агента, которое будет отображаться в хэдере виджета\
> **Отображаемое имя для сообщений оператора** - в этом поле по аналогии с предыдущим задается имя, но для оператора\
> Имя агента или оператора будет отображаться в зависимости от того, кто в данный момент отвечает клиенту

В отдельном поле находится код скрипта, который необходимо вставить в раздел \<head> сайта, обычно это выполняется в файле index.html.\
После выполнения всех действий по настройке необходимо нажать **"Сохранить"**.

При необходимости можно временно отключить ответы агента флагом **"Ответы агента"** без необходимости отключения виджета.

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FICucRxpVVZZd7xqEDrP5%2Fimage.png?alt=media&amp;token=39ada1f6-fdeb-48f4-afee-fddda9bb74ed" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Обратите внимание, что виджет **пока не поддерживает** прикрепление **файлов и изображений**. Мы добавим эту возможность вместе со следующим обновлением.
{% endhint %}

### Кастомизация виджета

Во вкладке **Настройки виджета** можно изменить отображение виджета на сайте и поведение окна чата.

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FW7m4kQ0SXK0mw2X2oufm%2Fimage.png?alt=media&amp;token=5e88ec5b-67a7-4e43-8f66-cfe02b09a0a9" alt=""><figcaption></figcaption></figure>

#### Отображаемое имя для сообщений агента

Имя, которое будет отображаться в виджете, когда клиенту отвечает Агент.

Например: `Андрей`, `Менеджер`, `Савви`.

#### Отображаемое имя для сообщений оператора

Имя, которое будет отображаться, когда в диалоге отвечает сотрудник.

Например: `Оператор`, `Администратор`, `Менеджер`.

#### Ссылка на Telegram, WhatsApp, Max

Позволяет добавить в виджет кнопку перехода в мессенджер.

Чтобы кнопка отображалась в виджете:

1. Включите переключатель **Добавить в виджет ссылку на ваш мессенджер**.
2. Вставьте ссылку на мессенджер.

Как это выглядит на сайте:

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FgSayL6lO5q63r9VMN2Kd%2Fimage.png?alt=media&amp;token=3309f834-85b5-46f2-a9e5-415d722222fe" alt=""><figcaption></figcaption></figure>

#### Автоматическое раскрытие виджета

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FpiD94vZs3HWdFxEqag5c%2Fimage.png?alt=media&amp;token=67014efa-08c3-4b2a-b8b2-473cc36ac003" alt=""><figcaption></figcaption></figure>

Настройка **Добавить автоматическое раскрытие виджета** открывает окно чата автоматически после загрузки сайта.

Если настройка включена, можно задать время, через которое виджет раскроется.

#### Автооткрывать виджет лишь единожды

Если настройка включена, виджет автоматически раскроется только один раз для пользователя.

Это помогает не раздражать посетителя повторным открытием чата при каждом переходе по сайту.

#### Автоматически раскрывать виджет через

В этом поле задается задержка перед автоматическим раскрытием виджета.

Значение указывается в секундах.

Например, если установить `18`, виджет откроется через 18 секунд после захода пользователя на сайт.

#### Убрать логотип Савви из виджета

Позволяет скрыть логотип Савви в виджете.

Функция доступна только для пользователей с подпиской **Business** и выше.

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FnIm6ZJbkJCyvwN0HrV0r%2Fimage.png?alt=media&amp;token=69a6d5c7-6553-41f0-bee6-f1f039269841" alt=""><figcaption></figcaption></figure>

#### Цвета виджета

В настройках можно изменить:

* цвет фона хедера;
* цвет текста хедера;
* цвет иконок.

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2F5DdOhoUSrjIspzS4wFcB%2Fimage.png?alt=media&amp;token=b4cd9748-1e3c-459c-93be-0628056e44a5" alt=""><figcaption></figcaption></figure>

#### Аватар агента

Можно загрузить изображение, которое будет отображаться как аватар агента в виджете.

Для загрузки нажмите **Загрузить** в блоке **Загрузите изображение аватара агента**.

#### Аватар сотрудника

Можно загрузить изображение, которое будет отображаться как аватар оператора.

Для загрузки нажмите **Загрузить** в блоке **Загрузите изображение аватара сотрудника**.

#### Добавление согласия на обработку персональных данных

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FI5FeY6owa0y0pNvu7JB4%2Fimage.png?alt=media&amp;token=5c82fab4-6711-4d67-9a3e-f96436cb1341" alt=""><figcaption></figcaption></figure>

В большинстве случаев для соответствия требованиям законодательства от пользователя требуется согласие на обработку персональных данных. Активируйте флаг **"Добавить в виджет согласе с пользовательским соглашеним"**, вставьте ссылку на документ с соглашением, если такой есть в наличии. После этого пользователю будет выводится информация о необходимости дать согласие на обработку персональных данных и предолжен документ, если необходима более подробная информация.

#### Управление виджетом вручную

По умолчанию виджет открывается и закрывается по клику на его иконку. Если вы хотите вызывать эти действия из собственных элементов — например, по нажатию на кнопку или ссылку — управляйте виджетом программно.

Добавьте обработчик нужного события на ваш элемент и вызовите соответствующий метод виджета. В примере ниже виджет открывается по клику на элемент с идентификатором open-widget-trigger — замените его на свой селектор, а метод open — на нужное действие.

```
<script>
  function openWidget() {
    // Основной способ — публичный API виджета
    if (window.SuvvyWidget) {
      window.SuvvyWidget.open();
    } else {
      // Запасной способ, если виджет ещё не успел инициализироваться
      document.dispatchEvent(new CustomEvent('suvvy-widget:open'));
    }
  };
</script>
```

Доступные действия: open — открыть виджет, close — закрыть, toggle — переключить состояние.

#### Входящие инструкции с сайта

Сайт может отправить боту инструкцию — задание, по которому бот сам напишет клиенту в чат: предложит помощь с товаром, напомнит о брошенной корзине, прокомментирует открытую страницу. Чтобы инструкции принимались, включите **"Разрешить входящие инструкции с сайта"** в настройках виджета.

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FiJUHQOrvnYba01VQUJ6n%2Fimage.png?alt=media&amp;token=96ab073d-ef13-49af-98c6-63f778ff3ffc" alt=""><figcaption></figcaption></figure>

Вызывайте метод sendInstruction в нужный момент: по таймеру, при уходе со страницы, по клику на кнопку. Первый аргумент — текст задания для бота (до 4096 символов), второй — необязательный идентификатор источника, он будет виден в диалоге. В примере ниже инструкция отправляется через 30 секунд на странице и по клику на элемент с идентификатором help-button — замените тексты и селекторы на свои.

```
<script>
  // Отправить боту инструкцию — он сам напишет клиенту в чат
  function sendWidgetInstruction(instruction, triggerId) {
    // Основной способ — публичный API виджета
    if (window.SuvvyWidget) {
      window.SuvvyWidget.sendInstruction(instruction, triggerId);
    } else {
      // Запасной способ, если виджет ещё не успел инициализироваться
      document.dispatchEvent(
        new CustomEvent('suvvy-widget:instruction', {
          detail: { instruction: instruction, triggerId: triggerId },
        }),
      );
    }
  }

  // Пример 1: клиент провёл на странице 30 секунд
  setTimeout(function () {
    sendWidgetInstruction(
      'Клиент 30 секунд смотрит страницу тарифов. Предложи помощь с выбором тарифа.',
      'pricing-timer',
    );
  }, 30000);

  // Пример 2: клик по кнопке с идентификатором help-button
  document.getElementById('help-button').addEventListener('click', function () {
    sendWidgetInstruction(
      'Клиент нажал кнопку «Нужна помощь». Спроси, с чем ему помочь.',
      'help-button',
    );
  });
</script>
```

Сама инструкция в чате не отображается — клиент видит только ответ бота. Перед выполнением каждая инструкция проверяется на промпт-инъекцию; результат проверки и списанные токены видны в истории диалога. Инструкции, отправленные до инициализации виджета, не теряются и уходят после его загрузки.

#### Расписание отображения виджета

В ряде случаев у агента есть определенное расписание работы, отображать виджет на сайте вне этого расписания не имеет смысла, потому что агент при поступлении собщения не ответи. Активируйте флаг **"Показывать виджет только в рабочее время"**.

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FhB6zLM3W6un4UsscARqJ%2Fimage.png?alt=media&amp;token=22ae7732-d25e-4328-8368-042ecc1e6628" alt=""><figcaption></figcaption></figure>

Обратите внимание, что рабочее время задается в дополнительных настройках агента.&#x20;

### Приветственные сообщения

Во вкладке **Приветственные сообщения** можно настроить текст, который пользователь увидит при открытии виджета.

Приветственное сообщение помогает сразу объяснить пользователю, куда он попал и с чем ему может помочь агент.

Например:

```
Здравствуйте! Напишите ваш вопрос, и я помогу вам разобраться.
```

или:

```
Здравствуйте! Я виртуальный ассистент. Могу подсказать по услугам, стоимости и условиям работы.
```

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FNzzHp5PGSiorpsUwLCCo%2Fimage.png?alt=media&amp;token=6d24c0ab-7d71-40f0-90f5-79c6cde9ecaa" alt=""><figcaption></figcaption></figure>

***

### Превью виджета

Во вкладке **Превью виджета** можно посмотреть, как виджет будет выглядеть на сайте.

В превью отображаются текущие настройки:

* имена агента и оператора;
* цвета хедера, текста и иконок;
* аватары;
* кнопки перехода в Telegram, WhatsApp или Max;
* приветственные сообщения;
* внешний вид окна чата.

Используйте превью перед публикацией изменений, чтобы проверить, как виджет будет выглядеть для пользователей на сайте.

После внесения изменений в настройках виджета нажмите **Сохранить**, затем проверьте результат во вкладке **Превью виджета**.

Также можно **сбросить виджет** к настройкам по умолчанию

<figure><img src="https://1280958077-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCfQs1g1wTlkieX5CuhTI%2Fuploads%2FQy4Fe0rjrnnoxV1X9ujR%2Fimage.png?alt=media&amp;token=c9cb4726-13f9-447a-91c4-1dbf0ac0b8d7" alt=""><figcaption></figcaption></figure>

### Взаимодействие с CRM

### AmoCRM

#### Выполнение действий через подключение интеграции с amoCRM

Подключите amoCRM в разделе "**Интеграции**", после этого Вы сможете выполнять действия в CRM. Ознакомьтесь с процессом подключения и настройки в [соответствующей статье](/ru/integracii/crm-sistemy/amocrm.md).

#### Альтернативный метод работы с amoCRM.

Для создания сделок в amoCRM можно использовать Google-таблицу.

1. Создайте Google-таблицу, в которую будет вноситься необходимая для создания сделки информация.
2. Подключите и настройте заполнение таблицы в Вашем агенте. Более подробно ознакомьтесь с настройкой в статье [Запись/изменение данных](/ru/rabota-s-tablicami/tablicy-csv-xls-google/zapis-izmenenie-dannykh.md). Настройте заполнение в таблицу данных, необходимых для создания сделки.
3. Эта же таблица подключается в amoCRM, как источник сделок в воронке.

### Bitrix24

#### Выполнение действий через подключение интеграции с Bitrix24

Подключите Bitrix24 в разделе "Интеграции", что позволит выоплнять определенные действия в CRM, работая с каналом связи напрямую. Более подробно Вы можете ознакомиться с подключением в соответствующей статье по ссылке.

#### Прямое взаимодействие по API

Создание лида, сделки, другие действия возможно настроить по API, используя действие "Вебхук". О том, как работать с действием, Вы можете ознакомиться в статье ["Веб-хуки"](/ru/deistviya/veb-khuki.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.suvvy.ai/ru/kanaly/chaty-dlya-saita/savvi-vidzhet.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
