Из Bitrix24 в HubSpot: почему автоматические инструменты теряют историю активностей

Из Bitrix24 в HubSpot: почему автоматические инструменты теряют историю активностей

Миграция из Bitrix24 в HubSpot через CSV или no-code коннекторы переносит контакты и сделки — но теряет историю звонков, задач, писем и внутренних комментариев. Это не баг конкретного инструмента: это архитектурное несовпадение между тем, как Bitrix24 хранит активности, и тем, как HubSpot их принимает. Без специальной обработки переходит только «скелет» базы — без контекста общения, который и составляет реальную ценность CRM.

Если ваша команда планирует переход с Bitrix24 на HubSpot и важна история работы с клиентами — эта статья объяснит, где именно теряются данные и как их сохранить.

Почему компании уходят с Bitrix24 на HubSpot

Bitrix24 — комбайн: CRM, задачи, HR, корпоративный портал в одной системе. Для компаний, которые выросли за пределы этого формата, это становится проблемой. Типовые причины перехода:

  • Отчётность. Bitrix24 даёт только заготовленные шаблоны. HubSpot — кросс-объектные отчёты по контактам, компаниям, сделкам и активностям без экспорта в Excel.
  • Маркетинг и продажи в одной базе. В Bitrix24 CRM и email-маркетинг — разные модули с плохой синхронизацией. HubSpot — единая база с нативным Marketing Hub.
  • Международный стек. HubSpot нативно интегрируется с Salesforce, Stripe, Calendly, Typeform. Bitrix24 замкнут на собственную экосистему.
  • B2B pipeline. Для сделок с несколькими стейкхолдерами HubSpot даёт roles, associations и кросс-объектные workflow — Bitrix24 этого не умеет архитектурно.

При этом в Bitrix24 годами накапливаются данные: история звонков через встроенную телефонию, задачи по клиентам, комментарии в сделках, переписка через Email-трекер. Именно это теряется при стандартном переносе.

Архитектурный разрыв: как хранятся активности в Bitrix24 и HubSpot

Bitrix24 хранит активности в нескольких несвязанных сущностях:
CRM_ACTIVITY — звонки, письма, встречи, прикреплённые к сделке или контакту
TASK — задачи в CRM-разделе (отдельная таблица от самих задач в Tasks)
TIMELINE — внутренние заметки и комментарии к сделкам
— Письма через Email-трекер — отдельная сущность с привязкой к элементу CRM

Всё это доступно через Bitrix24 REST API (crm.activity.list, task.item.list), но не экспортируется в CSV.

HubSpot принимает активности через отдельные API endpoints:
/crm/v3/objects/calls — звонки
/crm/v3/objects/emails — письма
/crm/v3/objects/meetings — встречи
/crm/v3/objects/notes — заметки
/crm/v3/objects/tasks — задачи

Каждый объект активности создаётся отдельным POST-запросом, затем ассоциируется с контактом, компанией или сделкой через /crm/v4/objects/{type}/{id}/associations.

No-code инструменты (HubSpot Data Importer, Albato, Make) работают с CSV или стандартными объектами CRM — они не умеют читать CRM_ACTIVITY через Bitrix24 API и не умеют создавать ассоциации активностей в HubSpot через API. Поэтому история просто не переносится.

Что конкретно теряется при стандартной миграции

Объект в Bitrix24Переносится через CSVПереносится через no-codeЧерез API
КонтактыДа (частично)ДаДа (полностью)
КомпанииДа (частично)ДаДа (полностью)
СделкиДа (частично)ДаДа (полностью)
Кастомные поля сделокНетЧастичноДа (с маппингом)
Звонки (CRM_ACTIVITY)НетНетДа
Задачи по сделкамНетНетДа
Внутренние комментарииНетНетДа
Письма (Email-трекер)НетНетДа
ВстречиНетНетДа
Прикреплённые файлыНетНетЧастично

«Частично» по контактам и сделкам означает: переносятся стандартные поля (имя, телефон, email, сумма сделки), но не все кастомные поля и не связи между объектами.

Почему «частично» — это проблема

Контакт без истории коммуникации — просто строчка в базе. Когда менеджер открывает карточку в HubSpot после миграции, он видит:
— Имя, телефон, email
— Статус сделки на момент переноса
— Пустую ленту активностей

Вопросы «когда последний раз общались», «что обещали на звонке в марте», «почему сделка зависла» — без ответа. Менеджер звонит клиенту вслепую. Клиент, который 6 месяцев переговаривался с командой, получает вопрос «расскажите о вашей задаче».

Для компаний с длинным циклом сделок (B2B, SaaS, консалтинг) это прямые потери: переквалификация лидов, которых уже квалифицировали, повторные демо, потеря доверия.

