Из 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 — Перенос базовых объектов
Порядок важен: сначала контакты, потом компании, потом сделки — иначе ассоциации не создать.
- Контакты ->
/crm/v3/objects/contacts(batch API, до 100 записей за запрос) - Компании ->
/crm/v3/objects/companies - Ассоциации контакт–компания ->
/crm/v4/objects/contacts/{id}/associations/companies - Сделки ->
/crm/v3/objects/deals - Ассоциации сделка–контакт и сделка–компания
Каждая запись получает внутренний идентификатор 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 оценит сложность маппинга и предложит конкретный план.