Общие описания сервисов доступны на страницах Yclients и amoCRM.
В этом процессе реализован кейс автоматического обновления записи в Yclients по событию изменения статуса сделки в amoCRM. В качестве источника события будет amoCRM вебхук, т.к. он сразу передаёт основные данные сделки, которых достаточно в рамках этой задачи.
Считаем что сделка была ранее связана с Yclients вручную или автоматически и в полях сделки есть ID записи в Yclients.
Содержание
Настройки amoCRM
Первым делом после создания процесса с типом “amoCRM вебхук” необходимо создать сам хук в amoCRM. Для этого нужно перейти в интерфейсе amoCRM на страницу “Настройки” → “Интеграции”. И нажать на кнопку WEB HOOKS в блоке “Установленные интеграции”:
В открывшемся окне выбрать событие “Статус сделки изменен” и установить ссылку на процесс:
Настройки процесса
Стартовый блок
После этого настраиваем стартовый блок, чтобы отфильтровать ненужные запросы:
{{сущность}} = Сделка
— это не обязательно, но так как мы уверены что нам интересна только конкретная сущность, то это указание даст возможность использовать подсказки полей, вместо ручного ввода.{{Воронка}} один из 1910359 1857124
— так как, в зависимости от услуг мы ведём сделки в разных воронках, то и здесь отслеживаем оба варианта.{{Статус}} один из 28879624 28911151 143 ...
— проверяем что статус соответствует одному из отслеживаемых. В данном случае мы использовали сравнение с ID, но также вместо них можно использовать и маску вида{{amoCRM.статус.Продажи: Записан}}
{{input.modified_user_id}} ≠ 0
— необязательный параметр, но здесь мы использовали его, чтобы убедиться что изменение сделки выполнено пользователем, а не какой-либо интеграцией или Salesbot. Если такое ограничение не нужно — данная строчка будет лишней.{{ID записи, Yclients}} присутствует
— так мы можем убедиться что у этой сделки заполнено соответствующее поле.
Поиск записи
Так как Yclients требует передачи полного основного значения основных полей при изменении сущностей, то сначала найдём нужную запись. Создадим блок “Найти запись” и заполним:
компания - Главный филиал
— здесь выбираем в какой компании в рамках аккаунта Yclients мы будем искать запись. Вместо выбора конкретного филиала можно также использовать маску, если это значение было найдено раньше (например в полях сделки).ID записи {{ID записи, Yclients}}
— ранее мы убедились что это поле заполнено и теперь используем его для поиска.
Обратим внимание, что из блока есть два выхода, на случай если запись не будет найдена — тогда можно запустить отдельную ветку процесса. В нашем случае это не нужно.
Проверка
Дальше создадим несколько проверок, чтобы разделить логику обновления записей в зависимости от статуса сделки.
Изменение записи
Далее создаём блок изменения записи и заполняем поля используя данные первого блока, где мы нашли запись:
компания - Главный филиал
ID записи {{ID записи, Yclients}}
ответственный {{#1.ID ответственного}}
- клиент
телефон {{#1.телефон клиента}}
имя {{#1.имя клиента}}
email {{#1.email клиента}}
длительность записи {{#1.длительность записи}}
время записи {{#1.время записи}}
массив услуг {{#1.массив услуг}}
— таким образом услуги переносятся без изменения, но также можно добавить в функции услуги и они будут добавлены к тем, что передаются в массиве.статус записи ожидание
Как видно — большая часть полей заполнена простым переносом из блока поиска.
Создадим аналогичные блоки для других веток с нужными статусами и посмотрим на схему целиком: