> For the complete documentation index, see [llms.txt](https://docs.graspil.com/ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.graspil.com/ru/app/automations.md).

# Автоматизации

Автоматизации — это конструктор, который позволяет настроить бота так, чтобы он сам, без вашего участия, реагировал на действия пользователей: отправлял сообщения, передавал данные в другие системы, менял информацию о пользователе и многое другое.

{% hint style="info" %}
Раздел доступен в личном кабинете: <https://app.graspil.com/workflows>
{% endhint %}

## Зачем это нужно

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

Примеры того, что можно сделать:

* Пользователь оплатил заказ → через 5 минут отправить сообщение с благодарностью и ссылкой на чат поддержки.
* Пользователь зарегистрировался, но за 3 дня не сделал ни одного действия → напомнить ему о боте.
* Каждый понедельник в 10:00 → отправить отчёт о статистике в ваш Telegram-канал через webhook.
* Пользователь оставил заявку → создать сделку в вашей CRM автоматически.
* Пользователь достиг определённого уровня активности → выставить ему кастомное поле «VIP», чтобы потом использовать это в рассылках и отчётах.
* Бот отправляет сообщение с кнопками — например, опрос «Понравился сервис?» с кнопками «Да» и «Нет» → в зависимости от того, какую кнопку нажал пользователь, сразу продолжить сценарий своей веткой для каждой кнопки — так можно строить простые опросы, квизы и меню с несколькими вариантами ответа (подробнее см. ниже, в разделе про кнопки).

## Из чего состоит автоматизация

Любая автоматизация строится из блоков, которые вы соединяете друг с другом стрелками на холсте — похоже на блок-схему. Блоков четыре типа:

| Блок         | Что делает                                                                     |
| ------------ | ------------------------------------------------------------------------------ |
| **Триггер**  | С чего всё начинается. В каждой автоматизации он один                          |
| **Действие** | Что нужно сделать (отправить сообщение, вызвать webhook и т. д.)               |
| **Условие**  | Развилка: если условие выполняется — идём по одной ветке, если нет — по другой |
| **Ожидание** | Пауза перед следующим шагом — по времени или до наступления события            |

Простыми словами: триггер отвечает на вопрос «когда запускать?», действия — «что делать?», условия — «а если нужно по-разному для разных пользователей?», ожидание — «а если нужно сделать что-то не сразу, а через время?».

## Как создать автоматизацию

1. Откройте раздел **«Автоматизации»** в личном кабинете и нажмите **«Создать автоматизацию»**.
2. Укажите название (видно только вам — для удобства, чтобы не путать автоматизации между собой) и выберите бота, для которого она создаётся.
3. После создания вы попадёте на страницу автоматизации — здесь видно её статус, статистику запусков и историю версий.
4. Нажмите карандаш — кнопку **«Редактировать в конструкторе»**, чтобы открыть визуальный холст и собрать схему.

### Собираем схему на холсте

На холсте справа есть панель **«Добавить блок»** с тремя группами: **Триггеры**, **Логика**, **Действия**.

1. Сначала добавьте триггер — блок «С чего начать» появится первым на холсте. Триггер можно добавить только один — если он уже есть, раздел триггеров в панели скрывается.
2. Добавьте один или несколько блоков действий, логики, ожидания — по вашему сценарию.
3. Соедините блоки стрелками: зацепите выходной «хвостик» одного блока и протяните к следующему. У одного выхода может быть только одна исходящая стрелка — если потянуть новую, старая связь заменится.
4. Чтобы удалить связь между блоками — кликните на стрелку, появится кнопка «Удалить».
5. Чтобы настроить сам блок — кликните на него, откроется панель с настройками (зависит от типа блока, см. разделы ниже).

{% hint style="warning" %}
Если в схеме нет триггера, нет ни одного действия, или какие-то блоки не соединены друг с другом — опубликовать автоматизацию не получится. Система покажет, что именно нужно исправить.
{% endhint %}

## Триггер — с чего начинается автоматизация

При настройке триггера нужно выбрать **«Тип запуска»**:

* **«По событию»** — автоматизация запускается, когда пользователь совершает одно из выбранных событий (например, «оплата», «регистрация»). Можно выбрать сразу несколько событий — сработает на любое из них. Список событий — тот же, что используется в отчётах: подробнее про события см. [«Список событий»](/ru/app/reports/events.md).
* **«По расписанию»** — автоматизация запускается по таймеру: нужно указать **периодичность** (каждый день / раз в неделю / раз в месяц / раз в год) и **время запуска**.
* **«Ручной запуск»** — автоматизация не запускается сама, вы запускаете её вручную (например, для теста).

Для триггеров «По событию» и «По расписанию» можно дополнительно нажать **«Настроить фильтры»** и сузить, для каких именно пользователей будет работать автоматизация — например, только для пользователей с определённым тарифом или языком. Этот фильтр настраивается так же, как аудитория рассылки.

## Действия — что должен сделать бот

Доступные действия:

| Действие                    | Что делает                                                                                                                                                                        |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Отправить сообщение**     | Отправляет пользователю сообщение в Telegram — текст, фото, видео, документ и т. д., можно с кнопками. Текст можно сделать персональным, вставив имя пользователя и другие данные |
| **Webhook**                 | Отправляет запрос на ваш сервер или внешний сервис — удобно, чтобы передать данные о пользователе в свою систему                                                                  |
| **Создать событие**         | Записывает новое событие в аналитику — пригодится, если хочете построить отчёт по результату работы автоматизации                                                                 |
| **Изменить кастомное поле** | Меняет значение [доп. поля](/ru/app/custom-fields.md) пользователя — присвоить значение, увеличить или уменьшить число                                                            |
| **Интеграции**              | Передать данные во внешний сервис, например создать сделку в CRM (amoCRM, Bitrix24) или отправить офлайн-конверсию в Яндекс.Метрику                                               |

{% hint style="info" %}
Для действий с интеграциями нужно заранее настроить саму интеграцию в соответствующем разделе личного кабинета — без неё действие работать не будет. Список доступных интеграций постоянно расширяется. Если не нашли нужную вам интеграцию — напишите нам, мы добавим её в течение нескольких дней.
{% endhint %}

В текстовых полях действий (например, в тексте сообщения) можно использовать переменные — они автоматически заменяются на реальные данные пользователя или события в момент отправки. Например, вставив имя пользователя, каждый получатель увидит своё собственное имя.

В сообщение можно добавить кнопки (инлайн-клавиатуру) — например, для опроса или меню с вариантами. При добавлении кнопки выберите для неё тип **«Продолжить сценарий»** — тогда кнопка превращается в отдельный выход из блока «Отправить сообщение»: вы можете протянуть от неё свою стрелку дальше по схеме, прямо как от обычного блока. Один клик — один выход; кнопок типа «Продолжить сценарий» в одном сообщении может быть сколько угодно, у каждой — своя ветка. Подробнее см. ниже, в разделе «Кнопки, продолжающие сценарий».

Кнопки других типов (например, обычная ссылка `url` или кнопка с произвольными данными для внешней интеграции) в ветвление автоматизации не вовлекаются.

### Сообщение на языке пользователя

Если у бота многоязычная аудитория, не обязательно городить отдельную ветку с блоком «Условие» на каждый язык. В блоке «Отправить сообщение» над полем текста есть переключатель языков:

1. Нажмите «+» рядом с вкладкой **«По умолчанию»** и выберите язык из списка — он собран автоматически по языкам пользователей вашего бота.
2. На новой вкладке впишите текст для этого языка — это не копия, а отдельный вариант сообщения именно для него.
3. Так можно добавить сколько угодно языков. Остальные настройки блока (кнопки, медиа, файл) при этом общие для всех языков — переключается только текст/подпись.

Когда автоматизация доходит до этого блока, бот сам определяет язык интерфейса Telegram у получателя и отправляет тот вариант текста, что вы для него настроили. Если для языка пользователя вариант не задан — уходит текст с вкладки «По умолчанию». Если вы вообще не трогали переключатель языков — ничего не меняется: все получают один и тот же текст, как и раньше.

## Условие — разная логика для разных пользователей

Блок «Условие» создаёт развилку в схеме: если условие выполняется — выполнение пойдёт по одной стрелке от блока, если не выполняется — по другой (если вы её провели) или просто остановится.

Чтобы настроить условие, кликните на блок и нажмите **«Настроить условие»** — откроется конструктор условий (такой же, как при настройке аудитории рассылки): можно проверять поля пользователя (язык, дата регистрации, кастомные поля и т. д.), сравнивать их, объединять несколько условий через «И»/«ИЛИ».

**Пример:** «Если у пользователя в кастомном поле "Тариф" стоит значение "Premium" → отправить одно сообщение, иначе → отправить другое».

## Ожидание — пауза перед следующим шагом

Два вида блока ожидания:

* **Время ожидания** — просто пауза на заданное количество времени (например, подождать 1 час) перед тем, как перейти к следующему блоку.
* **Ожидание события** — пауза до тех пор, пока пользователь не совершит выбранное событие, но не дольше указанного времени (таймаут). Если событие так и не произошло — выполнение продолжится по таймауту.

**Пример использования:** «Пользователь оформил заказ → подождать события "оплата" не более 30 минут → если оплата произошла, поблагодарить; если нет — напомнить про незавершённый заказ».

## Кнопки, продолжающие сценарий

Самый простой способ построить опрос, квиз или меню с вариантами — это кнопки с переключателем **«Продолжить сценарий»** на блоке «Отправить сообщение» (см. раздел «Действия» выше).

1. В блоке «Отправить сообщение» добавьте кнопку и выберите для неё тип **«Продолжить сценарий»**.
2. На холсте у блока появится отдельный выход для этой кнопки — протяните от него стрелку к следующему блоку, как обычно.
3. Если кнопок несколько — у каждой свой выход и своя ветка; пользователь увидит одно сообщение с несколькими кнопками, а дальше сценарий пойдёт по той ветке, что соответствует нажатой кнопке.

{% hint style="info" %}
Такая кнопка не одноразовая — она продолжает работать и после первого клика, и сценарий снова сработает, если пользователь нажмёт на неё ещё раз (или другую кнопку того же сообщения). Это удобно для постоянного меню, на которое можно нажимать сколько угодно раз.
{% endhint %}

**Пример использования:** «Бот отправляет вопрос "Понравился сервис?" с кнопками "Да" и "Нет" → ветка "Да" отправляет благодарность, ветка "Нет" — просит оставить отзыв с описанием проблемы».

{% hint style="warning" %}
Эта возможность отличается от обычного блока «Ожидание события»: там вы вручную выбираете отдельное событие и настраиваете таймаут с отдельной веткой, а кнопка «Продолжить сценарий» создаёт ветвление автоматически, без отдельного блока ожидания на холсте.
{% endhint %}

## Сохранение, тест и публикация

* Изменения в схеме сохраняются как **черновик** — можно редактировать сколько угодно раз, ничего не сломается, пока вы не опубликуете.
* Кнопка **«Запустить тест»** (значок play) позволяет проверить, как сработает схема на тестовых данных, без реальной отправки пользователям — удобно, чтобы убедиться, что всё настроено верно, прежде чем включать автоматизацию для всех.
* Когда всё готово — нажмите **«Опубликовать»**. С этого момента автоматизация начинает работать самостоятельно: отслеживает свой триггер и выполняет действия для всех подходящих пользователей, без вашего участия.
* Если в схеме есть ошибки (например, не выбрано событие для триггера, или действие не заполнено) — система покажет список того, что нужно исправить, и не даст опубликовать, пока ошибки не устранены.

{% hint style="info" %}
Опубликованная версия схемы не меняется на ходу. Если вы захотите что-то поправить в работающей автоматизации, изменения сохранятся как новая версия-черновик — старая версия продолжит работать как ни в чём не бывало, пока вы не опубликуете новую.
{% endhint %}

## Статусы автоматизации

| Статус          | Что значит                                                                    |
| --------------- | ----------------------------------------------------------------------------- |
| **Черновик**    | Схема ещё не опубликована, автоматизация не работает                          |
| **Активна**     | Автоматизация опубликована и работает                                         |
| **Остановлено** | Автоматизацию остановили вручную — она временно не срабатывает, но не удалена |
| **В архиве**    | Автоматизация архивирована                                                    |
| **Ошибка**      | Что-то пошло не так при выполнении — стоит проверить настройки действий       |

Чтобы временно отключить работающую автоматизацию — откройте её и нажмите **«Остановить»**. Включить заново можно публикацией нужной версии.

## Настройка параллельных запусков

Если один и тот же пользователь может запустить автоматизацию заново, пока предыдущий запуск ещё не закончился (например, при триггере «По событию» и частых событиях), можно настроить поведение через значок шестерёнки/слайдеров на холсте:

| Вариант                        | Что происходит                                                                                   |
| ------------------------------ | ------------------------------------------------------------------------------------------------ |
| **Параллельно (по умолчанию)** | Каждый запуск выполняется независимо, даже если предыдущий ещё не закончился                     |
| **Отменить предыдущее**        | Новый запуск отменяет ещё не завершённый предыдущий и начинает заново                            |
| **Игнорировать новые**         | Пока выполняется один запуск для пользователя, новые срабатывания триггера для него игнорируются |

## История версий и статистика

На странице автоматизации (не в конструкторе, а на основной странице с её настройками) доступны:

* **История версий** — все сохранённые черновики и опубликованные версии; любую можно открыть в конструкторе для редактирования или опубликовать заново.
* **Статистика** — сколько раз автоматизация запускалась, сколько раз завершилась с ошибкой, для скольких уникальных пользователей сработала, в виде графика за выбранный период.
* **Запуски (выполнения)** — список последних срабатываний автоматизации с указанием пользователя, статуса и времени; для неудачных запусков есть кнопка повторного запуска, а также журнал ошибок с указанием, на каком блоке схемы что-то пошло не так.

## Запуск автоматизации на выбранную аудиторию (как рассылка)

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

1. Перейдите в раздел **«Рассылки»** → **«Создать кампанию»**.
2. На шаге выбора типа кампании выберите карточку **«Запуск автоматизации»**.
3. Соберите аудиторию — тем же конструктором, что и для обычной рассылки (все пользователи, по условиям, по списку и т. д.).
4. Выберите нужную автоматизацию из списка **«Выберите воркфлоу для запуска»** — в списке доступны только уже опубликованные автоматизации.
5. Запустите кампанию — автоматизация выполнится для каждого пользователя из выбранной аудитории, как если бы для него сработал триггер.

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

## Удаление

Удалить автоматизацию можно из списка («Автоматизации» → значок корзины у нужной строки) или со страницы самой автоматизации. Удаление безвозвратно — вместе с автоматизацией удаляются все её версии и история запусков.

{% hint style="info" %}
Хотите управлять автоматизациями программно из своей системы, а не через дашборд? См. [документацию по API автоматизаций](/ru/api/automations.md).
{% endhint %}
