What gets lost when migrating Kommo to HubSpot — and how to prevent it

When transferring data from Kommo to HubSpot using standard tools (CSV export, Albato, SyncMatters), contacts, companies, and deals reach HubSpot — but call history, notes, tasks, deal attachments, and Digital Pipeline settings do not. This is not a limitation of any specific tool: it is a consequence of the architectural gap between Kommo’s lead-centric model and HubSpot’s object-based model. The data physically exists in Kommo, but the standard HubSpot import cannot accept it.

If you are currently evaluating a move from Kommo to HubSpot — below is the exact list of what is lost, why, and what can be preserved through an API migration.

What specifically gets lost in a standard migration

1. Activity history

All communication that accumulated in Kommo — calls both inbound and outbound, manager notes, automated Digital Pipeline events — is stored in deal events. The Kommo CSV export only exports deal and contact fields, not events.

In HubSpot, activity history consists of separate objects: Calls, Notes, Emails, Meetings, Tasks. Each requires a separate POST request via API with an explicit association to a contact or deal. No no-code tool does this.

What gets lost: calls with duration and comments, inbound messages from WhatsApp/Telegram (if present in Kommo conversations), manager notes, automatic stage change records.

2. Tasks

Tasks in Kommo (/api/v4/tasks) are linked to a deal or contact. They are not exported via CSV migration. In HubSpot, tasks are the Tasks object (/crm/v3/objects/tasks). Open tasks, especially important pipeline ones, disappear in a standard transfer.

What gets lost: open tasks (call scheduled, document pending), historical closed tasks as work context.

3. Attachments

Files attached to deals or notes in Kommo are stored on Kommo servers and accessible via API (/api/v4/leads/{id}/files). CSV does not contain file links. In HubSpot, files are uploaded via /files/v3/files and then attached to an object.

What gets lost: contracts, proposals, technical specifications that managers attached to deals.

4. Digital Pipeline settings

Digital Pipeline in Kommo consists of triggers on deal stage movement: automatic tasks, emails, responsible user changes, messenger messages. This is business logic, not data. When moving to HubSpot, it must be redesigned as Workflows.

What gets lost: all automation. Not “partially” — completely. HubSpot Workflows is a fundamentally different tool with different trigger logic.

5. Tags and custom fields with non-standard types

Kommo supports tags on deals and contacts. In HubSpot, tags as a separate entity do not exist — they are modeled as a multi-select property. In a standard import, tags are lost.

Custom field types such as “checkbox,” “multi-select list,” and “linked user” require pre-creating the corresponding properties in HubSpot and mapping values.

6. Associations between objects

Kommo allows linking multiple contacts to one deal. In a CSV import to HubSpot, typically only the first contact is transferred. The remaining deal participants are lost or not linked to the correct deal.

Summary table of losses

DataCSV/no-codeAPI migration
ContactsYes (partial)Yes (complete)
CompaniesYes (partial)Yes (complete)
DealsYes (partial)Yes (complete)
Custom fieldsPartialYes (with mapping)
TagsNoYes (-> multi-select)
Call historyNoYes
NotesNoYes
TasksNoYes
AttachmentsNoPartial
Digital PipelineNoNo (redesign required)
Messenger conversationsNoNo

Why Albato, SyncMatters, and similar tools do not solve the problem

No-code synchronization tools (Albato, SyncMatters, Zapier) can transfer CRM objects: contact created in Kommo -> created in HubSpot. This works for current data in real time.

For historical migration they are not suitable:

  • No batch mode for exporting activity history from the Kommo API
  • No mechanism for creating activity associations in HubSpot (POST + association — two sequential requests)
  • No duplicate conflict handling (the same contact already exists in HubSpot)
  • No logging and report of what did not transfer

As a result: you run Albato, get contacts and deals without history. This is faster than manual CSV, but the outcome is the same.

Architectural decisions before migration

Before transferring data, several design decisions must be made.

How to transfer Kommo tags

Option 1: create a multi-select property kommo_tags on contacts and deals in HubSpot, populated with values from Kommo tags.

Option 2: if tags are used as statuses or categories — map to existing HubSpot enum properties or create separate boolean properties.

What to do with Digital Pipeline

Digital Pipeline is not transferred — it is redesigned. For each trigger in Kommo you need to:

  1. Identify the equivalent condition in HubSpot (deal stage change, property change, date)
  2. Build a Workflow in HubSpot with the same action

This takes 1–2 weeks of separate work with the sales team — they need to describe how automation should work in the new system, not simply copy the old one.

Activity history: what to migrate, what to archive

Not all history needs to be transferred to active HubSpot records. The recommended approach:
— Activities from the last 12–18 months -> transfer via API as Notes and Calls
— Older activities -> archive in a separate field or Google Sheet with a link in the deal note

This reduces the scope of work and does not clutter the HubSpot feed with three-year-old history.

What a proper API migration looks like

Phase 1 — Kommo audit via API

GET /api/v4/leads?limit=250           # deals
GET /api/v4/contacts?limit=250        # contacts
GET /api/v4/leads/{id}/events         # activity history
GET /api/v4/tasks?limit=250           # tasks
GET /api/v4/leads/custom_fields       # custom fields

