Как часто вы не могли найти важное письмо или звонок в Битрикс24 от конкретного клиента? Если на вашем портале много данных, это может повлечь путаницу в коммуникации: к одной компании может быть привязано множество контактов. Переписка, звонки обычно привязываются именно к контакту. Но, по большому счету, коммуникация относятся к компании, хоть на практике так вести CRM не совсем удобно в некоторых кейсах. Как решить эту проблему и навести порядок в CRM, расскажем далее.1. Как настроить привязку к компаниям в делах и звонках, если они штатно привязываются к контакту? Проблема и решениеПочему стандартный функционал привязки дел не всегда устраивает заказчика? Рассмотрим на примере конкретного запроса.Перенос дел в Битрикс24 из сделок в таймлайн компании с удалением дубликатов: похожий кейс можно увидеть по ссылке в нашем блоге.Наш клиент работает с коробочной версией Битрикс24. Стандартный алгоритм привязки звонков и писем работает следующим образом:1.1. Если Email-адрес указан и в карточке контакта, и в карточке компании, то письмо привяжется в обе карточки клиента. Если адрес указан, например, только в карточке контакта, но не указан в карточке связанной с ним компании, то письмо прикрепится только в контакт.1.2. Если вы отправили письмо клиенту из сделки и клиент отвечает на это письмо, то его ответ попадёт ровно в эту же сделку.1.3. Если у вас несколько активных сделок по клиенту и клиент не отвечает вам на письмо (т.е. нет связи между письмами), а просто отправляет новое письмо, то оно привяжется в последнюю созданную активную сделку.1.4. Входящий звонок также сохраняется только в самой последней сделке/лиде.1.5. Исходящий звонок сохраняется в конкретной сделке/лиде, только если совершен через карточку этой сделки/лида.1.6. Если есть контакт/компания с таким номером телефона, то исходящий звонок прикрепится обязательно к контакту/компании.1.7. Если есть и контакт, и компания с таким номером, звонок прикрепится и туда, и туда.Нашему клиенту такой функционал не подходит по ряду причин. Например, чтобы найти конкретный звонок, придется просматривать и сделки, и контакты, и компании. Бывают случаи, когда сотрудники в компаниях, с которыми работает наш заказчик, увольняются и тогда контакт, привязанный к компании, становится неактуальным. Заказчику важно вести всю цепочку коммуникации с клиентом в сущности Компания, так как именно компания является по логике родительской сущностью и для контактов, и для сделок, и все дела по каждой компании не должны быть разбросаны по отдельным сделкам (в чем может вообще отсутствовать логика) и по контактам (которые могут быть уже не актуальны).Резюмируем задачу заказчика:Привязывать звонки/письма только к компаниям — партнеру и контрагенту. В случае отсутствия компании, привязывать взаимодействие только к контакту, компанию не создавать.Никогда не привязывать к сделкам. Исключение - воронка продаж, там ведется сделка по созданию партнера.Дела-дубликаты, которые останутся в родительской сущности после переноса, необходимо удалить, чтобы не приходили новые письма и не было беспорядка.Для этого необходимо настроить несколько интеграций.Перенос дел типа “Письмо” из карточки контакта в карточку компанииЕсли у контакта еще нет привязанной компании, то письмо должны оставаться в контакте.Если у контакта есть привязанный контрагент (компания), тогда переносим во все привязанные компании.Письма будут переноситься с не проставленной галочкой “Не запланированные”, чтобы не было повторной отправки письма.После переноса дела из одной сущности в другую в родительской сущности дело удаляется без возможности его восстановления со всеми его данными.Перенос дел типа “Письмо” из сделки в контакт/компаниюЕсли у контакта еще нет привязанной компании, то письмо должны оставаться в контакте.Если у контакта есть привязанный контрагент (компания), тогда переносим во все привязанные компании.Письма будут переноситься с не проставленной галочкой “Не запланированные”, чтобы не было повторной отправки письма.После переноса дела из одной сущности в другую, в родительской сущности дело удаляется без возможности его восстановления со всеми его данными.Также настроим дополнительную интеграцию, которая будет обновлять дела и делать их завершенными, чтобы они не были в статусе “Не запланированные”. Данная логика будет работать только для дел, которые мы переносим, другие дела не затрагиваются. Обратите внимание: на шаге 1 и 3 каждой интеграции событие и действие добавляется при помощи функционала Пинкит.Билдер. Использование Пинкит.Билдер позволяет настроить бесшовное взаимодействие без дополнительной разработки. Билдер — важный инструмент для тех пользователей, которые самостоятельно настраивают интеграции. Алексей Окара, продакт-менеджер ПинкитДалее рассмотрим, как настроить такую автоматизацию с помощью интеграций в Пинкит.2. Переносим письма из контактов в компании2.1. Шаг 1 - ОткудаПолучаем данные из Битрикс24 в момент создания дела. Можем отфильтровать дела по ответственному с помощью дополнительных запросов, если это необходимо. Укажем тип дела "Письмо".2.2. Шаг 2: ИнструментыПолучить все привязанные компанииИспользуем API-запрос методом GET с урлом /crm.contact.company.items.get?id={{source.OWNER_ID}}. Проверка, что компания у контакта есть. Если компании нет, то прерватьИспользуем инструмент проверки по полю step1.result. Если значение будет пустым, интеграция прервется.Для каждой компанииИспользуем перебор по полю step1.result.2.3. Шаг 3 - КудаДобавляем привязку дела:2.4. Шаг 4: Сопоставление данныхНастраиваем сопоставление:Идентификатор дела - ID дела Идентификатор типа элемента - 4 Идентификатор элемента - {{step3.COMPANY_ID}} 2.5. Запускаем интеграцию3. Убираем привязку из контакта3.1. Шаг 1 - Откуда Выбираем событие успешного срабатывания интеграции, описанной выше.3.2. Шаг 2: ИнструментыДанный шаг пропускаем.3.3. Шаг 3: КудаУдаляем привязку дела.3.4. Шаг 4: Сопоставление данныхНастраиваем сопоставление:Идентификатор дела - {{source.int7963.source.ID}} Идентификатор типа элемента - 3 Идентификатор элемента - {{source.int7963.source.OWNER_ID}}3.5. Запускаем интеграцию4. Переносим письма из сделок в компанию/контакт4.1. Шаг 1: ОткудаЗабираем данные из Битрикс24 в момент события дела типа "Письмо". Дополнительным запросом указываем, что письмо берется из сделки.4.2. Шаг 2: ИнструментыПолучить сделкуИспользуем API-запрос методом GET с урлом /crm.deal.get?ID={{source.OWNER_ID}}.Компании в сделке нетИспользуем инструмент Если-иначе по полю step1.result.COMPANY_ID.Условие - ЧислоРавно, сравниваемое значение = 0, Результат при успешной проверке = 1, при неуспешной = 0. Контакта в сделке нетИспользуем инструмент Если-иначе по полю step1.result.CONTACT_ID.Условие - Логическое(Ложь), Результат при успешной проверке = 1, при неуспешной = 0.Контакт и Компания не заполнены, тогда прерватьИспользуем инструмент Если-Иначе по полю step1.result.COMPANY_ID && step1.result.CONTACT_ID. Условие - Логическое(Истина), Результат при успешной проверке = 1, результат при неуспешной проверке = 0.Прервать если Клиента нетИспользуем инструмент Проверка по полю step9. Условие - Логическое(Истина), Действие - прервать, если проверка пройдена.Дело переносим в Контакт или КомпаниюИспользуем инструмент Если-Иначе по полю step12. Условие - Логическое(Ложь), Результат при успешной проверке = {{step1.result.COMPANY_ID}}, результат при неуспешной проверке = {{source.COMMUNICATIONS.0.ENTITY_ID}}.Дело переносим в Контакт или КомпаниюИспользуем тип шага Если-Иначе по полю step12. Условие - логическое (ложь), Результат при успешной проверке = 4, результат при неуспешной проверке = 3.Сущность дела переносим в Контакт или КомпаниюИспользуем тип шага Если-Иначе по полю step2. Условие - Логическое (Ложь), Результат при успешной проверке = 4, результат при неуспешной проверке = 3.Проверяем, есть ли уже привязка в КонтактеИспользуем тип шага Если-Иначе по полю step4.CONTACT_ID. Условие - Число(Равно), сравниваемое значение - source.COMMUNICATIONS.0.ENTITY_ID. Результат при успешной проверке = 1, результат при неуспешной проверке = 0.Если компании нет и есть контакт, тогда прерватьИспользуем инструмент Проверка по полю step12. Условие - Число(Равно), сравниваемое значение =1, действие - Прервать, если проверка пройдена. 4.3. Шаг 3: КудаВыполняем привязку дела.4.4. Шаг 4: Сопоставление данныхСопоставляем данные:Идентификатор дела - ID дела Идентификатор типа элемента - {{step6}} Идентификатор элемента - {{step5}}4.5. Запускаем интеграцию5. Убираем привязку дела из сделки для компании5.1. Шаг 1 - ОткудаВыбираем событие срабатывания описанной выше интеграции на успех. 5.2. Шаг 2: ИнструментыОтвязать от контакта дело entityTypeId=3Используем API-запрос методом GET с урлом /crm.activity.binding.delete?activityId={{source.int7996.source.ID}}&entityTypeId=3&entityId={{source.int7996.source.COMMUNICATIONS.0.ENTITY_ID}}.5.3. Шаг 3: КудаУдаляем привязку дела. 5.4. Шаг 4: Сопоставление данныхСопоставляем элементы.Идентификатор дела - {{source.int7965.source.ID}} Идентификатор типа элемента - 2 Идентификатор элемента - {{source.int7965.source.OWNER_ID}}5.5. Запускаем интеграцию6. Убираем привязку дела из сделки для контактов6.1. Выбираем событие Интеграция - Пропуск для интеграции, описанной в пункте 4.6.2. Шаг 2: ИнструментыЕсли там контакты, тогда предложитьИспользуем проверку по полю source.int7996.step11. Условие - Логическое(Истина), сравниваемое значение =1, действие - продолжить, если проверка пройдена.Получить все привязанные компанииИспользуем API-запрос методом GET с урлом /crm.contact.company.items.get?id={{source.int7996.source.COMMUNICATIONS.0.ENTITY_ID}}. Для каждой компанииИспользуем тип шага Для каждого по полю step2.result.Привязать компаниюИспользуем API-запрос методом GET с урлом /crm.activity.binding.add?activityId={{source.int7996.source.ID}}&entityTypeId=4&entityId={{step3.COMPANY_ID}}.Удалить привязкуИспользуем API-запрос методом GET с урлом /crm.activity.binding.delete?activityId={{source.int7996.source.ID}}&entityTypeId=2&entityId={{source.int7996.source.OWNER_ID}}.6.3. Шаг 3: КудаУдаляем привязку дела.6.4. Шаг 4: Сопоставление данныхСопоставляем данные:Идентификатор дела - {{source.int7996.source.ID}} Идентификатор типа элемента - 3 Идентификатор элемента - {{source.int7996.source.COMMUNICATIONS.0.ENTITY_ID}}6.5. Запускаем интеграцию7. ИтогС помощью настроенных выше интеграций мы решили следующие задачи заказчика:7.1. Дела типа Письмо были перенесены из сделок и контактов в компании (если они есть на портале). При этом дела, которые остаются в родительской сущности, удаляются, чтобы не дублировать информацию.7.2. Данный функционал помог не только уменьшить ручной труд, но и обеспечить прозрачный поиск и контроль дел, а также упорядочить коммуникации на портале согласно внутренним правилам компании.Если у вас есть вопросы, пишите нам в Телеграм или WhatsApp. Также вы можете самостоятельно протестировать Пинкит, для этого зарегистрируйтесь в личном кабинете по ссылке: https://lk.pinkit.io/register. Алексей Окара, продакт-менеджер Пинкит.#пинол #пинкит #pinall #pinkit #bitrix24 #битрикс24 #amo #amocrm #амо #амоцрм #crm #црм #црмсистема #црм_система #внедрениецрм #интеграция #миграция #обмен #перенос