CRM migration

Migrate from Merlin to HubSpot

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

Merlin logo

Merlin

Source

HubSpot

Destination

HubSpot logo

Compatibility

100%

10 of 10

objects map 1:1 between Merlin and HubSpot.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Merlin stores work as Projects, Tasks, Milestones, and Resources — a project-management model with hierarchical task trees, time tracking, and resource assignments. HubSpot organizes around Contacts, Companies, Deals, and Activities — a sales-and-service model where the deal record is the primary grouping unit. These models have fundamentally different orientations: Merlin tracks what needs to get done; HubSpot tracks who you are working with and where deals stand. Migrating from Merlin to HubSpot requires deciding whether project records become HubSpot deals, custom objects, or ticket records, then mapping task history into HubSpot's engagement timeline (calls, emails, meetings, notes). FlitStack AI extracts all Merlin objects via the API or structured export, transforms field names and data types to match HubSpot's property schema, creates any required custom properties on the HubSpot side, and loads data in dependency order (contacts first, then companies, then deals, then activities). Original create dates, task completion timestamps, and milestone dates are preserved as custom datetime properties since HubSpot's native CreatedDate is set at import time. Owner resolution matches Merlin resource email addresses to HubSpot user emails so assignments land correctly. Workflows, automations, and resource calendars do not have HubSpot equivalents — FlitStack exports those definitions as JSON for your admin to rebuild manually.

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

Merlin logo

Merlin

What's pushing teams away

  • Usage caps on the free and Pro tiers create friction—users report hitting daily query limits mid-workday, prompting migration to platforms with higher or unmetered quotas.
  • Some users describe the initial setup and extension configuration as complicated, particularly when integrating with specific browsers or enterprise environments.
  • Privacy concerns arise when uploading sensitive business documents to a third-party AI platform, causing regulated-industry users to seek on-premise or compliance-certified alternatives.
  • The platform's lack of native integrations with enterprise tools like Slack, Notion, or Salesforce means teams relying on those ecosystems must work around gaps, driving some to more connected AI assistants.

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 Merlin objects map to HubSpot

Each row shows how a Merlin 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.

Merlin

Project

maps to

HubSpot

Deal or Custom Object

1:1
Fully supported

Merlin projects map to HubSpot deals when the project represents a billable client engagement. If the project tracks internal work without a sales关联, a HubSpot custom object (Enterprise tier) is the better container. FlitStack creates the custom object schema in HubSpot before loading any project data, so field mapping references the correct object type from the start.

Merlin

Task

maps to

HubSpot

Engagement (Task/Call/Meeting/Note)

1:1
Fully supported

Merlin tasks map to HubSpot engagements — task subject becomes the engagement subject, completion status becomes a custom property, and the original due date is preserved as a custom datetime property. Sub-tasks flatten into individual engagement records; the parent-child relationship is preserved in a custom task hierarchy field on each record.

Merlin

Milestone

maps to

HubSpot

Custom Properties on Deal

1:1
Fully supported

HubSpot has no native milestone object. Each Merlin milestone (name, target date, completion date, status) migrates as a custom property group on the associated deal. If multiple milestones exist per project, FlitStack creates a custom object with milestone records linked to the parent deal via a custom association property.

Merlin

Resource / Team Member

maps to

HubSpot

HubSpot User

1:1
Fully supported

Merlin resources are team members with email, role, and utilization data. FlitStack resolves each resource by email against HubSpot users. Unmatched resources are flagged for manual resolution — either inviting them to HubSpot or assigning their tasks to an existing user. Utilization percentage migrates as a custom number property on the HubSpot user record.

Merlin

Time Entry

maps to

HubSpot

Custom Properties on Deal

1:1
Fully supported

Merlin time entries (date, duration, billable flag, notes) have no HubSpot equivalent. FlitStack aggregates time entries per project into a custom object linked to the parent deal, storing total hours, billable hours, and last-entry date as custom numeric and datetime properties. Your billing team uses these as reference data in HubSpot reports.

Merlin

Project Attachment

maps to

HubSpot

HubSpot File

1:1
Fully supported

File attachments on Merlin projects and tasks re-upload to HubSpot Files and attach to the corresponding deal or contact record. File size limits apply (HubSpot caps individual files at 250 MB). Inline images in task notes are downloaded, re-hosted in HubSpot's file storage, and the link is updated in the note body.