Result: exact counts by each data type, list of custom fields, scope estimate.

Phase 2 — Creating structure in HubSpot

  • Pipelines and Deal Stages matching Kommo pipelines
  • Custom properties via /crm/v3/properties/{objectType}
  • User mapping: kommo_user_id -> hubspot_owner_id

Phase 3 — Object transfer

Contacts -> Companies -> Deals (in this order, otherwise associations cannot be created).

Each record receives a custom property kommo_lead_id — for linking activities in the next phase.

Phase 4 — Activity transfer

Kommo Notes -> HubSpot Notes:

GET /api/v4/leads/{id}/notes
-> POST /crm/v3/objects/notes
   { "properties": { "hs_note_body": "[date] [author]\n[text]",
     "hs_timestamp": ... } }
-> POST /crm/v4/objects/notes/{id}/associations/deals/{deal_id}

Calls -> HubSpot Calls:

GET /api/v4/leads/{id}/events?filter[type]=phone_call
-> POST /crm/v3/objects/calls
   { "properties": { "hs_call_title": ..., "hs_call_body": ...,
     "hs_call_direction": "INBOUND"|"OUTBOUND",
     "hs_call_duration": ..., "hs_timestamp": ... } }
-> Association with contact and deal

Tasks -> HubSpot Tasks:

GET /api/v4/tasks?filter[entity_type]=leads
-> POST /crm/v3/objects/tasks
   { "properties": { "hs_task_subject": ...,
     "hs_task_status": "NOT_STARTED"|"COMPLETED",
     "hs_timestamp": ... } }

Phase 5 — Validation

  • Quantitative: records in Kommo vs HubSpot by each type
  • Qualitative: 30–50 cards side by side
  • Check: each activity has an association with the correct object

Real-world case

In a migration project for a B2B agency (Kommo -> HubSpot Sales Hub Professional, 8 managers):
— 3,200 deals, 5,100 contacts, 890 companies
— 41,000 events and notes
— 2,400 tasks (700 open)
— 4 Kommo pipelines -> 4 HubSpot pipelines
— 28 custom fields, of which 24 mapped directly, 4 required reorganization

Timeline: 5 weeks. Of which 1.5 weeks — audit and mapping, 1 week — creating Workflows as Digital Pipeline replacements, 2.5 weeks — technical transfer and validation.

In the end, 96% of activities were transferred. Not transferred: WhatsApp conversations inside Kommo (not stored as text, only as a link to the dialogue), files larger than 100 MB (left in the Kommo archive).

Who this migration is relevant for

The move from Kommo to HubSpot is justified if the company:
— Has grown to 15–50 people and needs cross-object reporting
— Is B2B with multiple stakeholders on the client side
— Marketing must work with the same database as sales
— Has a deal cycle longer than 30 days and communication history is critical

More about the architectural gap between the systems — in the comparison article Kommo vs HubSpot: data model differences.

If you are still evaluating whether to migrate — read the Kommo CRM overview with a description of all limitations: sometimes the problem is solved not by migration but by custom development within the current system.

Frequently asked questions

Can WhatsApp conversations from Kommo be transferred to HubSpot?

No. Kommo stores WhatsApp conversations as a link to a dialogue in its interface, not as exportable text messages. The Kommo API does not return the body of messenger messages. This conversation history cannot be transferred to HubSpot by any tool — only if key messages were manually copied into Kommo notes.

What should be done with open tasks in Kommo?

Open tasks are transferred via API as Tasks in HubSpot with NOT_STARTED status. This is one of the migration priorities — open tasks are active, and losing them means missed follow-ups. After transfer, the team must verify tasks in HubSpot before the cutover date.

How long does a full Kommo to HubSpot migration take?

For a database of up to 5,000 deals with activity history — 4–6 weeks. The longest phases: custom field mapping (requires team involvement) and redesigning Digital Pipeline as Workflows. The technical transfer via API takes the least time.

Is a parallel period of working in both systems needed?

Recommended: no more than 2 weeks. A long parallel period creates confusion — managers update data in different places. The best approach: fix a cutover date, stop creating new records in Kommo 2 weeks before it, and run the final sync the day before.

What happens to Kommo settings after migration?

The Kommo account is not deleted automatically — it remains active until the end of the paid period. Recommendation: after cutover, switch Kommo to read-only mode (prohibit creating new records), use it as a data archive for 3–6 months, then cancel the subscription. We recommend downloading Kommo data via API in JSON format as a backup.

Summary

  • CSV and no-code transfer the “skeleton”: contacts, companies, deals — without history
  • Activity history, tasks, attachments require API migration
  • Digital Pipeline is not transferred — it is redesigned as HubSpot Workflows
  • Messenger conversations cannot be transferred by any tool
  • A proper migration takes 4–6 weeks; attempting it over a weekend = data loss

If you plan to transfer data from Kommo to HubSpot — describe your database size and what is critical to preserve. Exceltic.dev will assess the complexity and propose a specific plan.

More articles

All →