CRM migration

Migrate from Insightly Marketing to HubSpot

Field-level mapping, validation, and rollback between Insightly Marketing and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.

Insightly Marketing logo

Insightly Marketing

Source

HubSpot

Destination

HubSpot logo

Compatibility

93%

14 of 15

objects map 1:1 between Insightly Marketing and HubSpot.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Insightly Marketing logo

Insightly Marketing

What's pushing teams away

  • The learning curve is steep for new users — workflow automation and advanced configuration require time investment, and documentation is described as overwhelming.
  • Reporting capabilities are restrictive compared to enterprise CRMs, with limited flexibility for custom reports or deeper data analysis across large datasets.
  • UI performance issues surface when navigating large datasets, and some advanced features feel limited compared to more complex CRM systems.
  • Per-user pricing scales poorly for growing teams, and the mandatory All-in-One bundle fees (onboarding, AppConnect setup, Premier Support) surprise customers who expected the advertised per-user rate.
  • Customization options are more limited than expected — some users find the system cannot fully adapt to their unique business processes despite the marketing promise.

Choosing

HubSpot logo

HubSpot

What's pulling them in

  • Lowest barrier to entry of any major CRM — the free tier with unlimited contacts lets teams validate fit before committing to a paid plan, according to G2 and Capterra reviewers.
  • Native integration between the CRM and sales engagement tools (sequences, email tracking, dialer) means no separate sync configuration, a theme across G2 Sales Hub reviews.
  • Pipeline visualization, deal tracking, and automated workflows are consistently praised as intuitive and easy to set up without developer involvement.
  • Strong onboarding for new team members — reviewers on Capterra and G2 highlight how quickly new reps become productive without formal training.
  • The HubSpot platform ecosystem (Marketing, Sales, Service, CMS hubs) allows growing companies to consolidate tools without building new integrations.

Object mapping

How Insightly Marketing objects map to HubSpot

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

maps to

HubSpot

Contact

1:1
Fully supported

Insightly 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

maps to

HubSpot

Contact

many:1
Fully supported

Insightly'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

maps to

HubSpot

Company

1:1
Fully supported

Insightly 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

maps to

HubSpot

Deal

1:1
Fully supported

Insightly 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

maps to

HubSpot

Deal → Contact Association

1:1
Fully supported

Insightly 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

maps to

HubSpot

Custom Object

1:1
Fully supported

Insightly 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

maps to

HubSpot

Engagement / Note

1:1
Fully supported

Insightly 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

maps to

HubSpot

Note

1:1
Fully supported

Insightly 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

Email

maps to

HubSpot

Engagement (Email)

1:1
Fully supported

Insightly 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

maps to

HubSpot

Custom Object

1:1
Fully supported

Insightly 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

maps to

HubSpot

Property Groups

1:1
Fully supported

Insightly'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

maps to

HubSpot

File

1:1
Fully supported

Insightly 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

maps to

HubSpot

User

1:1
Fully supported

Insightly 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

maps to

HubSpot

Custom Property (comma-separated) / HubSpot List

1:1
Fully supported

Insightly 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

maps to

HubSpot

Not migrated — exported for rebuild

1:1
Fully supported

Insightly 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.

Gotchas + challenges

What specifically takes care here

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 logo

Insightly Marketing gotchas

High

All-in-One bundles carry mandatory setup fees not visible in per-user pricing

Medium

CSV export is per-category and email-delivered, not a single bulk pull

High

Workflow automation rules are not accessible via API or CSV export

Medium

Email templates export in non-standardized format requiring rebuild

Medium

Custom object schemas vary per customer implementation

HubSpot logo

HubSpot gotchas

High

Marketing Contacts billing model is migration-critical

High

Feature tier gating is not visible until onboarding

Medium

Mandatory onboarding fees inflate year-one cost

Medium

HubSpot CSV importer cannot migrate engagements or attachments

Medium

Custom objects require Enterprise and a pre-existing schema

