Синхронизируем сделки между Битрикс24 и amoCRM


В данной статье рассмотрим, как можно синхронизировать сделки между amoCRM и Bitrix24.

Рассмотрим реализацию следующего кейса:

При переходе сделки на определенный этап в Bitrix24 — будем отправлять данные о ней в MoreKit, на основе этой сделки — создавать сделку в amoCRM. В amoCRM при нажатии на кнопку в сделке — отправлять актуальные данные о сделке назад в Bitrix24.

Данный кейс может подойти если вам нужно синхронизировать/перенести сущности между системами

Подключение сервисов

Для начала — подключим необходимые сервисы в MoreKit, нам понадобится amoCRM и Bitrix24.

Подключение Bitrix24 в Morekit

Перед добавлением сервиса bitrix24 в morekit, необходимо установить приложение MoreKit в маркетплейсе. Для установки приложения требуется подписка на маркетплейс Bitrix24

Установка приложения MoreKIT в Битрикс24

После установки приложение MoreKit в маркетплейс bitrix24, можно приступать к добавлению сервиса в Morekit. Для этого в проекте нажмите Добавить сервис, найдите в списке Bitrix24. При подключении сервиса будет запрошена ссылка на ваш битрикс24

Добавляем сервис в MoreKIT

Введите ссылку в формате https://мой-домен.bitrix24.ru. После этого произойдет редирект на страницу с вашим битриксом, подтвердите авторизацию

Если все правильно — сервис появится в списке сервисов и у него будет статус Готово

Проверка добавленного сервиса

Подключение сервиса amoCRM в MoreKit

По аналогии, ищем в списке сервисов amoCRM, нажимаем на кнопку Добавить, произойдет перенаправление на страницу переадресации amoCRM, где необходимо выбрать нужную CRM, которую надо подключить в MoreKit

Подключаем amoCRM в MoreKIT
Подключаем аккаунт amoCRM

Создаем процесс в MoreKit

Следующим шагов — создадим процесс для приема данных из Bitrix24. Создать процесс можно с типом Битрикс24 отправка роботом или Другое

Данный процесс будет принимать запрос из Битрикса для отправки в amoCRM

Создаем процесс для приема данных из битрикс 24

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

Создаем триггер в Bitrix24 и настраиваем поля

Настроим триггер в Bitrix24 через бизнес-процесс и создадим поля для обратной синхронизации. В данном кейсе — отправка будет происходить при переходе сделки на определенный этап воронки (триггер у вас может быть свой).

После переноса сделки в amoCRM заполним в сделку битрикса ID сделки в амо для обратной связи.

Создадим триггер на нужном этапе воронки

Создаем робота в воронке продаж

Создаем Бизнес-процесс, в качестве отправляемых данных достаточно передать ID сделки. Указывается переменные параметры после ссылки

https://ep.morekit.io/xxxxxxxxxxxx?element_ID={{ID элемента CRM}}&ID={{ID}}

Устанавливаем ссылку на процесс MoreKIT

Сохраним Бизнес-процесс и проверим, придут ли данные на наш процесс. Нужно переместить сделку на этап, в котором установлен триггер, далее в процессе зайти в События

Проверяем событие в MoreKIT

Если триггер установлен корректно — увидим событие. Если развернуть входящие данные события, увидим данные по сделке, которая перешла на этап

Пример входящих данных

Выстраиваем схемы передачи из Битрикс 24 в amoCRM

Схема будет выглядеть следующим образом

Пример готовой схемы передачи данных в amoCRM

Данная схема будет:

  • Искать сделку в amoCRM по полю ID сделки в б24
  • Если сделка была найдена — обновлять бюджет сделки
  • Если сделка не нашлась — искать контакт в amoCRM по email или номеру телефона
  • Создавать новый контакт, если контакт не нашелся в системе
  • Создавать новую сделку к найденному или созданному контакту, заполняя бюджет сделки

Описание блоков схемы

Ищем сделку по ID из входящих данных

#1 Найти сделки — получаем полные данные о сделке по ID из триггера во входящих данных

Ищем контакт из сделки

#2 Найти контакты — получаем существующий контакт из Битрикс24

