# Триггеры

**Триггеры** — функция позволяющая приводить в систему список некоторых действий или событий.

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

[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/B29EVu42T4TRD1zx-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/B29EVu42T4TRD1zx-image.png)

На экранной форме следует нажать кнопку **Новый триггер**.

[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/7sq1flZgAVihuc6X-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/7sq1flZgAVihuc6X-image.png)

### Пример

[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/Ruq75dzUiHSbYjVD-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/Ruq75dzUiHSbYjVD-image.png)

[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/wJAdRm7GRaCgSulU-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/wJAdRm7GRaCgSulU-image.png)

Создадим триггер без подписки на событие, для этого заполним следующие параметры:

- **Наименование триггера** — текстовое интуитивно понятное название триггера;
- **Код** — дополнительный уникальный идентификатор. Используется для поиска текущего объекта, например, в JavaScript функциях;
- **Список событий** — события на которые может быть подписан триггер с названием объекта, который будет подписан на данный тип события (например полное название тэга, контекста, атрибута и т.д): 
    - Любое изменение лида;
    - Изменение **Статуса лида**;
    - Изменение (добавление или удаление) **Тэга лида**;
    - Изменение (добавление или удаление) **Контекста лида**;
    - Изменение **Атрибута лида**;
    - Любое изменение в **Заказе**;
- **JavaScript условие запуска Скрипта/Триггера** — условие при котором происходит активация скрипта;[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/IN2k9GnY1vMtli4S-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/IN2k9GnY1vMtli4S-image.png)

<p class="callout warning">Есть возможность выбора скрипта который будет срабатывать при соответствию условий или срабатывать при не соответствию условий заданных выше.</p>

<p class="callout warning">Выполняется добавление в очередь на запуск привязанного скрипта. В планировщике в установленное время выполняется запуск указанного скрипта. </p>

- **Добавить тэги** — дополнительные теги скрипта;
- **Удалить тэги** — удалить теги оригинального скрипта;
- **Контекст запускаемого скрипта/триггера** — от лица кого будет происходить активация скрипта;
- **Запускаемый скрипт** — какой скрипт будет вызываться триггером;
- **Запускаемый триггер** — значение выбирается из списка созданных триггеров;

<p class="callout warning">Выполняется добавление в очередь на запуск привязанного триггера. В планировщике в установленное время выполняется запуск указанного Триггера. Если для запуска указан другой триггер, то проверка условия будет выполнена перед запуском второго триггера, т.е. по расписанию планировщика.</p>

<p class="callout warning">Для запуска могут быть указаны как Скрипт, так и Триггер одновременно.</p>

- **Запустить указанный Скрипт/Триггер в** — указывается дата и время, в которое будет выполнен запуск триггера/скрипта точно в указанное время (с погрешностью в 1 минуту);
- **Запустить указанный Скрипт/Триггер через (минут)** — числовое значение в минутах, через которое будет выполнен запуск триггера/скрипта, спустя указанное количество минут;

[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/iqS95Xg6t6uttNYB-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/iqS95Xg6t6uttNYB-image.png)

<p class="callout warning">Параметр **Запустить указанный Скрипт/Триггер через (минут)** игнорируется, если указано точное время запуска, т.е. если указан параметр **Запустить указанный Скрипт/Триггер в**.</p>

- **JavaScript условие запуска Скрипта/Триггера** — условие, при выполнении которого произойдет запуск триггера.

<p class="callout warning">Если запуск триггера должен быть выполнен как отложенный по времени (указано время запуска или время, через которое нужно запустить триггер), то проверка JS условия текущего триггера выполняется до запуска триггера, а не в момент наступления указанного времени.</p>

<p class="callout warning">Если поле JS условия пусто, то оно всегда истинно при проверке.</p>

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

[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/9dE7dFhy2KGxyMOR-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/9dE7dFhy2KGxyMOR-image.png)

<p class="callout info">При редактировании существующего триггера появляется галка включен. Что позволяет деактивировать ненужный в данный момент триггер. </p>

[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/vbW9oUA31jUBQKkC-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/vbW9oUA31jUBQKkC-image.png)

На экранной форме в разделе **Триггеры** будет располагаться список созданных триггеров для данного бота.

[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/KT2ABljo3WMFJFXd-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/KT2ABljo3WMFJFXd-image.png)

Этапы запуска и установки триггера:

- Наступление события для запуска триггера или отложенный запуск по расписанию;
- Проверка JS условия;
- Запуск связанного Скрипта / Триггера или добавление отложенного запуска в планировщик.

В разделе **Триггеры** располагается список созданных триггеров для данного бота с доступными операциями:

- Редактировать триггер;
- Сообщения полученные подписчиками в результате выполнения триггера;
- Подписчики получившие сообщение в результате выполнения триггера;
- Удалить триггер.

[![image.png](https://docs.metabot24.ru/uploads/images/gallery/2023-02/scaled-1680-/nEpyWTmPbzeM5yVI-image.png)](https://docs.metabot24.ru/uploads/images/gallery/2023-02/nEpyWTmPbzeM5yVI-image.png)

<p class="callout info align-left">С триггерами так же можно работать с помощью JS методов. Все методы и их описание вы можете посмотреть в [**Справочнике по функциям JS**](https://docs.metabot24.ru/books/07-spravocnik-po-funkciyam-js/page/spravocnik-vsex-funkcii-Cgt#bkmrk-%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%B0%D0%BC%D0%B8:~:text=BC%25D0%25B8-,%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D1%81%20%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%B0%D0%BC%D0%B8,-%D0%9C%D0%B5%D1%82%D0%BE%D0%B4)</p>