В MoreKIT есть возможность передачи данных между несколькими CRM-системами. Это касается не только AmoCRM, вы можете использовать Bitrix24, RetailCrm, Мой склад и др.
В данной статье будет рассмотрен пример такой передачи между AmoCRM №1 и AmoCRM №2
Задача
- При перемещении сделки в AmoCRM №1 на этап Сделка разделена — создавать сделку в AmoCRM №2 с передачей данных из сделки №1
- При смене этапа сделки AmoCRM №1 — двигать сделку AmoCRM №2э
Будет создано два процесса, первый процесс — будет создавать сделку, второй процесс — обновлять статус сделки.
Подключение сервисов
Первым делом — нужно подключить оба сервиса AmoCRM в MoreKIT
Подключение amoCRM
В MoreKit в разделе Сервисы — ищем в списке сервисов amoCRM, нажимаем на кнопку Добавить, произойдет перенаправление на страницу переадресации amoCRM, где необходимо выбрать нужную CRM, которую надо подключить в MoreKit


После подключения одной из AmoCRM — выполните авторизацию в другую AmoCRM, либо откройте новую вкладку в режиме «Инкогнито» и выполните подключение сервиса в ней
После подключения — в разделе сервисов MoreKIT должны отобразиться обе CRM системы

Процесс №1
Создание процесса №1
Первым делом создадим процесс, который будет создавать сделку в CRM №2 при перемещении сделки из CRM №1 при переходе сделки на определенный статус

Нажимаем Создать процесс

Выбираем amoCRM №1

Тип процесса выбираем DP, так как передача будет осуществлена триггером из воронки amoCRM
Установка триггера
После создания процесса необходимо скопировать ссылку из первого блока и установить триггер Webhook на том этапе, где должна создаваться сделка в CRM №2


После установки хука при перемещении сделки на данный этап — процесс запустится
Настройка схемы
Схема будет выглядеть следующим образом

Данная схема:
- Ищет или создает в AmoCRM №2 контакт и сделку
- Заполняет технически поля со ссылками на сущности
Описание блоков схемы

#1 Найти сделки — получаем полные данные о сделке из CRM №1

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

#3 Найти контакты — ищем контакт в CRM №2 по номеру телефона

#4 Создать контакт — создаем контакт в CRM №2, заполняя название, телефон, ссылку на родительский контакт из CRM №1

#5 Создать сделку — создание сделки в CRM №2. Заполняем бюджет, прикрепляем контакт, заполняем ссылку на сделку №1

#8 Обновить сделку — обновляем сделку в CRM №1, заполняя ссылку на созданную сделку в CRM №2

#7 Обновить контакт — обновляем контакт в CRM №1, заполняя ссылку на контакт в CRM №2
Тестирование схемы
Переместим сделку на этап с триггером, проверим, создастся ли сделка в CRM №2

Зайдем в CRM №2, убедимся, что сделка создалась и данные заполнились


Как видим — сделка создалась и поля заполнились. Первая часть процесса выполнена
Процесс №2
Создание процесса №2
Второй процесс создаем по аналогии. Указываем DP, переходим в амо, устанавливаем триггер на тех этапах, для которых нужна синхронизация

Устанавливаем триггер на статусах,где нужна будет синхронизация

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

Данная схема:
- Сопоставит статусы сделок через словарь
- Обновит статус сделки в CRM №2
Описание блоков схемы

#4 Найти сделки — получаем исходную сделку по ID

#1 Добавить в словарь — данный блок сопоставит этапы между CRM системами с помощью словаря Статусы:{...}
В поле Ключ — вводим ID статуса из CRM №1
В поле Значение — вводим соответствующий ID статуса из CRM №2

#3 Достать из словаря — достанет нужное значение статуса по ключу из входящих данных.
В результате будет создана переменная "Статус": <ID статуса>

#5 Регулярные выражения — вытаскивает ID сделки из ссылки, записанной в техническое поле

#6 Обновить сделку — обновляем статус сделки в CRM №2
Тестирование процесса
В CRM №1 переместим сделку на другой этап, где работает триггер

Проверим, сдвинулась ли сделка в CRM №2

Также в MoreKIT видим успешно выполненное событие

Подведем итоги
В данном кейсе рассмотрели, как можно сделать синхронизацию данных между двумя CRM-системами на примере amoCRM. Была создана дочерняя сделка и синхронизированы статусы между системами