CRM migration
Field-level mapping, validation, and rollback between Spin CRM and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Spin CRM
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
6 of 9
objects map 1:1 between Spin CRM and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Spin CRM to Microsoft Microsoft Dynamics 365 Sales is a structural upgrade, not a record copy. Spin CRM holds Leads, Contacts, Companies, and Deals in a flat model with no documented REST API and per-object CSV export; Microsoft Dynamics 365 Sales enforces a Lead-to-Contact-to-Account hierarchy with Opportunity as the deal object and separate Activity objects for calls, emails, and meetings. We extract data via Spin CRM's settings-based CSV export (scheduled as close to migration day as feasible to minimize snapshot drift), design the destination schema with the correct object hierarchy and custom fields, and load via Dynamics 365's Data Import Wizard or Azure Synapse Link for larger volumes. Documents, workflow rules, and automation sequences do not migrate; we deliver a written inventory of any configurable items requiring rebuild in Dynamics 365's workflow and business rule designers.
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
Spin CRM platform overview
Scorecard, SWOT, gotchas, and pricing for Spin 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 Spin 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.
Spin CRM
Lead
Microsoft Dynamics 365 Sales
Lead
1:1Spin CRM Leads map directly to Dynamics 365 Lead. Standard fields (full name, email, phone, company, status, owner) migrate via CSV column mapping. Spin CRM's custom fields on Leads require explicit inclusion in the CSV export settings before extraction; we review column headers against the customer's reported custom field list and request a re-export if columns are missing. The migration user must verify that all custom Lead fields are present in the CSV before import proceeds.
Spin CRM
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Spin CRM Contacts map to Dynamics 365 Contact, preserving name, email, phone, job title, and custom fields. The contact-to-company relationship in Spin CRM resolves to AccountId on Contact after Account migration completes. If Spin CRM's export does not expose the company foreign key directly, we match Contacts to Accounts by company name during the transform phase. Custom fields follow the same visibility verification process as Lead custom fields.
Spin CRM
Company
Microsoft Dynamics 365 Sales
Account
1:1Spin CRM Company records map to Dynamics 365 Account. Company name becomes Account Name; address fields map to Address composite fields; industry maps to Industry picklist. We export Companies first to establish the AccountId anchor before importing Contacts, ensuring that Contact records have a valid parent AccountId at insert time rather than requiring a post-import reconciliation pass.
Spin CRM
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:manySpin CRM Deals map to Dynamics 365 Opportunity. Each Deal carries a value, stage, owner, expected close date, and Contact/Company associations. We extract the current Spin CRM stage configuration (stage names, order, and probabilities) during scoping and replicate it as a Microsoft Dynamics 365 Sales Process with stage values that preserve the original stage names. Closed-Won and Closed-Lost stages migrate with their respective status mappings. Note that Spin CRM's flat deal model does not include a separate Opportunity Product object; if the customer uses product-line items in Spin CRM Deals, those migrate as Opportunity Product records with PricebookEntry references.
Spin CRM
Pipeline (stages)
Microsoft Dynamics 365 Sales
Sales Process + Stage
lossySpin CRM's fully customizable pipeline stages replicate as Microsoft Dynamics 365 Sales Process stage values. We capture the full stage sequence (name, order, probability percentage) during scoping and configure it in the destination Dynamics 365 org before any Deal or Opportunity records load. Stage probability percentages migrate to StageProbability on the Opportunity Stage picklist values. If the customer uses multiple named pipelines in Spin CRM, these map to separate Record Types on Opportunity in Dynamics 365.
Spin CRM
Activity (tasks, calls, meetings)
Microsoft Dynamics 365 Sales
Task, Event
1:1Spin CRM Activity records (task reminders, call logs, meeting notes) map to Dynamics 365 Task and Event objects. Spin CRM's activity export mechanism is not explicitly documented in available sources; we attempt export via the settings-based CSV path and supplement with manual extraction where the export does not surface all activity types. Task records carry Status, Priority, and ActivityDate; call dispositions migrate to custom Task fields if present in the export. Meeting records map to Event with StartDateTime, EndDateTime, and Location preserved. We flag any activity type that cannot be extracted from Spin CRM's export mechanism and document the gap in the migration scope report.
Spin CRM
Custom Fields
Microsoft Dynamics 365 Sales
Custom Fields
lossySpin CRM supports custom fields on Leads, Contacts, Companies, and Deals, but the CSV export may not expose all custom fields unless the user explicitly adds them to the export view. We review the exported column headers against the customer's reported custom field list during the scoping phase. Any missing columns require a re-export with custom fields included. Custom field values that do not appear in the CSV are flagged and excluded from the migration scope with a written note to the customer for manual follow-up. In Dynamics 365, we pre-create matching custom fields with appropriate data types (text, number, picklist, date) before the import phase begins.
Spin CRM
Owner
Microsoft Dynamics 365 Sales
User
1:1Spin CRM owner assignments on Leads, Contacts, Deals, and Activities map to Dynamics 365 OwnerId by resolving the owner's email address against the destination User table. We extract the distinct owner list from all Spin CRM exports and match against the target Dynamics 365 org's Users. Any owner without a matching Dynamics 365 User goes to a reconciliation queue for the customer's admin to provision before record import resumes. OwnerId references on all standard objects must resolve before import can complete.
Spin CRM
Documents
Microsoft Dynamics 365 Sales
None
1:1Spin CRM includes document storage as a feature, but the export mechanism for attachments and document blobs is not documented in available sources. We do not attempt to migrate document content without a confirmed export path. We document the document storage gap in the migration scope and recommend that the customer's admin either downloads documents manually from Spin CRM or re-uploads them to Dynamics 365 SharePoint integration post-migration. This is an out-of-scope item for the data migration engagement.
| Spin CRM | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Lead | Lead1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:many | Fully supported | |
| Pipeline (stages) | Sales Process + Stagelossy | Fully supported | |
| Activity (tasks, calls, meetings) | Task, Event1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Fully supported | |
| Owner | User1:1 | Fully supported | |
| Documents | None1:1 | Not 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.
Spin CRM gotchas
No documented public REST API
CSV export is object-by-object, not bulk
Custom field visibility at export time
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
Scoping and export preparation
We audit Spin CRM across all supported objects, identifying Leads, Contacts, Companies, Deals, Activities, and any reported custom fields. We send the customer a per-object export checklist that instructs them to add all custom fields to the CSV export view before downloading. We document the current Spin CRM pipeline stage configuration (names, order, probabilities) and any custom stage naming conventions that must replicate in Dynamics 365. The scoping output is a written migration scope document with object-level record counts, custom field inventory, and pipeline stage map.
Destination schema design in Dynamics 365
We design the target Microsoft Dynamics 365 Sales schema before any data moves. This includes provisioning custom fields (with appropriate Dataverse data types), configuring the Sales Process with stage values matched to Spin CRM's original pipeline stages, setting stage probabilities, and determining whether separate Record Types are needed per line of business. We coordinate with the customer's Dynamics 365 admin to assign the migration user the correct data import roles and to document any existing validation rules that may block import. Schema is validated in a Sandbox or non-production environment first.
CSV export sequencing and pre-validation
We guide the customer through exporting all Spin CRM objects within the data freeze window. Companies export first (establishing the Account anchor), followed by Contacts, then Leads, then Deals, then Activities. Each export file is reviewed for column completeness against the custom field inventory before any transform work begins. Any missing columns trigger a re-export request. We run a pre-validation pass comparing record counts across exports to identify potential snapshot drift.
Sandbox migration and reconciliation
We run a full migration into the customer's Dynamics 365 Sandbox environment using production-like data volume. The customer's RevOps lead reviews record counts, spot-checks 20-40 random records against the Spin CRM source (verifying name, email, stage, value, owner), and validates that pipeline stage names and probabilities match the original Spin CRM configuration. Mapping corrections and any missing field handling happen in the sandbox phase. No production data moves until the sandbox sign-off is received.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Spin CRM Companies), Contacts (with AccountId resolved), Leads, Opportunities (with AccountId, OwnerId, and stage resolved against the Sales Process), Activity history (Tasks and Events). Each phase emits a row-count reconciliation report before the next phase begins. Owner reconciliation is validated at the start of production migration; any owner without a matching Dynamics 365 User halts import until the admin provisions the missing User.
Cutover, validation, and documentation handoff
We freeze Spin CRM 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 a written inventory of Spin CRM workflows, automations, and any configured reminders that require rebuild in Dynamics 365 Power Automate or Dynamics workflow designers. We support a five-day hypercare window where we resolve any reconciliation issues raised by the sales team. We do not rebuild Spin CRM automations as Dynamics 365 workflows inside the migration scope; that is a separate engagement.
Platform deep dives
Spin CRM
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 Spin CRM 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
Spin CRM: Not publicly documented — confirmed during scoping..
Data volume sensitivity
Spin 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 Spin CRM to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Spin 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 Spin 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.