CRM migration
Field-level mapping, validation, and rollback between CompanyHub CRM and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
CompanyHub CRM
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
9 of 11
objects map 1:1 between CompanyHub CRM and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from CompanyHub CRM to Microsoft Microsoft Dynamics 365 Sales is a structural migration that restructures the source data model on the Microsoft Dynamics 365 Sales side of the mapping. CompanyHub organizes records around Contacts, Companies, Deals, and Custom Tables with drag-and-drop pipeline stages; Microsoft Dynamics 365 Sales uses the Lead-Contact-Account-Opportunity model with Sales Processes, Record Types, and a Dataverse-backed data layer. We export CompanyHub data via the v1 REST API using an admin API key, pre-provision the Microsoft Dynamics 365 Sales schema (including custom entities for CompanyHub Custom Tables), and sequence the import so that Account lookups are resolved before Contact inserts and Opportunity lookups are resolved before Deal records. UTrons workflow automations do not migrate; we deliver a written inventory of each Utron for the customer admin to rebuild in Microsoft Dynamics 365 Sales Process Builder or Power Automate. Activity history migrates as timeline entries, noting that CompanyHub API responses may truncate email body content in some cases.
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.
Source platform
CompanyHub CRM platform overview
Scorecard, SWOT, gotchas, and pricing for CompanyHub CRM.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a CompanyHub CRM object lands in Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
CompanyHub CRM
Contact
Microsoft Dynamics 365 Sales
Lead or Contact (split by qualification)
1:manyCompanyHub Contacts with a sales-qualified lifecycle stage (or explicit won-deal association) map to Salesforce-style Dynamics 365 Contact tied to an Account. Unqualified prospects remain as Lead. We resolve the split by examining CompanyHub deal associations and custom lifecycle stage values during scoping, and we preserve the original CompanyHub lifecycle stage as a custom field ch_lifecycle_stage__c on both Lead and Contact for audit trail and reporting continuity.
CompanyHub CRM
Company
Microsoft Dynamics 365 Sales
Account
1:1CompanyHub Company records map directly to Microsoft Dynamics 365 Sales Account. The Company domain name becomes the Account Website field and is used as the dedupe key during import. Account records are created before Contact imports so that the ParentAccountId lookup is satisfied at the moment of Contact insert.
CompanyHub CRM
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1CompanyHub Deals map to Microsoft Dynamics 365 Sales Opportunity. The dealstage property maps to Opportunity StageName, and the pipeline assignment maps to a Record Type and Sales Process that we configure in Dynamics 365 before migration. Deal custom fields map to typed Opportunity custom fields.
CompanyHub CRM
Pipeline Stage
Microsoft Dynamics 365 Sales
Sales Process + Stage
lossyEach CompanyHub pipeline becomes a Microsoft Dynamics 365 Sales Record Type with a corresponding Sales Process that whitelists the relevant stage values. Stage names and probability percentages migrate from CompanyHub to Microsoft Dynamics 365 Sales stage definitions. Closed-Won and Closed-Lost reasons from CompanyHub custom fields become Opportunity custom fields in Dynamics.
CompanyHub CRM
Task
Microsoft Dynamics 365 Sales
Task
1:1CompanyHub Tasks map to Microsoft Dynamics 365 Sales Task records with Status, Priority, and ActivityDate preserved. Task assignment migrates by resolving CompanyHub owner references to Microsoft Dynamics 365 Sales User records via email matching.
CompanyHub CRM
Custom Table Row
Microsoft Dynamics 365 Sales
Custom Entity (Dataverse)
1:1CompanyHub Custom Tables are mapped to Dataverse custom entities with matching column definitions. Because CompanyHub's API does not expose table schema definitions programmatically, we request customers to provide Custom Table field layouts during discovery before provisioning the Dataverse entity schema. Custom Table rows are imported last, after all parent Account and Contact records are in place to satisfy lookup relationships.
CompanyHub CRM
Custom Field (on Contacts, Companies, Deals)
Microsoft Dynamics 365 Sales
Custom Field (on Contact, Account, Opportunity)
1:1CompanyHub custom fields on standard objects (Contacts, Companies, Deals) map to typed custom fields on the corresponding Microsoft Dynamics 365 Sales entities. We export field definitions alongside values during discovery. Picklist-type custom fields in CompanyHub map to OptionSet fields in Dynamics 365 with the same option labels preserved.
CompanyHub CRM
Quote
Microsoft Dynamics 365 Sales
Quote
1:1CompanyHub Quotes migrate to Microsoft Dynamics 365 Sales Quote records, which are available from the Professional tier upward. Quote line items, totals, and template references map to Quote Detail rows. We note that Quote PDFs are file attachments migrated separately via ContentDocument if the customer requires document preservation.
CompanyHub CRM
User (Owner)
Microsoft Dynamics 365 Sales
User
1:1CompanyHub Users map to Microsoft Dynamics 365 Sales User records by email address match. Owner references on Contact, Company, Deal, and Task records resolve to Microsoft Dynamics 365 Sales OwnerId. Any CompanyHub User without a matching Microsoft Dynamics 365 Sales User goes to a reconciliation queue for admin provisioning before record import resumes.
CompanyHub CRM
Activity: Email
Microsoft Dynamics 365 Sales
EmailMessage + Task
1:1CompanyHub email activity logs migrate to Microsoft Dynamics 365 Sales EmailMessage records linked to an Activity Task. We flag during scoping that CompanyHub API responses may return email metadata without full body content in some cases; we inform customers of this gap and offer to supplement from an IMAP or email platform export if available.
CompanyHub CRM
Activity: Note
Microsoft Dynamics 365 Sales
Note
1:1CompanyHub Notes migrate to Microsoft Dynamics 365 Sales Note records linked via Annotation to the parent Contact, Account, or Opportunity. Note body text and any embedded attachments migrate as separate Note and File records respectively.
| CompanyHub CRM | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split by qualification)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Sales Process + Stagelossy | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Custom Table Row | Custom Entity (Dataverse)1:1 | Fully supported | |
| Custom Field (on Contacts, Companies, Deals) | Custom Field (on Contact, Account, Opportunity)1:1 | Fully supported | |
| Quote | Quote1:1 | Fully supported | |
| User (Owner) | User1:1 | Fully supported | |
| Activity: Email | EmailMessage + Task1:1 | Fully supported | |
| Activity: Note | Note1: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.
CompanyHub CRM gotchas
Admin-only export gate blocks non-admin migration scoping
Custom Table schema is not self-describing in the API
UTrons workflow logic does not survive migration
API key cap of 5 limits concurrent migration jobs
Email body content may be truncated in activity API responses
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Discovery and Custom Table schema capture
We audit the CompanyHub CRM portal across all tiers, capturing Contacts, Companies, Deals, Custom Tables, pipeline stages, Utron workflows, and activity volume. Because CompanyHub's API does not expose Custom Table field definitions programmatically, we request the customer to provide documentation or screenshots of all Custom Table layouts during this phase. We pair this with a review of the target Microsoft Dynamics 365 Sales environment: tenant licensing tier, existing Record Types, Sales Processes, and any custom entities already in place. The discovery output is a written migration scope, a Custom Table schema specification for Dataverse pre-provisioning, and a data cleansing checklist.
Schema design and Dataverse pre-provisioning
We design the destination schema in Microsoft Dynamics 365 Sales . This includes provisioning custom entities in Dataverse for CompanyHub Custom Tables (matching column names, types, and relationships), custom fields on Account, Contact, and Opportunity, Record Types per CompanyHub pipeline, and Sales Processes that whitelist the mapped stage values. Schema is deployed into a Sandbox environment first for validation. We also create the Lead-Contact split rule if the customer has both qualified and unqualified contacts requiring different target objects.
Sandbox migration and reconciliation
We run a full migration into the Microsoft Dynamics 365 Sales Sandbox using production-like data volume. The customer's admin reconciles record counts (Accounts in, Contacts in, Opportunities in, Custom Entity rows in), spot-checks 25-50 records against the CompanyHub source, and validates that Custom Table relationships resolve correctly. Any mapping corrections, validation rule failures, or relationship gaps are addressed here before production migration begins.
Owner and user provisioning
We extract every distinct CompanyHub User referenced on Contacts, Companies, Deals, and Tasks and match by email against the Microsoft Dynamics 365 Sales User table. Missing users go to a reconciliation queue for the customer's admin to provision (active or inactive depending on whether the original CompanyHub user is still with the organization). Migration cannot proceed past record import because OwnerId references are required on most standard objects.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from CompanyHub Companies), Contacts (with AccountId resolved), Leads (if applicable), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Tasks, Custom Entity rows (last because they often have lookups to Accounts and Contacts), and activity history (EmailMessage, Notes via the Dataverse Web API with batch chunking). Each phase emits a row-count reconciliation report before the next phase begins. We apply exponential backoff on Dataverse API rate limit responses.
Cutover, validation, and Utron rebuild handoff
We freeze CompanyHub writes during cutover, run a final delta migration of any records modified during the migration window, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver the Utron inventory document with a Power Automate and Process Builder rebuild specification for each automation. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's sales team. We do not rebuild Utrons as Power Automate flows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
CompanyHub CRM
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between CompanyHub CRM and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across CompanyHub CRM and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between CompanyHub CRM and Microsoft Dynamics 365 Sales .
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
CompanyHub CRM: Not publicly documented.
Data volume sensitivity
CompanyHub 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 CompanyHub CRM to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your CompanyHub CRM to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave CompanyHub CRM
Other ways to arrive at Microsoft Dynamics 365 Sales
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.