Merlin

Project Note

maps to

HubSpot

HubSpot Engagement Note

1:1
Fully supported

Merlin notes attached to projects or tasks migrate as HubSpot engagement notes. Rich-text formatting is preserved where the export format supports it; plain-text fallbacks are applied for notes exported from unsupported formats. Notes retain their original create timestamp as a custom datetime property.

Merlin

Custom Field (Project-level)

maps to

HubSpot

Custom Property on Deal or Custom Object

1:1
Fully supported

Merlin custom fields on projects (drop-downs, text, numbers, dates) require corresponding custom properties in HubSpot. FlitStack reads the custom field schema from Merlin, creates matching properties in HubSpot under Settings > Properties before import, and maps values directly. Pick-list values are created as HubSpot option sets with the original labels preserved.

Merlin

Custom Field (Task-level)

maps to

HubSpot

Custom Property on Engagement

1:1
Fully supported

Task-level custom fields in Merlin (priority flags, department tags, billing codes) become custom properties on the HubSpot engagement record. Since engagements do not support custom properties natively in all HubSpot tiers, FlitStack creates a custom object for task metadata and links each engagement to its corresponding metadata record via a custom lookup field.

Merlin

Workflow / Automation

maps to

HubSpot

N/A

1:1
Fully supported

Merlin automations (triggers on task status, due-date notifications, assignment rules) have no HubSpot equivalent at the data layer. FlitStack exports the automation definitions as a JSON schema document that your HubSpot admin uses to rebuild equivalent workflows in HubSpot's Workflows tool. This export is included in the migration package at no additional charge.

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.

Merlin logo

Merlin gotchas

High

No public API for automated export

Medium

Document upload limit differences by tier are migration-critical

Medium

Conversation metadata is not exported

Low

No contacts or CRM objects means context must be rebuilt

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

  • Merlin's project-centric model has no direct HubSpot equivalent for milestone tracking

    HubSpot's data model does not include a native milestone object — the closest analogue is a custom object or a group of custom properties on the deal record. When Merlin projects have multiple milestones with dependencies or sequential targets, grouping them as deal properties requires pre-planning the property schema in HubSpot. FlitStack creates the milestone custom object schema before data loads, but your team should decide how many milestone fields to expose directly on the deal versus storing them in a linked custom object with a one-to-many relationship.

  • Merlin task hierarchies flatten into plain engagement records in HubSpot

    Merlin supports nested sub-tasks with parent-child relationships that reflect work breakdown structure. HubSpot engagements are flat — there is no native task hierarchy. FlitStack preserves the hierarchy by storing the parent task ID as a custom lookup field on each child engagement record, but HubSpot's standard UI will not render the tree structure. If your team relies on Gantt-style task breakdown visibility, you will need to use HubSpot's custom object reporting or a third-party integration to reconstruct the hierarchy after migration.

  • Merlin resource utilization data does not map to HubSpot's owner model

    Merlin tracks resource utilization as a percentage of available hours per team member. HubSpot owners are CRM users without a native utilization or capacity model. FlitStack migrates the last-known utilization percentage as a custom property on the HubSpot user record, but this is a static snapshot — it will not update dynamically. If your team uses utilization data for resource planning, you will need a separate resource management tool or a custom integration to keep it current after migration.

  • Merlin time entries become reference data, not billable records

    HubSpot does not have a native time-tracking or billing entry object. Aggregated time-entry totals (total hours, billable hours) migrate as custom number fields on the deal, but HubSpot will not generate invoices or time sheets from them. If your team uses Merlin for billing or client invoicing, those records need to stay in Merlin or move to a dedicated billing tool. FlitStack exports time-entry details as a CSV alongside the HubSpot migration for import into your billing system.

  • Merlin API rate limits affect the extraction window for large datasets

    Merlin's API enforces per-minute request quotas that vary by subscription tier and can throttle large data pulls if not handled properly. For migrations exceeding 10,000 records, FlitStack implements rate-limit backoff and batched extraction to avoid hitting these caps and triggering service interruptions. The extraction phase may take longer than the load phase as a result of this throttling protection. We surface the estimated extraction window during planning so your team knows exactly when the read-only API access window closes before the HubSpot load begins, allowing you to coordinate with stakeholders on any final Merlin updates needed before cutover.

