CRM migration
Field-level mapping, validation, and rollback between Close and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Close
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
9 of 12
objects map 1:1 between Close and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Close to Microsoft Microsoft Dynamics 365 Sales is a structural migration that reshapes the data model. Close collapses prospects into Leads and Contacts with a shared inbox; Dynamics 365 separates these into Lead, Contact, and Account with an explicit Convert action and a required Account as the parent of every Contact. We resolve the entity hierarchy during scoping, design the Lead-to-Contact-to-Account chain before any records move, and preserve the original Close status labels in custom fields for audit. Activity history (calls, emails, SMS, tasks) migrates as Dynamics 365 Activity records attached to the correct parent entity using the Dynamics 365 Bulk API. Close Workflows, Smart Views, and Custom Activities do not migrate as logic; we deliver a written inventory of every active Workflow and Custom Activity type for the customer's admin to rebuild in Dynamics 365.
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
Close platform overview
Scorecard, SWOT, gotchas, and pricing for Close.
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 Close 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.
Close
Lead
Microsoft Dynamics 365 Sales
Lead
1:1Close Leads map directly to Dynamics 365 Lead. The Close status label (e.g. Potential, Contacted, Qualified) migrates to a custom Lead field close_original_status__c for audit. We set Lead.Status to a Dynamics 365 standard status value that most closely matches the original Close label, with a mapping table agreed upon during scoping. The close_date field maps to estimatedclose Date. Lead.OwnerId is resolved via email match against the destination User table.
Close
Contact
Microsoft Dynamics 365 Sales
Contact
1:manyClose Contacts require an Account parent in Dynamics 365. We first create Account records from Close Companies (or from the organisation field on Close Contact if no Company exists). Then we create Contact records linked to the resolved AccountId. Any Contact without an organisation in Close becomes a Contact linked to a placeholder Account, flagged for the customer admin to merge or resolve post-migration. The original Close contact ID migrates to a custom field close_contact_id__c for reconciliation.
Close
Company
Microsoft Dynamics 365 Sales
Account
1:1Close Company records map to Dynamics 365 Account. The Company name becomes Account.Name, domain becomes Account.Website, and address fields map to Address composite fields. Account is created before any Contact import so that the AccountId lookup is satisfied at Contact insert time. We use Company.name as the dedupe key during Account creation to avoid duplicates from any overlapping Contact-level organisation entries.
Close
Opportunity
Microsoft Dynamics 365 Sales
Opportunity
1:1Close Opportunities map to Dynamics 365 Opportunity. The pipeline-stage assignment maps to a Microsoft Dynamics 365 Sales Process and Record Type configured before migration. Opportunity.Amount migrates to EstimatedValue; close_date migrates to estimatedclose Date. If Close Opportunity is linked to a Contact (no Company), we resolve the Contact's parent Account and set AccountId before insert.
Close
Pipeline
Microsoft Dynamics 365 Sales
Record Type + Sales Process
lossyEach Close Pipeline becomes a Dynamics 365 Record Type on Opportunity with a corresponding Sales Process that whitelists the relevant stage values. Stage probability percentages migrate from Close to the Dynamics 365 Stage Probability field. Stage ordering is preserved per the pipeline sequence in Close.
Close
Pipeline Stage
Microsoft Dynamics 365 Sales
Opportunity Stage
lossyClose pipeline stages map to Dynamics 365 Stage values within the corresponding Sales Process. Stage names and display labels carry over directly. If Close has custom stage probability weights, these are set on the OpportunitySalesProcess entity after the Sales Process is deployed.
Close
Activity (Call, Email, SMS, Task)
Microsoft Dynamics 365 Sales
Task, Appointment, EmailMessage
1:1Close activity types split into Dynamics 365 equivalents: calls become Task with TaskSubtype=Call and CallDirection set; emails become Task plus an EmailMessage record; SMS notes become Task with a custom description field; tasks become Task directly. The parent reference (lead_id or contact_id) is resolved to the Dynamics 365 LeadId or ContactId before insert. ActivityDate preserves the original timestamp to maintain timeline ordering.
Close
Custom Activity
Microsoft Dynamics 365 Sales
Custom Activity entity (Dataverse)
1:1Close Custom Activities require a three-phase migration: create the Custom Activity Type as a Dataverse entity with its own logical name, create any type-scoped Custom Fields on that entity, then import the activity instances with a lookup to the parent Lead or Contact. The dependency chain is enforced strictly. If the destination org has no existing Dataverse custom entity for this type, we provision it during schema design. We flag any Custom Activity that uses a Custom Field not yet defined at migration time and halt that type's import until the field is created.
Close
Custom Field (Lead, Contact, Opportunity)
Microsoft Dynamics 365 Sales
Custom Attribute
1:1Close Custom Fields read via the API (type, choices, required flag) are created as Dynamics 365 custom attributes on the matching entity (Lead, Contact, Opportunity). Choice labels from Close become Option Set values in Dynamics 365. We preserve the Close field label and API name in the Dynamics 365 custom attribute display name for traceability. Required flags on Close map to Business Rules or field-level requirement in Dynamics 365.
Close
Attachment
Microsoft Dynamics 365 Sales
Note / Attachment (SharePoint or Note)
1:1Attachments on Close Leads and Contacts are retrieved via the API and re-uploaded to the destination as Note records linked via EntityImageId or as SharePoint document locations attached to the parent Account. The attachment file itself is preserved. We flag any attachment exceeding Dynamics 365 file size limits and resolve with the customer admin before migration.
Close
Call Recording
Microsoft Dynamics 365 Sales
Note / Attachment on Activity
1:1Call recordings stored in Close are downloaded as audio files and re-uploaded as Note records attached to the matching Task activity in Dynamics 365. Recording duration and disposition from Close migrate to custom Task fields. We preserve the recording URL as a custom field reference if the customer intends to maintain a link to the original storage.
Close
User / Team Member
Microsoft Dynamics 365 Sales
User
1:1Close Users (name, email, role, team) map to Dynamics 365 User records resolved by email match. Role and team membership map to Dynamics 365 Security Roles and Teams, though we flag that internal permissions and Lead-sharing rules require post-migration admin review. Any Close Owner without a matching Dynamics 365 User goes to a reconciliation queue.
| Close | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Lead | Lead1:1 | Fully supported | |
| Contact | Contact1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Pipeline | Record Type + Sales Processlossy | Fully supported | |
| Pipeline Stage | Opportunity Stagelossy | Fully supported | |
| Activity (Call, Email, SMS, Task) | Task, Appointment, EmailMessage1:1 | Fully supported | |
| Custom Activity | Custom Activity entity (Dataverse)1:1 | Fully supported | |
| Custom Field (Lead, Contact, Opportunity) | Custom Attribute1:1 | Fully supported | |
| Attachment | Note / Attachment (SharePoint or Note)1:1 | Fully supported | |
| Call Recording | Note / Attachment on Activity1:1 | Fully supported | |
| User / Team Member | User1: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.
Close gotchas
CSV exports drop all activity history silently
Smart Views can only export from the Leads tab
Workflows gatekept behind Growth and Scale plans
Custom Activities require strict dependency ordering
Rate limits enforced per endpoint group
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 source audit
We audit the source Close account across plan tier (Solo/Essentials/Growth/Scale), active Custom Activities and Custom Objects, pipeline count, stage definitions, Smart View filters, active Workflows, and activity volume per type. We verify the export method (JSON vs CSV) with the customer because CSV exports strip activity history silently. We pair this with a Dynamics 365 edition review: Sales Professional ($65/user) covers most migrations; Sales Enterprise ($105/user) is required for advanced AI insights, conversation intelligence, or customisability at scale.
Schema design and Account strategy
We design the destination Dynamics 365 schema. This includes provisioning custom attributes on Lead, Contact, and Opportunity; creating Record Types and Sales Processes per Close Pipeline; creating Dataverse entities for Custom Activity Types; and resolving the Account strategy for Contacts without a Company in Close. The schema is deployed into a Dynamics 365 Sandbox via the Dataverse Web API for validation before production migration begins.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 Sandbox using production-like data volume. The customer's RevOps lead reconciles record counts (Leads in, Contacts in, Accounts in, Opportunities in, Activities in), spot-checks 25-50 random records against the Close source, and signs off the schema and mapping before production migration. Any mapping corrections and Account-resolution issues surface here.
Owner reconciliation and User provisioning
We extract every distinct Close Owner referenced on Lead, Contact, Opportunity, and Activity records and match by email against the Dynamics 365 destination org's User table. Owners without a matching User go to a reconciliation queue. The customer's Dynamics 365 admin provisions any missing Users before record import resumes because OwnerId references are required on most standard entities.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Close Companies), Leads (with original status preserved in close_original_status__c), Contacts (with AccountId resolved from Company or placeholder), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Activity history (Tasks, Appointments, EmailMessages via Dynamics 365 Bulk API with batch chunking), Custom Activity Types and fields (phase one and two), Custom Activity instances (phase three), Attachments and Call Recordings. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and Workflow rebuild handoff
We freeze Close writes during cutover, run a final delta migration of any records modified during the migration window, then enable Dynamics 365 as the system of record. We deliver the Workflow inventory document to the customer's admin team listing every active Close Workflow with its trigger, conditions, actions, and recommended Power Automate equivalent. We support a one-week hypercare window for reconciliation issues. We do not rebuild Close Workflows as Power Automate flows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Close
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
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 Close and Microsoft Dynamics 365 Sales .
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
Close: Per endpoint group with a lower limit on write operations; 429 response includes rate_reset value; limits enforced at the organisation level across all API keys.
Data volume sensitivity
Close 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 Close to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Close 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 Close
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.