Правильный процесс миграции через API

Полная миграция из Bitrix24 в HubSpot включает пять этапов.

Этап 1 — Аудит данных в Bitrix24

Перед переносом: инвентаризация через API.
crm.contact.list — количество контактов, список кастомных полей
crm.deal.list — сделки, этапы, кастомные поля, связи с контактами и компаниями
crm.activity.list — количество активностей по типам (звонки, письма, встречи, задачи)
— Проверка дубликатов контактов (Bitrix24 не блокирует создание дублей)

Результат: карта объектов с количеством записей и оценкой объёма работ.

Этап 2 — Разработка схемы маппинга

Kастомные поля Bitrix24 не имеют прямых аналогов в HubSpot. Нужно:
— Для каждого кастомного поля Bitrix24 — создать свойство в HubSpot через /crm/v3/properties/{objectType}
— Смапить типы данных: CRM_FIELD_TYPE_STRING -> text, CRM_FIELD_TYPE_ENUMERATION -> enumeration с маппингом значений, CRM_FIELD_TYPE_DATE -> date
— Решить что делать с полями без аналога: архивировать в notes или создавать кастомное свойство

Этот этап требует участия команды — только они знают, какие поля используются активно, а какие заполнены историческим мусором.

Этап 3 — Перенос базовых объектов

Порядок важен: сначала контакты, потом компании, потом сделки — иначе ассоциации не создать.

  1. Контакты -> /crm/v3/objects/contacts (batch API, до 100 записей за запрос)
  2. Компании -> /crm/v3/objects/companies
  3. Ассоциации контакт–компания -> /crm/v4/objects/contacts/{id}/associations/companies
  4. Сделки -> /crm/v3/objects/deals
  5. Ассоциации сделка–контакт и сделка–компания

Каждая запись получает внутренний идентификатор Bitrix24 (bitrix_id) как кастомное свойство — он нужен для связи активностей на следующем этапе.

Этап 4 — Перенос истории активностей

Самый трудоёмкий этап. По каждому типу активности:

Звонки (CRM_ACTIVITY_TYPE_CALL):

GET /rest/crm.activity.list?filter[TYPE_ID]=2
-> POST /crm/v3/objects/calls
   { "properties": { "hs_call_title": ..., "hs_call_body": ...,
     "hs_call_duration": ..., "hs_call_direction": ...,
     "hs_timestamp": ... } }
-> POST /crm/v4/objects/calls/{callId}/associations/contacts/{contactId}

Заметки и комментарии:

GET /rest/crm.timeline.comment.list
-> POST /crm/v3/objects/notes
   { "properties": { "hs_note_body": ..., "hs_timestamp": ... } }
-> Ассоциация с контактом или сделкой

Задачи (task.item.list):

GET /rest/tasks.task.list?filter[UF_CRM_TASK]=Y
-> POST /crm/v3/objects/tasks
   { "properties": { "hs_task_subject": ..., "hs_task_body": ...,
     "hs_task_status": ..., "hs_timestamp": ... } }

Каждый запрос логируется: ID из Bitrix24, ID в HubSpot, статус. При сбое — повтор с идемпотентным ключом (hs_unique_creation_key), чтобы избежать дублей.

Этап 5 — Валидация

  • Выборочная проверка: 20-30 карточек с историей в обеих системах side by side
  • Автоматическая проверка: количество активностей по типам в Bitrix24 vs HubSpot
  • Проверка ассоциаций: у каждой активности должна быть привязка к контакту или сделке
  • Итоговый отчёт расхождений — то, что не перенеслось (обычно файлы и некоторые типы кастомных активностей)

Типичные проблемы и как их решать

Дубликаты контактов в Bitrix24. Bitrix24 не блокирует создание контактов с одинаковым email. Перед переносом нужна дедупликация — либо через Bitrix24 API (поиск по email), либо через промежуточную обработку. Если переносить с дублями — в HubSpot они создадут конфликт или появятся как отдельные записи.

Rate limits HubSpot API. HubSpot ограничивает до 100 запросов в 10 секунд для большинства endpoints (зависит от тарифа). При базе в 10,000+ контактов нужна очередь с задержками и exponential backoff при получении 429.

Пустые обязательные поля. HubSpot требует email для контакта или dealname для сделки. В Bitrix24 эти поля могут быть пустыми. Нужна предобработка: заполнение плейсхолдерами или пропуск записей с пометкой для ручной проверки.

Часовые пояса в датах. Bitrix24 хранит даты в UTC+3 (или в настроенном часовом поясе аккаунта). HubSpot ожидает Unix timestamp в миллисекундах UTC. Конвертация без учёта timezone — смещение дат на несколько часов.

