Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

Как часто вы не могли найти важное письмо или звонок в Битрикс24 от конкретного клиента? Если на вашем портале много данных, это может повлечь путаницу в коммуникации: к одной компании может быть привязано множество контактов. Переписка, звонки обычно привязываются именно к контакту. Но, по большому счету, коммуникация относятся к компании, хоть на практике так вести CRM не совсем удобно в некоторых кейсах. Как решить эту проблему и навести порядок в CRM, расскажем далее.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

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 в момент создания дела. Можем отфильтровать дела по ответственному с помощью дополнительных запросов, если это необходимо. Укажем тип дела "Письмо".

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

2.2. Шаг 2: Инструменты

  • Получить все привязанные компании

Используем API-запрос методом GET с урлом /crm.contact.company.items.get?id={{source.OWNER_ID}}.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Проверка, что компания у контакта есть. Если компании нет, то прервать

Используем инструмент проверки по полю step1.result. Если значение будет пустым, интеграция прервется.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Для каждой компании

Используем перебор по полю step1.result.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

2.3. Шаг 3 - Куда

Добавляем привязку дела:

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

2.4. Шаг 4: Сопоставление данных

Настраиваем сопоставление:

Идентификатор дела - ID дела Идентификатор типа элемента - 4 Идентификатор элемента - {{step3.COMPANY_ID}} ​
Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

2.5. Запускаем интеграцию

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

3. Убираем привязку из контакта

3.1. Шаг 1 - Откуда

Выбираем событие успешного срабатывания интеграции, описанной выше.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

3.2. Шаг 2: Инструменты

Данный шаг пропускаем.

3.3. Шаг 3: Куда

Удаляем привязку дела.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

3.4. Шаг 4: Сопоставление данных

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

Настраиваем сопоставление:

Идентификатор дела - {{source.int7963.source.ID}} Идентификатор типа элемента - 3 ​ Идентификатор элемента - {{source.int7963.source.OWNER_ID}}

3.5. Запускаем интеграцию

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

4. Переносим письма из сделок в компанию/контакт

4.1. Шаг 1: Откуда

Забираем данные из Битрикс24 в момент события дела типа "Письмо". Дополнительным запросом указываем, что письмо берется из сделки.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

4.2. Шаг 2: Инструменты

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Получить сделку

Используем API-запрос методом GET с урлом /crm.deal.get?ID={{source.OWNER_ID}}.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Компании в сделке нет

Используем инструмент Если-иначе по полю step1.result.COMPANY_ID.

Условие - ЧислоРавно, сравниваемое значение = 0, Результат при успешной проверке = 1, при неуспешной = 0.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Контакта в сделке нет

Используем инструмент Если-иначе по полю step1.result.CONTACT_ID.

Условие - Логическое(Ложь), Результат при успешной проверке = 1, при неуспешной = 0.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Контакт и Компания не заполнены, тогда прервать

Используем инструмент Если-Иначе по полю step1.result.COMPANY_ID && step1.result.CONTACT_ID. Условие - Логическое(Истина), Результат при успешной проверке = 1, результат при неуспешной проверке = 0.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Прервать если Клиента нет

Используем инструмент Проверка по полю step9. Условие - Логическое(Истина), Действие - прервать, если проверка пройдена.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Дело переносим в Контакт или Компанию

Используем инструмент Если-Иначе по полю step12. Условие - Логическое(Ложь), Результат при успешной проверке = {{step1.result.COMPANY_ID}}, результат при неуспешной проверке = {{source.COMMUNICATIONS.0.ENTITY_ID}}.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Дело переносим в Контакт или Компанию

Используем тип шага Если-Иначе по полю step12. Условие - логическое (ложь), Результат при успешной проверке = 4, результат при неуспешной проверке = 3.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Сущность дела переносим в Контакт или Компанию

Используем тип шага Если-Иначе по полю step2. Условие - Логическое (Ложь), Результат при успешной проверке = 4, результат при неуспешной проверке = 3.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Проверяем, есть ли уже привязка в Контакте

Используем тип шага Если-Иначе по полю step4.CONTACT_ID. Условие - Число(Равно), сравниваемое значение - source.COMMUNICATIONS.0.ENTITY_ID. Результат при успешной проверке = 1, результат при неуспешной проверке = 0.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Если компании нет и есть контакт, тогда прервать

Используем инструмент Проверка по полю step12. Условие - Число(Равно), сравниваемое значение =1, действие - Прервать, если проверка пройдена.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

4.3. Шаг 3: Куда

Выполняем привязку дела.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

4.4. Шаг 4: Сопоставление данных

Сопоставляем данные:

Идентификатор дела - ID дела Идентификатор типа элемента - {{step6}} Идентификатор элемента - {{step5}}
Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

4.5. Запускаем интеграцию

5. Убираем привязку дела из сделки для компании

5.1. Шаг 1 - Откуда

Выбираем событие срабатывания описанной выше интеграции на успех.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

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}}.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

5.3. Шаг 3: Куда

Удаляем привязку дела.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

5.4. Шаг 4: Сопоставление данных

Сопоставляем элементы.

Идентификатор дела - {{source.int7965.source.ID}} ​ Идентификатор типа элемента - 2​ Идентификатор элемента - {{source.int7965.source.OWNER_ID}}
Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

5.5. Запускаем интеграцию

6. Убираем привязку дела из сделки для контактов

6.1. Выбираем событие Интеграция - Пропуск для интеграции, описанной в пункте 4.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

6.2. Шаг 2: Инструменты

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Если там контакты, тогда предложить

Используем проверку по полю source.int7996.step11. Условие - Логическое(Истина), сравниваемое значение =1, действие - продолжить, если проверка пройдена.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Получить все привязанные компании

Используем API-запрос методом GET с урлом /crm.contact.company.items.get?id={{source.int7996.source.COMMUNICATIONS.0.ENTITY_ID}}.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Для каждой компании

Используем тип шага Для каждого по полю step2.result.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Привязать компанию

Используем API-запрос методом GET с урлом /crm.activity.binding.add?activityId={{source.int7996.source.ID}}&entityTypeId=4&entityId={{step3.COMPANY_ID}}.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
  • Удалить привязку

Используем API-запрос методом GET с урлом /crm.activity.binding.delete?activityId={{source.int7996.source.ID}}&entityTypeId=2&entityId={{source.int7996.source.OWNER_ID}}.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

6.3. Шаг 3: Куда

Удаляем привязку дела.

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

6.4. Шаг 4: Сопоставление данных

Сопоставляем данные:

Идентификатор дела - {{source.int7996.source.ID}} Идентификатор типа элемента - 3 Идентификатор элемента - {{source.int7996.source.COMMUNICATIONS.0.ENTITY_ID}}
Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

6.5. Запускаем интеграцию

Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов

7. Итог

С помощью настроенных выше интеграций мы решили следующие задачи заказчика:

7.1. Дела типа Письмо были перенесены из сделок и контактов в компании (если они есть на портале). При этом дела, которые остаются в родительской сущности, удаляются, чтобы не дублировать информацию.

7.2. Данный функционал помог не только уменьшить ручной труд, но и обеспечить прозрачный поиск и контроль дел, а также упорядочить коммуникации на портале согласно внутренним правилам компании.

Если у вас есть вопросы, пишите нам в Телеграм или WhatsApp. Также вы можете самостоятельно протестировать Пинкит, для этого зарегистрируйтесь в личном кабинете по ссылке: https://lk.pinkit.io/register.

Алексей Окара, продакт-менеджер Пинкит.
Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов
Начать дискуссию