Сделки в CRM отображаются в виде карточек с информацией о клиенте, названии сделки, описании и сумме.

При необходимости можно добавить и другие поля (например, переменные) (см. рис. 8–12).
Кнопка «Создать сделку»

Создать сделку — модальное окно создания новой сделки:

Вы можете заполнить все данные в форме и создать клиента. Если клиент уже есть в базе, Salebot предложит выбрать его:

Если клиента нет, то для его создания в проекте должен быть подключен WhatsApp или Email-бот — в эти каналы можно писать первым, поэтому создание клиента пройдет успешно, даже если клиент отсутствует в базе.
Также можно выбрать состояние воронки, в которое будет добавлена сделка:

В окне создания сделки также можно добавить переменные сделки:

После заполнения данных нажмите «Создать», чтобы добавить сделку в систему.
Кнопка «Быстрое добавление»
Данная кнопка также позволяет вручную добавить нового клиента в CRM.

Нажмите на кнопку, чтобы открыть окно с полями для заполнения информации о клиенте:

После заполнения формы сделка будет создана в состоянии «Заинтересовались»:

✅ Готово! Теперь вы знаете, как создавать сделки.
Создать сделку из чат-бота

Порядок действий
1. Создайте блок с условием («Стартовое условие»):

В этом блоке разместите приветственное сообщение или необходимую информацию для клиента.
2. Создайте следующий блок и соедините его стрелкой:

В блоке создайте кнопки типа «По умолчанию», например:
- Многостраничный сайт;
- Одностраничный сайт.
При выборе одной из кнопок пользователь перейдет в соответствующий блок. На стрелках передается переменная description, а также включается чекбокс «Пользователь вводит данные»:

3. Далее в блоках, к которым ведут стрелки «Многостраничный сайт» и «Одностраничный сайт», запросите номер телефона клиента и сразу объявите переменную budget со стоимостью услуги (сделки):

4. Далее создайте два блока: «Состояние» и «Не состояние». Они понадобятся для проверки номера телефона клиента.

В условии стрелки укажите регулярное выражение для проверки корректности номера телефона, а в поле «Соответствие» выберите «Регулярное выражение».
Также включите чекбокс «Пользователь вводит данные» и укажите переменную phone.
Если клиент введет номер телефона с ошибкой, например 89938383ааа, сработает блок «Не состояние» — пользователю будет предложено повторно ввести номер.
Если номер пройдет проверку, клиент перейдет в следующий блок «Как вас зовут?».
5. Предпоследним блоком будет блок «Состояние», в котором необходимо запросить имя клиента.

Из этого блока проведите стрелку со сбором данных:

В стрелке включите чекбокс «Пользователь вводит данные» и укажите переменную client_name.
6. В последнем блоке пропишите функцию создания сделки в CRM:

Функция create_order()
create_order(name, budget, description, client_name, phone, email, state_id)
Функция create_order(name, budget, description, client_name, phone, email, state_id) предназначена для создания сделки из чат-бота в CRM.
Параметры
Текущая активная сделка вместе с её переменными станет доступна только в функциях для работы со сделками и в CRM.
| Параметр | Описание |
|---|---|
| name | Название сделки. Необязательный параметр. Если не передан, будет использована текущая активная сделка клиента. |
| budget | Стоимость сделки (число). Необязательный параметр. Если передать не число, функция вернет ошибку budget must be a number. |
| description | Описание сделки. Необязательный параметр. |
| client_name | Имя нового клиента. Необязательный параметр. |
| phone | Телефон нового клиента. Необязательный параметр. |
| Email нового клиента. Необязательный параметр. | |
| state_id | ID состояния, в котором будет создана сделка. Необязательный параметр. |
Для создания клиента необходимо передать phone или email.
Если указан phone и клиента с таким номером нет — он будет создан автоматически.
Если указан только email и такого клиента нет — он также будет создан автоматически.
В рассмотренной схеме были последовательно собраны следующие данные:
- Name — название сделки («Многостраничный сайт» или «Одностраничный лендинг»).
-
Budget — стоимость сделки, записанная в переменную
budget. - Phone — номер телефона клиента.
- Client_name — имя клиента.

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

Важно!
Если какой-либо параметр передавать не нужно, вместо него укажите
none(как на рис. 36, где вместо параметраnone).
Где найти ID состояния (state_id)
Откройте меню дополнительных настроек состояния:

ID состояния отображается следующим образом:

После настройки бот будет работать следующим образом:

После выполнения функции сделку можно найти в состоянии воронки, ID которого был передан в create_order():

