Маппинг данных для интеграции CRM: чек-лист
Техническая часть интеграции занимает несколько дней, а проблемы приходят позже: дубли номеров, потерянные статусы, сдвинутые на день даты. В статье — чек-лист маппинга данных для интеграции CRM: таблица из девяти столбцов, система-владелец, сопоставление статусов и списков, ключ идентичности, форматы, пустые значения, тест на 20 записях и пример.
Короткий ответ
Маппинг данных для интеграции CRM — это документ, где для каждого поля записано, куда оно идёт между двумя системами, в каком виде и по какому правилу. В хорошей таблице маппинга одна строка — одно поле и девять столбцов: поле-источник, поле-приёмник, тип и формат, преобразование, обязательность, направление, система-владелец, правило конфликта и пример значения. Статусы и списки сопоставляются отдельной таблицей. До запуска интеграцию проверяют на 20 реальных записях. Большая часть маппинга — бизнес-решения, а не технические, поэтому писать его должны вместе IT и продажи.
Почему маппинг — самое уязвимое место интеграции
Техническая часть интеграции — подключение API — часто занимает несколько дней. Проблемы появляются потом: в одной системе номер пишется с +994, в другой с 0, и возникают дубли; у статуса «Интересуется» нет аналога в приёмнике, и он падает в «Новый»; даты сдвигаются на день из-за разницы часовых поясов; две системы по очереди перезаписывают одно поле, и никто не знает, какое значение последнее.
Ни одна из этих ошибок не ошибка кода — это незаписанные решения. Документ маппинга заставляет принять их до того, как интеграция построена.
Девять столбцов таблицы маппинга
- Поле-источникТочное название и место поля в исходной системе: «lead.phone».
- Поле-приёмникЕго аналог в приёмнике: «Контакт → Телефон (рабочий)».
- Тип и форматТекст, число, дата, список; для телефона формат вида +994XXXXXXXXX.
- Преобразование«055 234 56 78» → «+994552345678»; «завтра» → конкретная дата; манаты → число.
- ОбязательностьЕсли поле обязательно в приёмнике, что делать при пустом источнике: не отправлять, значение по умолчанию или ошибка?
- НаправлениеОдностороннее (A → B) или двустороннее.
- Система-владелецГде хранится «правда» по этому полю.
- Правило конфликтаЕсли поле изменилось в обеих системах, какое значение остаётся.
- ПримерРеальное, но обезличенное значение — проверяется на тесте.
Система-владелец: у каждого поля один хозяин
Это главное решение: какая система — источник правды для каждого поля? Например, для потребности и резюме из разговора владелец — AI-платформа; для суммы договора и статуса оплаты — бухгалтерия или основная CRM. Поле без владельца при двусторонней синхронизации создаёт «пинг-понг»: каждая система перезаписывает значение другой.
Сопоставление статусов и списков
Статусы двух систем никогда не совпадают. Напишите отдельную маленькую таблицу: в какое значение приёмника превращается каждое значение источника. Например, «Интересуется» → «Qualified», «Недозвон» → «Attempted to contact». Для значения без аналога решите: создать новое значение в приёмнике, привязать к ближайшему или не отправлять. Как настраиваются сами статусы, разобрано в статье о статусах лидов.
Ключ идентичности и дубли
Система-приёмник должна понимать, новая ли пришедшая запись. Для этого выбирают один ключ: нормализованный телефон, email или идентификатор записи в источнике. Без ключа каждая синхронизация создаёт новую карточку. Надёжнее всего хранить идентификатор источника в отдельном поле приёмника: даже если телефон изменится, связь не потеряется. Очистка уже существующих дублей показана в статье о дублях карточек в CRM.
Форматы: телефон, дата, часовой пояс, валюта
- Телефон: один международный формат без пробелов. Если в источнике разные написания, пишется правило преобразования.
- Дата: формат ISO (2026-10-06) с явным часовым поясом — разница между бакинским временем и UTC может сдвинуть дату.
- Валюта: сумма числом, валюта отдельным полем.
- Имя: одно поле или имя и фамилия отдельно? Если в приёмнике раздельно, пишется правило разбиения.
- Длина текста: если поле приёмника хранит 255 символов, длинное резюме обрежется — знайте это заранее.
Пустые значения и значения по умолчанию
Как поле, пустое в источнике, должно попасть в приёмник? Вариантов три, и для каждого поля выбирается один: не отправлять (в приёмнике остаётся старое значение), отправить пустым (старое значение стирается) или записать значение по умолчанию. Самый опасный исход — пустое значение затирает правильное в приёмнике: бюджет, который менеджер вписал вручную, пропадает при следующей синхронизации.
Тест на 20 записях
- Выберите выборку20 реальных записей: полные, неполные, с необычными номерами, с длинным текстом, пришедшие дважды.
- ОтправьтеВ тестовую среду или в записи, помеченные как тестовые.
- Проверьте по полямСравните столбец примера в каждой строке с результатом в приёмнике.
- Отправьте повторноПри повторном приходе той же записи дубль появиться не должен.
- Внесите изменениеВручную измените поле в приёмнике и проверьте, что правило конфликта работает.
Иллюстративный пример
Это иллюстративный пример. Учебный центр хочет передавать лиды из разговоров в свою CRM. Таблица маппинга состоит из 14 полей. На тесте всплывают три проблемы: CRM-приёмник принимает номер только в формате с 0 в начале, у двух значений «Тип курса» нет аналога, а длинное резюме обрезается на 255 символах.
Решения: для номера пишется правило преобразования, два типа курса создаются в приёмнике, а резюме уходит в отдельное поле «заметка». Второй тест проходит на всех 20 записях, и интеграция запускается.
Типичные ошибки
- Отдать маппинг только технической команде — бизнес-решения принимаются наугад.
- Синхронизировать все поля в обе стороны.
- Не выбрать ключ идентичности.
- Не учитывать часовой пояс.
- Забыть тестовые записи в рабочем отчёте.
Ограничения
Документ маппинга точен ровно настолько, насколько позволяют обе системы: если API приёмника не принимает некоторые поля, таблица этого не изменит. При обновлениях системы меняют поля, поэтому документ нужно держать живым, а изменения записывать с датами. Передача персональных данных в другую систему также может требовать отдельной юридической оценки.
Интеграция CRM в Vexvon
Vexvon может передавать собранные лиды в CRM компании: в Bitrix24 карточка создаётся, как только найден номер, — с контактными данными, резюме разговора в одно предложение и каналом. Для других систем события вроде нового лида, завершённого звонка или смены статуса передаются в собственную систему компании через webhook. При загрузке файла столбцы сопоставляются с полями системы, а повторяющиеся номера очищаются. Какое поле куда идёт, мы записываем вместе под вашу систему. Подробнее — интеграции.
Следующий шаг
До интеграции откройте таблицу из девяти столбцов как пустой шаблон и заполните первые пять полей вместе с руководителем продаж: телефон, имя, источник, статус, резюме. План подключения голосового агента к CRM разобран отдельно в статье об интеграции AI-агента звонков с CRM. Другие статьи — в разделе об AI CRM; маппинг можно подготовить вместе во время демо.