Pair-specific challenges

  • Insightly lead/contact split collapses into a single HubSpot Contact object with lifecycle_stage differentiation

    Insightly maintains separate Lead and Contact objects with different field sets and export paths. HubSpot has one Contact object where leads are distinguished by lifecycle_stage values (subscriber, lead, MQL, SQL, customer, evangelist). During migration, all Insightly Leads and Contacts land in HubSpot as Contacts — the INSIGHTLY_LEAD flag is preserved as a custom property and the lifecycle_stage is set based on the source record type and any lead_status value. If your Insightly leads have fields that don't exist on the Contact object (because they were Lead-only fields), those fields become custom properties on every migrated record and your HubSpot admin should review whether to surface them on the contact record layout.

  • HubSpot's marketing contact billing model differs fundamentally from Insightly's per-user model

    Insightly pricing is per user with no distinction between 'marketing' and 'sales' contact counts. HubSpot bills based on marketing contact limits in the Marketing Hub — contacts marked as marketing contacts in HubSpot count toward that limit, while sales-only contacts do not. When migrating from Insightly, all contacts are imported as HubSpot contacts without the marketing flag set. Your team should evaluate which contacts should be flagged as marketing contacts post-migration based on email-subscription status and HubSpot's marketing contact rules. Failing to do this review can cause unexpected billing events when Marketing Hub is activated.

  • Insightly Projects have no native HubSpot equivalent and require custom-object construction

    Insightly's Project object stores milestones, task assignments, and project status as first-class records with relationships to contacts and organizations. HubSpot has no native project management object — the Project object must be created as a HubSpot Custom Object with custom properties for status, due date, and description. Task records linked to Insightly Projects are stored as JSON summaries in a custom property on the Project custom object because HubSpot's native activity model (engagements) is optimized for sales activities, not project deliverables. FlitStack surfaces this gap in the migration plan and creates the custom object schema in HubSpot before data loads so associations resolve correctly.

  • HubSpot's pipeline-stage probability model requires configuration post-migration

    Insightly stores probability as a numeric field on each opportunity record. HubSpot calculates stage probability from the pipeline configuration (percentage per stage) rather than storing it per record. Migrated deals will have the original Insightly probability stored as a custom property (hs_deal_stage_probability), but HubSpot's standard probability column will show the configured stage-level value. Your HubSpot admin should review pipeline configuration after migration to ensure stage probabilities align with your historical close rates, especially for stages that had non-standard probability values in Insightly.

  • Insightly's CSV export approach for historical records may require API-based extraction for complete field coverage

    Insightly's built-in export function generates CSVs for Contacts, Organizations, and Opportunities but may truncate custom field groups or omit relationship data (opportunity-contact links, tag associations) that are critical for HubSpot mapping. FlitStack uses the Insightly REST API for record extraction to ensure all custom fields, association links, and metadata are captured. If your Insightly plan restricts API access (some lower tiers limit API calls), FlitStack coordinates with your team to request elevated API access or uses a supplemental CSV export for any fields the API returns incompletely. The pre-migration audit flags this before work begins.

Migration approach

Six steps for a successful Insightly Marketing to HubSpot data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Insightly Marketing logo

Insightly Marketing

Source

Strengths

  • Combines CRM, marketing automation, and project management in a single subscription rather than three separate tools.
  • Right-sized pricing for 10-50 person teams — lower total cost than Salesforce with faster implementation.
  • Custom objects and custom field groups allow non-technical users to adapt the schema to their business without developers.
  • Native Unbounce integration provides landing pages and forms without additional third-party tools post-merger.
  • Annual billing with transparent per-user pricing; record limits scale across Plus (100k), Professional (250k), and Enterprise (500k).

Weaknesses

  • Workflow automation rules are not exportable, requiring manual recreation in the destination platform.
  • CSV export delivers one category at a time via email — not a unified bulk export for migration teams.
  • Mandatory fees (onboarding, AppConnect setup, Premier Support) apply to All-in-One bundles, inflating year-one costs beyond the advertised per-user rate.
  • UI performance degrades with large datasets, and reporting flexibility is limited compared to enterprise CRMs.
  • Email templates export in a format that requires rebuilding rather than direct import into most destination platforms.
HubSpot logo

HubSpot

Destination

Strengths

  • Genuinely useful free CRM tier with no seat limit on contact records.
  • All-in-one sales engagement layer (sequences, email tracking, calling, dialer) embedded natively in the CRM, eliminating a separate integration.
  • Intuitive interface and fast onboarding for individual reps, per G2 and Capterra reviews.
  • Workflow automation triggers across contacts, deals, and tickets with a visual builder.
  • API coverage for all standard objects including custom objects at Enterprise tier.

Weaknesses

  • Pricing model is contact-based at the marketing layer — importing all records as marketing contacts can multiply the monthly bill by 4×.
  • Feature tier cliffs are frequent surprises: sequences, calling, advanced reporting, and quoting are all gated, often requiring plan upgrades mid-implementation.
  • Mandatory onboarding fees at Professional ($1,500) and Enterprise ($3,500) are not prominently disclosed on the pricing page.
  • API rate limits are restrictive for bulk migration — burst limits of 100-200 req/10sec and search endpoint limits of 4 req/sec require careful job queuing.
  • Custom objects, additional pipelines, and advanced forecasting are Enterprise-only, making cost projections difficult for growing teams.

Complexity grading

How hard is this migration?

Standard CRM migration. 3 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Insightly Marketing and HubSpot.

  • Object compatibility

    B

    3 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Insightly Marketing: Not publicly documented; Insightly does not publish explicit rate limits in its developer documentation.

  • Data volume sensitivity

    B

    Insightly Marketing doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Insightly Marketing to HubSpot migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Insightly Marketing to HubSpot data migrations

Answers to the questions buyers ask most during Insightly Marketing to HubSpot migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most Insightly-to-HubSpot migrations complete in 48–72 hours for under 50,000 total records. Larger datasets exceeding 200,000 records, or setups with multiple Insightly custom field groups and Projects mapped to HubSpot custom objects, extend the timeline to 5–10 days. The schema-setup and mapping-plan phase (Steps 1–3) typically adds 2–3 business days before the migration run begins. HubSpot's API rate limits for bulk ingestion and the delta-pickup window are the primary clock-time drivers for large record volumes.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Insightly Marketing.
Land in HubSpot, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day