Migration approach

Six steps for a successful Merlin to HubSpot data migration

  1. Extract Merlin schema and data via API

    FlitStack connects to Merlin using API credentials with read-only scope. We extract the full object inventory — projects, tasks, milestones, resources, time entries, notes, and attachments — along with your custom field definitions and pick-list values. The extraction runs in batches under Merlin's rate-limit configuration, and we generate a schema manifest that documents every field name, type, and option set before we begin any transformation.

  2. Design HubSpot target schema

    Based on the Merlin schema manifest, FlitStack creates a HubSpot setup plan: custom properties on deals, a milestone custom object if your projects have multiple milestones, and a task-metadata custom object to carry Merlin's task-level custom fields. We deliver the schema plan for your HubSpot admin to apply under Settings > Properties before the data load begins. This ensures HubSpot is ready to accept each field type without import errors.

  3. Resolve Merlin resources to HubSpot users

    Each Merlin resource email is matched against HubSpot user emails using an exact string comparison to ensure accurate owner resolution across both platforms. Unmatched resources are flagged with their email address, role, and utilization data so your team can either invite them to join HubSpot as users or assign their project tasks to a fallback owner before the migration runs. This resolution step is critical because no engagement record lands in HubSpot without a valid owner reference — unresolved owners would leave task assignments blank and break downstream reporting on deal activity by team member.

  4. Run sample migration with field-level diff

    A representative slice — typically 100–300 records spanning projects, tasks, milestones, and attachments — migrates first as a validation step before committing the full dataset. We generate a field-level diff report that compares every source value against its corresponding destination value in HubSpot, so you can verify milestone mapping accuracy, owner resolution correctness, and custom property population across the sample. This report lets you confirm that date formats, pick-list values, and numeric fields render correctly in HubSpot before the full run commits, reducing the risk of discovering data quality issues after the entire migration has completed.

  5. Execute full migration with delta-pickup

    The full dataset loads into HubSpot in dependency order: companies first (for deal associations), then deals with custom properties, then engagement records linked to those deals. A delta-pickup window of 24–48 hours captures any Merlin records modified during cutover. FlitStack generates an audit log of every record operation, and one-click rollback is available if reconciliation identifies a data integrity issue.

Platform deep dives

Context on both ends of the pair

Merlin logo

Merlin

Source

Strengths

  • Single extension surfaces 70+ AI models without requiring multiple subscriptions or browser tabs.
  • Document Chat supports PDF, PowerPoint, and Word with Q&A capabilities across all three formats.
  • Google Search integration delivers AI summaries inline with web results, supporting continuous research workflows.
  • Image generation is built in, reducing the need for a separate AI image tool for basic use cases.
  • Free tier provides functional access to core features without requiring credit card information upfront.

Weaknesses

  • No public API documented for programmatic access, automation, or third-party integration, limiting enterprise and developer adoption.
  • Usage-based pricing at $100/month equivalent on Pro tier does not align with flat-seat pricing expectations of SaaS buyers.
  • No native CRM, helpdesk, or project management data model—Merlin does not store contacts, deals, tickets, or tasks as structured objects.
  • Document upload limits and daily query caps are not clearly communicated in the interface, leading to mid-session interruptions.
  • No support for team collaboration features such as shared workspaces, team-wide usage dashboards, or role-based access controls.
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. 1 of 8 objects need a manual workaround.

B

Overall complexity

Standard migration

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

  • Object compatibility

    B

    1 of 8 objects need a manual workaround.

  • 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

    Merlin: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Merlin 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 Merlin to HubSpot data migrations

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

Can't find your answer?

Walk through your Merlin to HubSpot migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Merlin-to-HubSpot migrations complete in 48–72 hours for datasets under 10,000 records. Projects with more than 50,000 records, multiple milestone structures, or extensive custom field schemas extend to 5–10 days. The Merlin API extraction phase is the longest single step when rate-limit backoff applies; HubSpot data loading runs faster due to bulk API support. We provide a timeline estimate during discovery based on your record counts and custom property volume.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Merlin.
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