CRM migration
Field-level mapping, validation, and rollback between Zendesk Sell and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.
Zendesk Sell
Source
HubSpot
Destination
Compatibility
14 of 15
objects map 1:1 between Zendesk Sell and HubSpot.
Complexity
BStandard
Timeline
48–72 hours
Overview
Zendesk Sell's data model splits its contact records by an is_organization flag — records marked true behave as company records, and records marked false behave as person contacts. HubSpot uses separate Company and Contact objects natively, so every Zendesk Sell contact record must be evaluated at migration time to determine whether it lands as a HubSpot Company or a HubSpot Contact. FlitStack AI reads the is_organization flag and the associated data (domain, name format, employee count) to route records correctly, avoiding duplicate company records when the same entity appears as both an org-flagged contact and a standalone organization in Zendesk Sell. We migrate contacts, organizations, leads, deals, products, line items, calls, emails, meetings, notes, tasks, and custom fields via the Zendesk Sell Core API, mapping each field to its HubSpot equivalent. Workflows, sequences, and automation logic are not transferred — Zendesk Sell's automation engine has no HubSpot equivalent, and these must be rebuilt as HubSpot workflows post-migration. We deliver a field-level diff against a representative sample before the full run commits, and a 24–48 hour delta-pickup window captures any records modified in Zendesk Sell during cutover so HubSpot reflects your final source 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 Zendesk Sell 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.
Zendesk Sell
Contact (is_organization: false)
HubSpot
Contact
1:1Standard person contacts in Zendesk Sell map directly to HubSpot Contact records. Email is the primary unique identifier used for de-duplication. The contact's primary organization (linked via the contacts_organizations relationship) maps to the HubSpot Contact's primary company association. During migration, any duplicate email detected triggers a merge of the newer record into the existing HubSpot Contact, preserving the original created_at timestamp and all associated activities.
Zendesk Sell
Contact (is_organization: true)
HubSpot
Company
1:1This is the most critical routing decision in the migration. Zendesk Sell stores organization-type contacts with a name and domain but no first/last name. FlitStack evaluates the is_organization flag on every contact and routes those records to HubSpot Companies instead of Contacts. The domain field maps to the HubSpot company domain property.
Zendesk Sell
Organization
HubSpot
Company
1:1Zendesk Sell organizations are standalone company records with name, domain, industry, phone, and address fields. These map 1:1 to HubSpot Company records. The organization ID is preserved as a custom field for traceability. If the same entity exists as both an Organization record and an is_organization: true Contact, the Organization record is prioritized and the duplicate Contact is merged.
Zendesk Sell
Lead
HubSpot
Lead
1:1Zendesk Sell leads map directly to HubSpot Lead records. Lead status, lead source, owner, and custom fields transfer to their HubSpot equivalents. Leads that are converted in Zendesk Sell (marked as contacted/opportunity) can be mapped to HubSpot Contacts or Opportunities based on the lead's stage value.
Zendesk Sell
Deal
HubSpot
Deal
1:1Zendesk Sell deals map to HubSpot Deal records. Each deal carries its pipeline, stage, amount, probability, expected close date, owner, and custom fields. Pipeline names become HubSpot deal pipeline names; stage names map via value mapping to HubSpot deal stage names within each pipeline.
Zendesk Sell
Product
HubSpot
Product
1:1Zendesk Sell products with name, price, SKU, and description map to HubSpot Products. The product name maps to the HubSpot product name; the SKU maps to hs_sku. Products must exist in HubSpot before line items can reference them, so product migration runs before line-item migration.
Zendesk Sell
Line Item
HubSpot
Line Item
1:1Zendesk Sell line items link a product to a deal and carry quantity and discount information. These map 1:1 to HubSpot Line Items. The product reference resolves to the migrated HubSpot Product ID, and the deal reference resolves to the migrated HubSpot Deal ID.
Zendesk Sell
Call
HubSpot
Call (Activity)
1:1Zendesk Sell call logs — including call direction, duration, outcome, timestamp, and associated contact or deal — map to HubSpot Calls logged against the corresponding Contact or Deal record. The original timestamp and owner are preserved. Call direction (inbound/outbound) maps to hs_call_direction; duration in seconds maps to hs_call_duration; outcome values map to hs_call_status where applicable. If a recording URL exists, it populates hs_call_recording_url for playback.
Zendesk Sell
HubSpot
Email (Activity)
1:1Email activity in Zendesk Sell (sent and received emails associated with contacts) migrates to HubSpot Email records attached to the Contact. The subject, body, timestamp, and owner all transfer. HubSpot's email tracking state (opened/clicked) is not preserved — that is a HubSpot-side tracking event with no Zendesk equivalent.
Zendesk Sell
Note
HubSpot
Note
1:1Zendesk Sell notes attach to contacts, deals, or organizations. They map to HubSpot Notes with the same body text, creation timestamp, and owner. Notes attached to multiple records in Zendesk are migrated as separate HubSpot Notes linked to each parent record.
Zendesk Sell
Task
HubSpot
Task
1:1Zendesk Sell tasks (reminders, to-dos) map to HubSpot Tasks attached to the corresponding Contact, Deal, or Lead. Task status, due date, priority, and owner transfer. Completed vs. open status is preserved. The task subject maps to hs_task_subject; the body maps to hs_task_body. Recurrence patterns are not transferred, as HubSpot Tasks lack native recurrence. If a task has a linked contact, the association is created via the HubSpot contact-to-task association.
Zendesk Sell
Text Message
HubSpot
Communication (Activity)
1:1Zendesk Sell SMS and WhatsApp messages are logged as HubSpot Communication records. The channel type (SMS, WHATS_APP, LINKEDIN_MESSAGE) maps to the hs_communication_channel_type property. The message body, timestamp, and direction (inbound/outbound) transfer. Media URLs from Zendesk Sell messages are stored in a custom HubSpot property, as Communication records do not preserve file binaries. Outbound messages keep the owner field; inbound messages assign the owner from the associated contact.
Zendesk Sell
Custom Field (all objects)
HubSpot
Custom Property
1:1Zendesk Sell custom fields on any object — including custom fields on contacts, deals, leads, and organizations — require pre-creation of equivalent HubSpot Custom Properties. Field type mapping: text fields to single-line text, picklists to single-option or multi-option properties, number fields to number properties, date fields to date properties. Value mapping is required for picklist custom fields.
Zendesk Sell
Attachment / Document
HubSpot
File
1:1Zendesk Sell file attachments and documents linked to contacts, deals, or organizations are downloaded and re-uploaded to HubSpot Files. File associations are preserved by linking each file to the corresponding HubSpot record. File size limits (25MB per file in HubSpot) are enforced; files exceeding the limit are flagged for manual handling.
Zendesk Sell
Contact-Organization Relationship (N:N)
HubSpot
Contact-Company Association (1:N primary, N:N Enterprise)
1:manyZendesk Sell allows a contact to be associated with multiple organizations simultaneously (N:N). HubSpot supports one primary company per contact natively. For Enterprise-tier HubSpot portals, secondary associations can be created using Contact Association Types. For Starter and Professional tiers, only the primary association migrates and additional associations are flagged for post-migration manual setup.
| Zendesk Sell | HubSpot | Compatibility | |
|---|---|---|---|
| Contact (is_organization: false) | Contact1:1 | Fully supported | |
| Contact (is_organization: true) | Company1:1 | Fully supported | |
| Organization | Company1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Product | Product1:1 | Fully supported | |
| Line Item | Line Item1:1 | Fully supported | |
| Call | Call (Activity)1:1 | Fully supported | |
Email (Activity)1:1 | Fully supported | ||
| Note | Note1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Text Message | Communication (Activity)1:1 | Fully supported | |
| Custom Field (all objects) | Custom Property1:1 | Fully supported | |
| Attachment / Document | File1:1 | Fully supported | |
| Contact-Organization Relationship (N:N) | Contact-Company Association (1:N primary, N:N Enterprise)1:many | 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.
Zendesk Sell gotchas
Sell sunset creates a hard deadline for data migration
Sell API rate limits are low for large-volume exports
Custom field IDs differ from field keys in API calls
Sequences and cadence state cannot be migrated
Job queue limit of 30 concurrent background jobs
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 Zendesk Sell data model and pre-create HubSpot custom properties
FlitStack reads the Zendesk Sell account via the Core API to inventory all object types, custom fields, and pipeline configurations. We identify all is_organization: true contacts that require company routing, N:N association groups that will be affected by the HubSpot association limit, and custom field types that need HubSpot property pre-creation. We deliver a HubSpot setup checklist — listing every custom property to create, every pipeline to configure, and every pick-list value to set up — so the HubSpot portal is schema-ready before any data moves.
Resolve owners and users by email match
We extract the full user list from Zendesk Sell — name, email, role, and owner_id — and match each against HubSpot users by email address. Email is the unique identifier for owner resolution in HubSpot's API. Any Zendesk Sell owner with no corresponding HubSpot user account is flagged in the migration plan with a recommended fallback owner assignment. No record lands in HubSpot without a resolved owner; this prevents orphaned records and broken assignment rules at go-live.
Migrate companies before contacts; contacts before deals; deals before activities
HubSpot enforces foreign-key dependency ordering: Company records must exist before Contacts can associate to them, and Deal records must exist before Line Items can link to them. FlitStack sequences the migration in four phases: Phase 1 migrates Organizations and is_organization: true Contacts to HubSpot Companies (with deduplication applied); Phase 2 migrates is_organization: false Contacts and Leads with primary company associations resolved; Phase 3 migrates Deals with pipeline and stage mapping applied; Phase 4 migrates Products, Line Items, Calls, Emails, Notes, and Tasks in dependency order.
Run a sample migration with field-level diff
A representative sample — typically 200–500 records spanning the full object mix — migrates first. We generate a field-level comparison report showing every mapped field, the source value, the destination value, and any transformation applied. The is_organization routing, N:N association collapse decisions, stage value mapping, and owner resolution are all visible in the diff. You review the diff report before we proceed to the full run. Mapping adjustments are made at this stage at no additional cost.
Execute full migration with delta-pickup window and rollback on demand
The full migration runs in dependency order against the production HubSpot portal. A delta-pickup window of 24–48 hours opens at cutover: any Zendesk Sell records created or modified during the window are captured and applied to HubSpot after the initial bulk load completes. Every operation is logged in the audit log. If reconciliation fails — missing records, duplicate companies, incorrect stage mapping — one-click rollback reverts the HubSpot portal to its pre-migration state so the migration can be re-run with corrected mappings.
Platform deep dives
Zendesk Sell
Source
Strengths
Weaknesses
HubSpot
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Zendesk Sell 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
Zendesk Sell: Sell Core API: 36,000 requests/hour (10 req/token/sec); Zendesk Support varies by plan tier from 20 req/min (Team) to 700 req/min (Enterprise).
Data volume sensitivity
Zendesk Sell exposes a bulk API — large-volume migrations stream efficiently.
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 Zendesk Sell to HubSpot migration scoping. Not seeing yours? Book a call.
Walk through your Zendesk Sell 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 Zendesk Sell
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.