CRM migration
Field-level mapping, validation, and rollback between Salesflare and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Salesflare
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
8 of 10
objects map 1:1 between Salesflare and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Salesflare to Microsoft Microsoft Dynamics 365 Sales is a structural migration from a flat, auto-enriched data model into a relational schema built on Dataverse. Salesflare's Account-Contact junction is a first-class relationship; Microsoft Dynamics 365 Sales stores Contacts as separate records linked to Account via a Lookup, requiring explicit primary-contact resolution during migration. Pipeline stages from Salesflare map to Dynamics Opportunity stage values, and each Dynamics pipeline requires a corresponding Record Type and Sales Process configured before Opportunity import. Email sequences, which are native in Salesflare Pro and Enterprise, do not transfer to Dynamics; we deliver a written inventory of every sequence step and delay for rebuild in Dynamics Sales Accelerator or Power Automate. Activity history migrates via the Dynamics Dataverse API with parent-record lookup resolution. Custom dashboards, lead credit metadata, and workflow configurations are flagged as non-migratable and handed off as rebuild documentation.
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
Salesflare platform overview
Scorecard, SWOT, gotchas, and pricing for Salesflare.
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 Salesflare 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.
Salesflare
Account
Microsoft Dynamics 365 Sales
Account
1:1Salesflare Account maps directly to Dynamics 365 Account. The HubSpot-derived domain and industry fields map to Account.Website and Account.Industry. We use the Salesflare account ID as an external key for deduplication and resolve any duplicate Account names against the Dynamics target org before insert. Industry classification uses the standard NAICS picklist in Dynamics.
Salesflare
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Salesflare Contact maps to Dynamics Contact with AccountId resolved to the parent Account. Primary vs. secondary contact role is stored in a custom field sf_primary_contact__c since Dynamics does not have a native primary-flag on Contact. The original Salesflare contact ID is preserved in sf_salesflare_id__c for reconciliation.
Salesflare
Account-Contact Relationship
Microsoft Dynamics 365 Sales
Contact.AccountId Lookup
1:1The Salesflare Account-Contact junction is preserved as an AccountId Lookup on Dynamics Contact. We resolve the contact-to-account link by matching the account name or domain during migration. Any Contact without a resolvable Account is held in a reconciliation queue and can be imported as a standalone Contact with the AccountId left blank, pending admin resolution.
Salesflare
Opportunity
Microsoft Dynamics 365 Sales
Opportunity
1:1Salesflare Opportunity maps to Dynamics Opportunity. The opportunity value, stage name, expected close date, and owner migrate directly. We map Salesflare pipeline and stage labels to a Dynamics Record Type and Sales Process configured before migration. Loss reason and win reason from Salesflare custom properties become Dynamics Opportunity.CloseReason and LossReason fields.
Salesflare
Pipeline
Microsoft Dynamics 365 Sales
Record Type + Sales Process
lossyEach Salesflare pipeline becomes a Dynamics Record Type on Opportunity with a corresponding Sales Process that whitelists the stage values. Stage probability percentages migrate from Salesflare to Dynamics StageProbability rounded to integer. If Salesflare uses account-specific stage labels, we consolidate them to a standard stage set per Record Type during scoping.
Salesflare
Activity: Call
Microsoft Dynamics 365 Sales
Task (TaskSubtype = Call)
1:1Salesflare call activities map to Dynamics Task with TaskSubtype = Call. Call outcome, duration, and any recording URL preserve in custom Task fields. ActivityDate maps to the Dynamics CreatedOn timestamp to preserve timeline ordering.
Salesflare
Activity: Email
Microsoft Dynamics 365 Sales
Email (Email activity in Timeline)
1:1Salesflare logged email activities map to Dynamics Email records on the Timeline. We resolve the Regarding (regardingobjectid) to the linked Account, Contact, or Opportunity. Email subject, body, and direction (inbound/outbound) preserve.
Salesflare
Activity: Meeting
Microsoft Dynamics 365 Sales
Appointment (Activity type)
1:1Salesflare meeting activities map to Dynamics Appointment records. Start time, end time, location, and description preserve. Attendees resolve to Contact or User records via the Dynamics ActivityParty model.
Salesflare
User
Microsoft Dynamics 365 Sales
User
1:1Salesflare team members map to Dynamics User records. We resolve by email match against the target org's User table. Any Salesflare Owner without a matching Dynamics User goes to a reconciliation queue for the customer's admin to provision before Opportunity import resumes.
Salesflare
Tag
Microsoft Dynamics 365 Sales
Category or Custom Text Field
lossySalesflare tags are flat many-to-many labels on Accounts, Contacts, and Opportunities. We export tag names as a pipe-delimited string stored in a custom Dynamics field (sf_tags__c) on each object. Alternatively, if the customer uses Dynamics Categories, we create Category records and link via the TopicAssignment model. The customer chooses the tag strategy during scoping.
| Salesflare | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Account | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Account-Contact Relationship | Contact.AccountId Lookup1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Pipeline | Record Type + Sales Processlossy | Fully supported | |
| Activity: Call | Task (TaskSubtype = Call)1:1 | Fully supported | |
| Activity: Email | Email (Email activity in Timeline)1:1 | Fully supported | |
| Activity: Meeting | Appointment (Activity type)1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Tag | Category or Custom Text Fieldlossy | 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.
Salesflare gotchas
Enterprise tier minimum user count affects pricing projections
Growth tier limits email sequences to one workflow
Lead credits are a metered resource, not contact data
Custom dashboards do not transfer as data
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 schema scoping
We audit the source Salesflare account: object counts (Accounts, Contacts, Opportunities), pipeline and stage definitions, custom property schema per object, active email sequences, user list, tag usage, and attachment volume. We map this to a Microsoft Dynamics 365 Sales edition decision: Sales Professional ($65/user) covers standard account-contact-opportunity migrations; Sales Enterprise ($105/user) is required for complex multi-pipeline, territory, or product-line routing; Sales Premium ($150+/user) if the customer needs Copilot for Sales and Sales Accelerator sequences. The discovery output is a written scope document with object counts, field mapping draft, and pipeline-to-Record-Type plan.
Dynamics schema design and Record Type configuration
We design the destination schema in the Dynamics 365 target environment. This includes creating custom fields (sf_ prefix) for Salesflare native fields that have no Dynamics equivalent, configuring Record Types and Sales Processes for each Salesflare pipeline, and setting up the Contact.AccountId Lookup relationship model. Schema is deployed into a Sandbox environment first for validation before any production migration runs.
Sandbox migration and reconciliation
We run a full migration into the Dynamics Sandbox using production-like data volume. The customer's RevOps or admin lead spot-checks 25-50 records per object against the Salesflare source, validates that Account-Contact relationships resolved correctly, confirms stage names mapped to the right Sales Process, and signs off before production migration begins. Mapping corrections happen in Sandbox, not production.
Owner and User provisioning
We extract every distinct Salesflare Owner referenced on Opportunities and Contacts and match by email against the Dynamics target org's User table. Owners without a matching Dynamics User are held in a reconciliation queue; the customer's admin provisions missing Users before migration resumes. OwnerId is a required field on Opportunity in most Dynamics configurations, so this step gates the Opportunity import phase.
Production migration in dependency order
We run production migration in dependency order: Accounts first (as parent records), Contacts second (with AccountId resolved from the Account import), Opportunities third (with OwnerId, AccountId, and RecordTypeId resolved), Activity history fourth (Tasks, Emails, Appointments via Dataverse API with parent-record lookup), Tags fifth (as pipe-delimited text or Category records), and Custom Properties last (as custom fields appended to each object). Each phase emits a row-count reconciliation report before the next begins.
Cutover, validation, and sequence rebuild handoff
We freeze writes in Salesflare during cutover, run a final delta migration for any records modified during the migration window, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver the email sequence inventory document with step-by-step definitions and recommended Dynamics Sales Accelerator or Power Automate equivalents to the customer's admin team. We provide a one-week hypercare window for reconciliation issues. We do not rebuild sequences as Power Automate flows inside the migration scope; that is a separate engagement or internal admin task.
Platform deep dives
Salesflare
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Salesflare and Microsoft Dynamics 365 Sales .
Object compatibility
1 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
Salesflare: Documented in the official API docs at api.salesflare.com/docs; specific request-per-second numbers vary by endpoint and plan tier.
Data volume sensitivity
Salesflare 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 Salesflare to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Salesflare 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 Salesflare
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.