Ищем сделку в amoCRM по ID сделки битрикс24

#8 Найти сделки — ищем сделку в amoCRM по полю ID сделки в б24

Если найдено - обновляем

#9 Обновить сделку — обновляем найденную сделку в amoCRM. В качестве обновляемых полей — бюджет. Добавляйте свои нужные поля, которые нужно синхронизировать между системами в данный блок

Ищем контакт по номеру телефона

#3 Найти контакты — ищем существующий контакт в amoCRM по номеру телефона контакта в б24

Ищем контакт по email

#5 Найти контакты — ищем существующий контакт в amoCRM по email адресу

Создаем контакт с заполнением входящих данных

#6 Создать контакт — создание нового контакта в amoCRM с заполнением email и телефона

Создаем сделку с привязкой контакта

#7 Создать сделку — создает сделку в amoCRM. Заполняется бюджет, ID сделки в б24, прикрепляется контакт

Проверка

Перенесем сделку из б24 на этап, где установлен триггер

Проверяем сделку в Битрикс24

Видим, что пришло событие в MoreKit и процесс отработал

Пример успешного события

В amoCRM видим, что сделка создалась

Пример созданной сделки в amoCRM

Проверяем заполненность полей в сделке

Заполнение полей в сделке amoCRM

Как видим — все успешно, сделка перенеслась в amoCRM. Теперь проверим, как работает обновление. Изменим бюджет в сделке и переместим на этап триггера снова

Меняем статус сделки в Битрикс24

Бюджет в amoCRM также поменялся

Проверяем смену статуса в amoCRM

Как видим — все работает. Если сделки ранее не было — она создается, если была — обновляется

Процесс обратной передачи

Процесс обратной передачи будет построен за счет активации флага

Пользователь активирует флаг переноса внутри сделки amoCRM, ищется сделка в б24, обновляются данные

Создаем процесс

Процесс будет запускаться по хуку из amoCRM маркета. В moreKit нужно создать процесс с типом amoCRM вебхук

Создаем процесс с типом amoCRM вебхук

В первоначальном блоке копируем ссылку на процесс, идем в amoCRM маркет для установки веб-хука

Копируем ссылку на процесс

Процесс будет выглядеть следующим образом:

Пример готовой схемы передачи данных

Данная схема делает следующее:

  • Ищет сделку в amoCRM по ID из входящих данных
  • Ищет контакт из сделки
  • Ищет сделку в б24 по ID. В качестве значения подставляем ID сделки б24 из поля в амо
  • Редактирует сделку, обновляя бюджет
  • Снимает флаг переноса

Описание блоков схемы

Фильтры первоначального блока

В первоначальном блоке устанавливаем проверку на активные флаг, чтобы избежать лишних событий, когда перенос не нужен

Ищем сделку по ID

#1 Найти сделки — ищем сделку по ID из входящих данных

Ищем контакт из сделки

#2 Найти контакты — ищем контакт из компании/сделки

Ищем сделку в Битрикс24

#3 Найти сделки — ищем сделку в б24, которую будем редактировать

Редактируем сделку в Битрикс24

#4 Редактировать сделку — изменяем бюджет в сделке б24. Если вам нужно изменить еще какие-либо поля, добавьте их в блок

Обновляем сделку в amoCRM

#5 Обновить сделку

Снимаем флаг переноса в amoCRM

Проверяем работоспособность

Изменим в сделке бюджет, поставим флаг и посмотрим результат

Проверяем езультат в amoCRM

Проверяем в Битрикс24

Проверяем сделку в Битрикс24

Как видим — бюджет изменился, все сработало корректно

Проверяем сделку в amoCRM

в amoCRM флаг также снялся

Проверяем событие в MoreKIT

В событии также ошибок нет

Подводим итоги

В данной статье рассмотрели — как можно передавать данные между системами разными методами

В случае передачи данных из Битрикс24 выполнялся бизнес-процесс. При создании сделки в amoCRM заполнялся ID сделки в б24 для будущей связи

В случае передачи в обратную сторону — активация переноса по флагу

Данный метод передачи подходи для:

  • Синхронизации сущностей между системами
  • Переноса сущностей из одной системы в другую