Большие файлы вложений. HubSpot API принимает файлы до 512 MB через /files/v3/files. Файлы из Bitrix24 нужно сначала скачать через disk.file.get, потом загрузить в HubSpot Files и связать с активностью. На практике переносят только небольшие файлы; крупные архивы остаются в облачном хранилище.

Реальный кейс

В типовом проекте миграции из Bitrix24 в HubSpot для B2B-компании с 3 лет истории:
— 8,400 контактов -> 8,217 после дедупликации
— 2,100 сделок в 4 воронках
— 47,000 активностей (звонки, задачи, заметки, письма)
— 23 кастомных поля, из которых 18 смапились напрямую, 5 — реорганизованы

Перенос занял 4 недели: 1 неделя аудита и маппинга, 1 неделя разработки скриптов и тестирования на staging, 2 недели основного переноса с валидацией. 94% активностей перенесены полностью; 6% — файловые вложения, оставлены в Bitrix24 архивом.

Для сравнения: попытка через HubSpot Data Importer + CSV заняла 2 дня и перенесла только контакты, сделки и 11 стандартных полей — без единой активности.

Для каких компаний это актуально

Переход имеет смысл если:
— B2B с циклом сделки от 2+ недель и несколькими стейкхолдерами на стороне клиента
— Нужна сквозная аналитика маркетинг -> продажи в одной базе
— Команда использует или планирует использовать HubSpot Marketing Hub, Service Hub
— Международный стек: Stripe, Calendly, Salesforce, Looker — всё это интегрируется с HubSpot нативно

Переход нецелесообразен если:
— Основной канал продаж — мессенджеры и входящие лиды с коротким циклом
— Команда меньше 10 человек без планов роста
— Bitrix24 используется активно как корпоративный портал (задачи, HR, диск) — CRM в этом случае не мигрирует изолированно

Подробно об архитектурных различиях между системами — в сравнении Kommo vs HubSpot: модели данных, которое применимо и к пониманию разницы HubSpot vs Bitrix24.

Часто задаваемые вопросы

Можно ли сделать миграцию из Bitrix24 в HubSpot самостоятельно?

Частично — да. HubSpot Data Importer позволяет загрузить контакты, компании и сделки через CSV. Это бесплатно и подходит для небольших баз без критичной истории. Для переноса активностей (звонки, задачи, переписка) нужны скрипты на Bitrix24 REST API и HubSpot API — это требует разработки. Объём работ зависит от количества активностей и наличия кастомных полей.

Сколько времени занимает миграция из Bitrix24 в HubSpot?

Для базы до 5,000 контактов с историей активностей — 3–4 недели с учётом аудита, разработки и валидации. Для баз 10,000+ — 6–8 недель. Основное время уходит не на технический перенос, а на маппинг кастомных полей и дедупликацию — это требует участия бизнеса, не только разработчика.

Что делать с воронками Bitrix24, которых нет в HubSpot?

Bitrix24 позволяет создавать направления CRM с разными стадиями. В HubSpot им соответствуют Pipelines. Создайте отдельный pipeline в HubSpot для каждого направления Bitrix24. Стадии маппируются вручную — буквального соответствия нет, нужно решение бизнеса: как стадия «Согласование договора» в Bitrix24 называется в новой системе.

Можно ли запустить HubSpot параллельно с Bitrix24 на период перехода?

Да, и это рекомендуемый подход. Команда продолжает работу в Bitrix24 пока идёт миграция; в согласованную дату переходит на HubSpot. Синхронизация между системами на период параллельной работы — опционально: как правило, достаточно финальной синхронизации новых записей за последние 2–4 недели до cutover.

Теряется ли история писем из Bitrix24?

Письма, отправленные через встроенный Email-трекер Bitrix24 (CRM_ACTIVITY_TYPE_EMAIL), хранятся как активности и переносятся через API — тело письма, дата, направление (входящее/исходящее), привязка к контакту. Письма из внешних почтовых клиентов, не захваченные трекером, в Bitrix24 не хранятся и переноситься не могут.

Итого

  • CSV и no-code инструменты переносят только «скелет» базы — контакты, сделки, базовые поля
  • История звонков, задач, писем и заметок требует работы через Bitrix24 REST API и HubSpot API
  • Правильная последовательность: аудит -> маппинг -> базовые объекты -> активности -> валидация
  • Типичный срок полной миграции — 4–6 недель; попытка сделать это за выходные приведёт к потере данных
  • 94%+ активностей переносимы при API-миграции; исключение — бинарные файлы и кастомные типы активностей

Если вы сейчас планируете переход с Bitrix24 на HubSpot — опишите объём базы и что важно сохранить. Команда Exceltic.dev оценит сложность маппинга и предложит конкретный план.

Ещё статьи

Все →