CRM migration
Field-level mapping, validation, and rollback between Insightly CRM and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.
Insightly CRM
Source
HubSpot
Destination
Compatibility
12 of 12
objects map 1:1 between Insightly CRM and HubSpot.
Complexity
CModerate
Timeline
48–72 hours
Overview
Insightly CRM and HubSpot both organize data around person-level, company-level, and deal-level records, but the relationship model, field-naming conventions, and pipeline configuration diverge in ways that require deliberate mapping before any data moves. Insightly stores Organizations (companies), Contacts, Opportunities (deals), Tasks, Projects, and Notes as standard objects, with a many-to-many link table for contact-to-organization relationships and a separate Role field to indicate a contact's relationship to an Opportunity. HubSpot models the same concepts as Companies, Contacts, Deals, and Tickets, but it uses a primary-company field on contacts (with additional company associations stored as a separate association set), and deal contact roles are managed through a dedicated Deal Contact Association feature rather than a flat Role field. FlitStack AI sequences the migration so foreign keys resolve correctly: Organizations migrate first, then Contacts with OrganizationId resolved to a HubSpot CompanyId, then Opportunities with contact role links rebuilt through HubSpot's association API. Original create dates, stage-change timestamps, and owner assignments are preserved as custom properties since HubSpot's native CreatedDate and LastModifiedDate reflect migration time. Projects and Tasks require case-by-case decisions — Projects may map to HubSpot Tickets or a custom object, and Tasks migrate as HubSpot Tasks with original owner and due-date metadata. Workflows, automations, email templates, and Insightly's AI Copilot settings do not migrate. These are rebuilt in HubSpot using FlitStack's exported workflow definitions as a reference. The migration runs via read-only Insightly API access (v3.1) pulling each object in dependency order, with field-level validation against a pre-run diff before the full dataset commits.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Insightly CRM object lands in HubSpot, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Insightly CRM
Contact
HubSpot
Contact
1:1Direct 1:1 map. Insightly contacts become HubSpot contacts. Each contact's PRIMARY_ORG_ID resolves to a HubSpot CompanyId lookup. Contacts without an OrganizationId land in HubSpot as contacts without an associated company — flagged for review before the full migration commits. During the migration, any contacts that lack an organization link are logged in a review queue so your team can manually assign a company if needed before finalizing the data.
Insightly CRM
Organisation (Organization)
HubSpot
Company
1:1Direct 1:1 map. Insightly Organisations map to HubSpot Companies. The ORGANISATION_ID becomes the reference for resolving Contact-to-Company associations during the contact migration phase. Parent-child Organisation hierarchies map to HubSpot's parent company field if your HubSpot account has that feature enabled.
Insightly CRM
Organisation Link (N:N contact-organization)
HubSpot
Company Association (secondary)
1:1Insightly's contact-to-organisation link table is a pure N:N relationship with no limit. HubSpot stores one primary company on a contact and additional company associations via a separate association set. We migrate the most recently modified organisation link as the primary company and surface the rest as secondary HubSpot company associations. All links are preserved as a custom multi-select property for reference.
Insightly CRM
Opportunity
HubSpot
Deal
1:1Direct 1:1 map at the record level. Insightly Opportunity fields (OPP_NAME, AMOUNT, STAGE, PROBABILITY, CLOSE_DATE, PIPELINE_ID, OWNER_USER_ID, CUSTOMFIELDS) map to HubSpot Deal properties (dealname, amount, dealstage, hubspot_owner_id, pipeline, closedate). Stage values require value-by-value mapping against your HubSpot pipeline's stage set.
Insightly CRM
Opportunity Contact Role
HubSpot
Deal Contact Association
1:1Insightly stores a contact's role on an Opportunity as a ROLE field on the opportunity contact record (values like Decision Maker, Technical Champion, Influencer). HubSpot uses Deal Contact Associations with role labels. We map the Insightly role value to the equivalent HubSpot association label. Where no HubSpot label matches, we create a custom deal property to preserve the role.
Insightly CRM
Pipeline
HubSpot
Pipeline
1:1Insightly Pipelines with stage names, probabilities, and stage-order maps translate to HubSpot Pipelines. Each HubSpot pipeline must be created in HubSpot first; we reference pipeline IDs during deal migration. Stage names map value-by-value to HubSpot stage labels in the target pipeline.
Insightly CRM
Project
HubSpot
Ticket (or Custom Object)
1:1Insightly Projects have no native HubSpot equivalent. We assess your project's field structure and either map it to HubSpot Tickets (for simple project-tracking use cases) or a HubSpot custom object (for complex project schemas with multiple custom fields, linked records, or milestones). Your team decides before migration runs.
Insightly CRM
Task
HubSpot
Task
1:1Direct 1:1 map for standard tasks. Insightly task fields (TITLE, BODY, DUE_DATE, OWNER_USER_ID, TASK_COMPLETED, REMINDER_ENABLED) map to HubSpot Task properties. Completed status, due date, and original owner are preserved. Tasks linked to Opportunities in Insightly are re-linked to the corresponding HubSpot Deal via the association API.
Insightly CRM
Note
HubSpot
Engagement (Note)
1:1Insightly notes with body text and a linked record (Contact, Organisation, or Opportunity) migrate as HubSpot engagements of type note. The original body text, create date, and linked record association are preserved. If the note contains file attachments, we re-upload those to HubSpot Files and link them to the target contact, company, or deal.
Insightly CRM
Custom Object
HubSpot
Custom Object (or Ticket)
1:1Insightly custom objects (Professional and Enterprise plans) map to HubSpot custom objects. Each custom object in HubSpot must be created before migration. If your Insightly custom object uses N:N associations to Contacts or Opportunities, we replicate those as HubSpot association entries via the custom object API. Simple custom objects with no complex associations may alternatively map to HubSpot Tickets.
Insightly CRM
Attachment / File
HubSpot
HubSpot Files
1:1Files attached to Insightly contacts, organisations, or opportunities are downloaded from Insightly's file storage and re-uploaded to HubSpot Files. Each file is linked to its target record (Contact, Company, or Deal) in HubSpot. File size limits apply (HubSpot's default file size limit per attachment).
Insightly CRM
Workflow / Automation
HubSpot
HubSpot Workflows
1:1Insightly workflow automations (triggers, conditions, and actions) are not transferable to HubSpot. We export your Insightly workflow definitions as a structured document so your HubSpot admin can rebuild them in HubSpot Workflows. The rebuild reference covers trigger events, condition branches, and action steps from each active workflow.
| Insightly CRM | HubSpot | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Organisation (Organization) | Company1:1 | Fully supported | |
| Organisation Link (N:N contact-organization) | Company Association (secondary)1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Opportunity Contact Role | Deal Contact Association1:1 | Fully supported | |
| Pipeline | Pipeline1:1 | Fully supported | |
| Project | Ticket (or Custom Object)1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Note | Engagement (Note)1:1 | Fully supported | |
| Custom Object | Custom Object (or Ticket)1:1 | Fully supported | |
| Attachment / File | HubSpot Files1:1 | Fully supported | |
| Workflow / Automation | HubSpot Workflows1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Insightly CRM gotchas
Free plan record cap applies to all Insightly objects
API rate limits vary by plan and reset daily
Custom fields require FIELD_NAME lookup before writes
XML export only captures default fields for migrations out
Link relationships must be rebuilt via dedicated endpoints
HubSpot gotchas
Marketing Contacts billing model is migration-critical
Feature tier gating is not visible until onboarding
Mandatory onboarding fees inflate year-one cost
HubSpot CSV importer cannot migrate engagements or attachments
Custom objects require Enterprise and a pre-existing schema
Pair-specific challenges
Migration approach
Audit Insightly data volume and build the field mapping plan
FlitStack AI connects to Insightly via read-only API access (v3.1) to audit record counts across all objects — Contacts, Organisations, Opportunities, Projects, Tasks, Notes, and custom objects. We generate a data volume report and a field-level mapping spreadsheet that pairs every Insightly field with its HubSpot equivalent. For fields with no direct HubSpot match, we propose a custom property or a value-mapping rule. Your team reviews and approves the mapping plan before any data moves.
Create HubSpot data structure and resolve owners
Before records migrate, we create all required HubSpot custom properties, configure pipeline and stage IDs, and set up custom objects referenced in the mapping plan. Insightly user accounts are matched to HubSpot users by email address — unmatched owners are flagged so your team can either invite them to HubSpot or assign a fallback owner before migration. No record lands in HubSpot without a resolved owner.
Migrate Organisations first, then Contacts, then Opportunities with association rebuild
We sequence the migration to satisfy HubSpot's foreign-key requirements. Organisations migrate first and become HubSpot Companies. Contacts migrate next with PRIMARY_ORG_ID resolved to HubSpot CompanyId lookups; N:N organisation links surface as secondary HubSpot company associations. Opportunities migrate last with contact roles rebuilt via HubSpot's Deal Contact Association API. Projects migrate as HubSpot Tickets or a custom object per your team's pre-decided strategy.
Run sample migration with field-level diff before full commit
A representative slice — typically 100–500 records across Contacts, Companies, Deals, and a sample of Notes and Tasks — migrates first. We generate a field-level diff report comparing source values against HubSpot destination values, covering field-name mapping, pick-list value mapping, owner resolution, and association links. Your team reviews the diff and approves before the full migration commits. This sample validation ensures that all custom property names, pick-list options, and association types transfer correctly before committing the entire dataset.
Execute full migration with delta-pickup window and audit log
Full dataset migrates in dependency order. A delta-pickup window (typically 24–48 hours) captures any records created or modified in Insightly during the cutover period. Every operation is captured in an audit log — record counts per object, association links created, custom properties populated, and any records that failed to migrate with the reason for each failure. One-click rollback reverts all migrated records if reconciliation against the source data fails.
Platform deep dives
Insightly CRM
Source
Strengths
Weaknesses
HubSpot
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Insightly CRM and HubSpot.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Insightly CRM: 10 requests per second; daily limit varies by plan (starting at 1,000 requests/day for free plan).
Data volume sensitivity
Insightly CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Insightly CRM to HubSpot migration scoping. Not seeing yours? Book a call.
Walk through your Insightly CRM to HubSpot migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Insightly CRM
Other ways to arrive at HubSpot
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.