В разделе «Клиенты» можно открыть карточку клиента, посмотреть переписку и связанные сделки.
Другие настройки
Строка поиска
Позволяет искать сделки по имени клиента.

Фильтр
Позволяет фильтровать сделки по различным параметрам. При необходимости созданный фильтр можно сохранить для дальнейшего использования.

Запуск бота при смене состояния воронки
Вы можете запускать бота автоматически при перемещении сделки между этапами CRM.
Для этого откройте Настройки проекта:

Затем перейдите в раздел Callback's:

Нажмите «Настройки колбеков при переходе между этапами CRM»:

Откроется окно со всеми воронками проекта. Выберите всю воронку либо только необходимые состояния:

После выбора сохраните настройки.
Теперь при изменении состояния сделки (как автоматически, так и вручную) будет генерироваться callback, на который можно настроить реакцию бота.
Callback имеет следующий формат:
crm_state_changed Имя воронки:Название этапа
Также в карточке клиента появится переменная callback_query_id, содержащая идентификатор сделки, по которой было отправлено уведомление.

Чтобы запустить бота по этому событию, укажите текст callback (уведомления) в поле «Условие» стрелки либо любого блока с условием («Стартовое условие» или «Не состояние с условием»).


Если вы не хотите выбивать клиента из основной схемы чат-бота, используйте блок «Не состояние с условием». В него нельзя перейти напрямую, поэтому после обработки callback клиент останется в своей текущей воронке, а сообщение все равно будет отправлено.
Если же необходимо продолжить сценарий после смены состояния сделки, используйте блок «Стартовое условие». В этом случае клиент перейдет в данный блок и дальнейшая логика будет продолжена уже из него.
Перемещение сделок
Для перемещения сделки в другое состояние достаточно захватить карточку левой кнопкой мыши и перетащить её в нужную колонку.

При переносе сделки в состояния «Проваленные» или «Архив» появится окно с просьбой указать причину.
После этого автоматически создаются переменные сделки:
-
failed_reason— причина перевода в проваленные; -
archived_reason— причина помещения в архив.
При восстановлении сделки будут автоматически созданы переменные:
restored_from_failed = "true"restored_from_archived = "true"
Запрет на перемещение сделки в указанное состояние
Если необходимо запретить ручное перемещение сделки на определенные этапы, настройте ограничения в параметрах состояния.
Откройте воронку и перейдите в настройки нужного состояния:

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

После сохранения ограничений недоступные состояния будут отображаться более темным цветом, а перенос сделки в них станет невозможен.
В диалоге с клиентом запрещенные состояния также отображаться не будут, если для них установлен запрет на перенос.
Реакция на удаление сделки в CRM
При удалении сделки в CRM бот получает callback:
crm_lead_removed

Функции API Salebot
Для работы со сделками в чат-боте можно использовать функции API в калькуляторе.
Подробнее о них читайте в статье «Для работы со сделками»: /docs/chatbots-peremennye-i-funkcii-kalkulyator-dlya-raboty-so-ssylkami
Переключение сделок
При действиях со сделками в CRM бот получает следующие callback:
-
change_responsible_order— у сделки изменился ответственный. -
crm_state_changed— сделка была перемещена между этапами воронки. -
crm_system_state_changed— сделка перемещена в Проваленные, Успешные или Архивные. -
crm_lead_removed— сделка удалена.
Также в переменную клиента записывается callback_order_id, содержащая ID сделки, с которой произошло действие.

Во время обработки такого callback соответствующая сделка становится временно активной, поэтому в текущем блоке можно обращаться к её переменным.
После перехода в следующий блок снова начинает действовать стандартная логика Salebot: при обращении к переменным сделки используются данные последней активной сделки клиента.
Переключение сделки в активное состояние в боте
switch_order(order_id)
Позволяет сделать указанную сделку активной, чтобы обращаться к её переменным.
Параметры:
| Параметр | Описание |
|---|---|
order_id |
Необязательный параметр. ID сделки. Если не передан, активной станет последняя сделка клиента. |
Передайте в функцию ID нужной сделки:
switch_order(order_id)
После этого в текущем блоке можно работать с переменными выбранной сделки.

Если передать ID удаленной или несуществующей сделки, переключение выполнено не будет.
Функция вернет ID текущей активной сделки (или None, если активной сделки нет).
Поэтому можно проверить успешность переключения следующим образом:
switch_result = switch_order(order_id)
РЕЗУЛЬТАТ = if(switch_result == order_id, value_if_true, value_if_false)

Если вызвать switch_order() без параметров, активной станет последняя сделка клиента.
Это удобно использовать для возврата к основной сделке после временного переключения или после обработки callback от CRM.