При необходимости добавьте несколько формул → повторите шаги.
При необходимости добавить следующие шаги и завершить работу бота. Далее сохранить бота и настройки воронки.
Математические операции
В формулах можно использовать любые математические операции:
сложение (+)
вычитание (-)
умножение (*)
деление (/)
Формула не ограничивается двумя переменными. Допускается использование любого количества полей и значений, необходимых для вычисления результата.
Постоянные значения
Если в формулах необходимо использовать постоянное значение, его можно задать через триггер:
Перейдите в бота с формулами.
Нажмите Настройка переменных.
Важно при работе с переменными:
Если переменная не является числом, преобразуйте её в числовой тип:
chislo(lead['Название поля с типом текст'])
Если переменная не является текстом, преобразуйте её в текстовый тип:
text(lead['Название поля с типом число'])
Это необходимо для корректной работы формул и предотвращения ошибок при вычислениях.
После этого переменную можно использовать в формулах наравне с полями amoCRM.
Подсказки в формулах
В поле ввода формулы доступны подсказки с названиями полей, которые можно использовать в вычислениях.
Чтобы вызвать подсказку, введите символ "[". После этого появится выпадающий список доступных полей.
Корректная работа с числами
Иногда amoCRM воспринимает значения как текст, из-за чего вместо сложения получается «склейка» (например: 10+14+5 = 10145).
Чтобы этого избежать, каждое значение нужно оборачивать в parseInt().
Пример:
parseInt(lead['Сумма в договоре']) - parseInt(lead['Бюджет'])
Логические условия
Создание логических условий (if-else в одну строку)
Пример:
lead['поле1'] == 'успех' ? 'да' : 'нет'
Здесь:
если поле1 = «успех» → результат «да»
иначе → результат «нет»
Поддерживаются разные операторы сравнения:
>= — больше или равно
<= — меньше или равно
> — больше
< — меньше
!== — не равно
Пример с условиями:
lead['Расстояние до заказчика (в км)'] <= '50' ? '300р.' : '250р.'
Можно проверять значения полей и возвращать разные результаты.
Вложенные условия
Этот пример показывает вложенное условие (тернарный оператор) — когда внутри одного условия используется ещё одно.
🔹 Разбор формулы:
lead['Расстояние до заказчика (в км)'] <= '10' ? '300р.' : (lead['Расстояние до заказчика (в км)'] <= '30' ? '1000' : '2000')
Проверяется условие: если расстояние ≤ 10 км → результат «300р.»
Если первое условие не выполнено, проверяется второе: если расстояние ≤ 30 км → результат «1000».
Если оба условия не выполнены: результат по умолчанию → «2000».
По сути, это аналог «если – иначе если – иначе»:
До 10 км → 300р.
От 11 до 30 км → 1000
Больше 30 км → 2000
Ограничение знаков после запятой
Иногда в результате вычислений может получиться число с большим количеством знаков после запятой. Чтобы ограничить их количество, используйте функцию .toFixed(x), где:
x — это число знаков после запятой, которое должно остаться.
Пример:
(lead['Сумма'] / lead['Количество']).toFixed(2)
Если сумма = 105, количество = 7, то результат будет 15.00 (2 знака после запятой).
Ключи полей
Сделки (lead):
lead['ID'] — ID сделки
lead['Название'] — Название сделки
lead['Бюджет'] — Бюджет
lead['status_id'] — ID статуса
lead['pipeline_id'] — ID воронки
lead['status_name'] — Название статуса
lead['pipeline_name'] — Название воронки
lead['Ответственный'] — ФИО ответственного
lead['Поле'] — Дополнительное поле сделки
Контакт (contact):
contact['ID'] — ID контакта
contact['ФИО'] — ФИО контакта
contact['Имя'] — Имя
contact['Фамилия'] — Фамилия
contact['Ответственный'] — ФИО ответственного
contact['Поле'] — Дополнительное поле контакта
Компания (company):
company['ID'] — ID компании
company['Название'] — Название компании
company['Ответственный'] — ФИО ответственного
company['Поле'] — Дополнительное поле компании
Формулы связанных сделок
Для работы со связанными сделками можно использовать массивы lead['contact_leads'] (сделки контакта) и lead['company_leads'] (сделки компании).
ℹ️Если нужно считать по компании, замените lead['contact_leads'] на lead['company_leads']. В примере со статусом 123123 укажите ID нужного статуса из вашей воронки.
Примечания
В формулах доступны переменные lead['notes'] (массив всех примечаний сделки) и lead['last_note_text'] (текст последнего примечания).
В виджете доступны функции для автоматической привязки контактов и компаний к сделкам:
Привязка контактов
Прикрепить контакт по Телефону — поиск контакта по номеру телефона
Прикрепить контакт по Email — поиск контакта по адресу электронной почты
Прикрепить контакт по кастомному полю — поиск контакта по любому кастомному полю (например, ИНН, внутренний ID и т.п.)
Привязка компаний
Прикрепить компанию по кастомному полю — поиск компании по любому кастомному полю (например, ИНН, внутренний ID и т.п.)
При помощи этих функций можно автоматически находить и прикреплять контакты/компании к сделкам, либо создавать новые, если они не найдены. Настроить это можно с помощью Salesbot.
Настройка привязки по телефону или email
В выборе поля найдите раздел Функции:
В формуле необходимо ввести поле, из которого нужно брать телефон или почту для создания контакта:
Настройка привязки по кастомному полю
Для привязки контакта или компании по кастомному полю выберите нужное поле из списка доступных полей в интерфейсе виджета.
Пример 1: Привязать контакт по полю ИНН:
Выберите "Функции" → "Прикрепить контакт по кастомному полю" → выберите поле "ИНН" из списка
В формуле укажите поле сделки, откуда брать значение ИНН: return lead["ИНН"]
Пример 2: Привязать компанию по полю "Внутренний ID":
Выберите "Функции" → "Прикрепить компанию по кастомному полю" → выберите поле "Внутренний ID" из списка
В формуле укажите поле сделки, откуда брать ID: return lead["Внутренний ID"]
Если контакт или компания с указанным значением поля не найдены, система автоматически создаст новую сущность с этим значением и привяжет её к сделке.
Конвертация валют
В формулах доступна функция convertCurrency() для автоматической конвертации валют по официальным курсам ЦБ РФ.