CRM migration
Field-level mapping, validation, and rollback between Insightly Marketing and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.
Insightly Marketing
Source
HubSpot
Destination
Compatibility
14 of 15
objects map 1:1 between Insightly Marketing and HubSpot.
Complexity
BStandard
Timeline
48–72 hours
Overview
Insightly Marketing organizes data around Contacts, Organizations, Leads, Opportunities, and Projects — with a separate workflow-automation layer and per-object custom fields. HubSpot collapses Leads and Contacts into a single Contact object with a lifecycle_stage property, models deals through Pipelines and Stages, and stores Projects as Custom Objects. The migration must translate Insightly's object graph into HubSpot's property-based model, map Insightly's lead/contact split to HubSpot's lifecycle stages, convert Projects to HubSpot Custom Objects, and handle value mapping for pick-list fields like industry and task priority. FlitStack AI accesses Insightly via its REST API and maps records to HubSpot using the Contacts API and Companies API for bulk ingestion. Workflows, email templates, and automation rules do not migrate — FlitStack exports their definitions as JSON for your HubSpot admin to rebuild in HubSpot's workflow builder. The delta-pickup window captures in-flight changes during the cutover so HubSpot reflects the final Insightly state at go-live.
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 Marketing 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 Marketing
Contact
HubSpot
Contact
1:1Insightly Contacts map directly to HubSpot Contacts. The primary email address, phone, name fields, and address fields translate 1:1. Insightly's contact type distinction (Lead vs. Contact) routes based on the INSIGHTLY_LEAD field value into HubSpot's lifecycle_stage property — converted to 'lead' or 'customer' per the source record state.
Insightly Marketing
Lead
HubSpot
Contact
many:1Insightly's separate Lead object merges into HubSpot's single Contact object. All Lead fields — name, email, phone, company, status, source — map to the corresponding HubSpot Contact properties. The INSIGHTLY_LEAD flag is set to true on migrated records so the HubSpot lifecycle stage starts at 'lead' until manually progressed.
Insightly Marketing
Organization
HubSpot
Company
1:1Insightly Organizations map to HubSpot Companies using direct field-to-property translation for name, domain, industry, employee count, annual revenue, and address fields. For industry fields where Insightly uses free-text entries, HubSpot's default country pick-list values are applied and free-text entries are mapped to 'Other' with the original value preserved in a custom property.
Insightly Marketing
Opportunity
HubSpot
Deal
1:1Insightly Opportunities map to HubSpot Deals. The opportunity name becomes the deal name, amount maps to amount, and close date maps to closedate. Pipeline and stage mapping requires a value-mapping step — each unique Insightly stage name maps to a corresponding HubSpot pipeline-stage value, creating a pipeline in HubSpot if one does not already exist.
Insightly Marketing
Opportunity Contact Link
HubSpot
Deal → Contact Association
1:1Insightly stores opportunity-contact associations as separate link records with optional role labels. In HubSpot, the deal-to-contact relationship uses the associations API. Role labels that match HubSpot's built-in roles (decision-maker, influencer) map to those; other labels are stored as a custom contact property (opportunity_role) on the association.
Insightly Marketing
Project
HubSpot
Custom Object
1:1Insightly Projects have no direct HubSpot equivalent. We create a HubSpot Custom Object named 'Project' and map standard fields (name, status, due date, description) to custom properties. Task records linked to the project become child records stored as a custom property (task_ids) with a JSON array of task summaries, or as a secondary custom object if your HubSpot plan supports it.
Insightly Marketing
Task
HubSpot
Engagement / Note
1:1Insightly Tasks map to HubSpot engagements (calls, emails, meetings) or to Notes depending on the task category field. Task subject maps to the engagement subject; task status (completed/open) maps to the engagement timestamp; task due date becomes a HubSpot engagement property. Completed tasks with no outcome are stored as completed engagements for activity history continuity.
Insightly Marketing
Note
HubSpot
Note
1:1Insightly Notes map to HubSpot Notes. The note body (including HTML formatting) is preserved in HubSpot's note body. Original note author and create date are stored as custom properties on the note (note_author and note_original_date) since HubSpot's standard note timestamps reflect migration time.
Insightly Marketing
HubSpot
Engagement (Email)
1:1Insightly email records (sent, received, logged) map to HubSpot email engagements. The email subject, body, sender, and recipient map to the corresponding HubSpot engagement fields. If the email was associated to a contact in Insightly, that association link is preserved via HubSpot's engagement-to-contact association endpoint.
Insightly Marketing
Custom Object
HubSpot
Custom Object
1:1Insightly custom objects map 1:1 to HubSpot custom objects. Each custom object in Insightly gets a corresponding HubSpot custom object with the same label. Custom object fields map to HubSpot custom properties, applying type-aware conversions (date strings to ISO 8601, currency to amount with currencyCode, pick-lists to HubSpot option sets).
Insightly Marketing
Custom Field Groups
HubSpot
Property Groups
1:1Insightly's custom field groups — logical groupings of fields under expandable sections — map to HubSpot property groups on the destination object. The group name and field order are preserved. Fields that belong to a custom field group but are standard Insightly fields get their group assignment noted so the HubSpot admin can recreate the grouping.
Insightly Marketing
Attachment / File
HubSpot
File
1:1Insightly file attachments (stored linked to contacts, organizations, opportunities) are downloaded and re-uploaded to HubSpot's file manager. File names and original URLs are preserved in HubSpot's file metadata. Inline images in notes are downloaded and re-hosted in HubSpot's file CDN so note rendering remains intact after migration.
Insightly Marketing
User / Owner
HubSpot
User
1:1Insightly owner IDs are resolved by email match against HubSpot users. Any Insightly owner without a corresponding HubSpot user is flagged during the pre-migration audit. Your team can either invite them to HubSpot first or reassign their records to a designated fallback owner before the migration commits.
Insightly Marketing
Tag
HubSpot
Custom Property (comma-separated) / HubSpot List
1:1Insightly tags on contacts and organizations map to a HubSpot custom multi-value property (tag_names) stored as comma-separated text. For tag-based segmentation, tags can alternatively be used to create HubSpot lists — each unique tag becomes a static list membership criterion.
Insightly Marketing
Workflow / Automation Rule
HubSpot
Not migrated — exported for rebuild
1:1Insightly workflow rules, sequence triggers, and automation conditions do not have a HubSpot equivalent at the data level. FlitStack exports your Insightly workflow definitions as a JSON specification file that your HubSpot admin can use as a reference to rebuild equivalent automations in HubSpot's workflow builder.
| Insightly Marketing | HubSpot | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Lead | Contactmany:1 | Fully supported | |
| Organization | Company1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Opportunity Contact Link | Deal → Contact Association1:1 | Fully supported | |
| Project | Custom Object1:1 | Fully supported | |
| Task | Engagement / Note1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
Engagement (Email)1:1 | Fully supported | ||
| Custom Object | Custom Object1:1 | Fully supported | |
| Custom Field Groups | Property Groups1:1 | Fully supported | |
| Attachment / File | File1:1 | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Tag | Custom Property (comma-separated) / HubSpot List1:1 | Fully supported | |
| Workflow / Automation Rule | Not migrated — exported for rebuild1: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 Marketing gotchas
All-in-One bundles carry mandatory setup fees not visible in per-user pricing
CSV export is per-category and email-delivered, not a single bulk pull
Workflow automation rules are not accessible via API or CSV export
Email templates export in non-standardized format requiring rebuild
Custom object schemas vary per customer implementation
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 model and HubSpot destination schema
FlitStack connects to your Insightly instance via API and exports a full inventory of all objects, custom fields, custom field groups, pipeline configurations, and association links. We simultaneously review your target HubSpot account's existing schema — pipeline names, custom objects already in place, property groups, and user list. The audit output is a mapping plan that identifies every translation (direct, value-mapping, custom-field-required, no-equivalent) before any data moves. This step typically takes 2–3 business days depending on the number of custom properties.
Create HubSpot schema for non-direct mappings
For every field that requires a custom HubSpot property or custom object, FlitStack generates a schema-setup specification: property name, type, pick-list values (for option-set fields), property group assignment, and display label. Your HubSpot admin creates these properties before the migration run. For Project migration, we create the custom object and its properties. For lifecycle stage mapping, we document the value-mapping table that routes Insightly lead/contact records to HubSpot lifecycle_stage values. This ensures HubSpot is schema-ready when data starts loading.
Resolve owners by email and flag unmapped users
Insightly owner IDs are resolved by matching the owner's email address against HubSpot users. Any Insightly owner without a corresponding HubSpot user is listed in a pre-migration exceptions report. Your team decides whether to invite them to HubSpot before migration or reassign their records to a designated fallback owner. No record migrates without a resolved owner — this prevents HubSpot from assigning migrated records to the system admin by default, which would distort ownership reports at go-live.
Sequence and load master data before transactional records
HubSpot requires Companies to exist before Contacts (via associatedcompanyid) and Contacts to exist before Deals (via deal-contact associations). FlitStack sequences the migration in dependency order: Companies first, then Contacts (split from Insightly Leads and Contacts), then Deals with association links, then Projects as custom objects, then activity history (emails, notes, tasks). This prevents foreign-key errors where a deal references a company that hasn't been created yet. The sequence is documented in the migration plan so your team can review the load order before the full run.
Run sample migration with field-level diff and approve
A representative slice — typically 100–500 records spanning all object types, including records with custom fields and complex associations — migrates first. FlitStack generates a field-level diff report comparing each source field value against the destination property value. You can verify that lifecycle_stage mapping, pipeline-stage value mapping, and owner resolution are correct before the full run commits. Any field mapping errors identified in the sample are corrected in the migration engine before the full migration begins.
Execute full migration with delta-pickup window and audit log
The full migration runs against HubSpot using the Contacts API and Companies API for bulk ingestion. A delta-pickup window (typically 24–48 hours) opens after the initial load completes — any records created or modified in Insightly during the cutover window are captured and synced to HubSpot. FlitStack maintains a full audit log of every record operation (create, update, associate). If reconciliation identifies missing or misaligned records, one-click rollback reverts the HubSpot instance to its pre-migration state so the run can be corrected and re-executed without data corruption.
Platform deep dives
Insightly Marketing
Source
Strengths
Weaknesses
HubSpot
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Insightly Marketing and HubSpot.
Object compatibility
3 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 Marketing: Not publicly documented; Insightly does not publish explicit rate limits in its developer documentation.
Data volume sensitivity
Insightly Marketing 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 Marketing to HubSpot migration scoping. Not seeing yours? Book a call.
Walk through your Insightly Marketing 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 Marketing
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.