CRM migration
Field-level mapping, validation, and rollback between Levitate and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Levitate
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
5 of 8
objects map 1:1 between Levitate and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Levitate to Microsoft Microsoft Dynamics 365 Sales is a migration from a contact-centric keep-in-touch platform to a full-featured sales CRM built around Accounts, Leads, and Opportunities. Levitate organizes its data around Contacts with Tags as the primary segmentation mechanism; Microsoft Dynamics 365 Sales requires Accounts as the parent organizational record, with Contacts linked below Accounts and Leads used for unqualified prospects. We resolve that structural difference during scoping, map Levitate Key Dates to pre-built custom Date fields, and preserve tag assignments on each contact. Levitate has no documented bulk API — automations cannot be exported as portable logic and engagement history has no bulk download path. We extract contacts through the UI export, supplement with data from Levitate Support, and migrate available activity records as Task and Note entries in Dynamics 365. We do not migrate Workflows, Automations, or Integration configurations; we deliver a written inventory of these for the customer to rebuild using Dynamics 365 native tooling.
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
Levitate platform overview
Scorecard, SWOT, gotchas, and pricing for Levitate.
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 Levitate 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.
Levitate
Contact
Microsoft Dynamics 365 Sales
Lead or Contact (split required)
1:manyLevitate Contacts with no associated deal or pipeline belong in Microsoft Dynamics 365 Sales as Leads by default. Contacts that have a clear organizational parent (company name, agency name, firm name) map to Account first, then Contact linked to that Account. We split the migration at discovery: contacts with a non-empty company field go to Account-Contact; contacts without go to Lead. The split rule is confirmed with the customer before import, and any Levitate Key Date fields migrate as custom Date fields on the target record.
Levitate
Tag
Microsoft Dynamics 365 Sales
Multi-Select Picklist or Custom Tag Entity
lossyLevitate Tags are a flat or hierarchical segmentation taxonomy stored as a multi-select property per contact. Microsoft Dynamics 365 Sales has no native tag field. We create a custom Multi-Select Picklist field (tag_names__c) on the Contact or Lead object to hold the full tag assignment per record, or a related custom Tag Assignment entity if the tag taxonomy exceeds 50 unique values. The customer selects the approach during scoping. We preserve the full tag taxonomy in the migration inventory so downstream segmentation can be rebuilt in Dynamics 365 views or Power Automate.
Levitate
Key Date
Microsoft Dynamics 365 Sales
Custom Date Field on Contact or Lead
lossyLevitate Key Dates (birthday, policy_renewal_date, custom age milestones) are a Levitate-native field type that drives date-triggered automations. Dynamics 365 has no equivalent trigger type. We create matching custom Date fields in Dynamics 365 (birthday__c, policy_renewal_date__c, and any customer-specific variants) before contact import, and migrate all Key Date values as typed Date data. Date-triggered automations from Levitate do not fire in Dynamics 365 without a rebuild as Power Automate flows or scheduled Flows, which we document in the automation handoff inventory.
Levitate
Company
Microsoft Dynamics 365 Sales
Account
1:1Levitate Company records (agency, firm, or organizational name) map to Dynamics 365 Account. The Company name becomes Account Name, and the Levitate contact's company field is used as the dedupe key during import. Account is created before any Contact import so that the AccountId Lookup is satisfied at insert time. If Levitate has no Company records, the Contact-Account split is resolved using the company name on the Contact record itself.
Levitate
Campaign
Microsoft Dynamics 365 Sales
Campaign + CampaignMember
1:1Levitate Campaigns (email group sends with engagement tracking) map to Dynamics 365 Campaign records with CampaignMember linking contacts to the campaign. Campaign name, send date, and aggregate engagement stats (total sent, opens, clicks) migrate as Campaign properties. Individual email engagement events per contact (open timestamp, click URL) are not bulk-exportable from Levitate and are noted as a gap; we migrate the last_engagement_date as a contact property where available.
Levitate
Engagement: Email, Call, Meeting, Task, Note
Microsoft Dynamics 365 Sales
Task, Event, Note
1:1Levitate engagement history (calls logged, meetings scheduled, tasks created, notes attached) migrates to Microsoft Dynamics 365 Sales as Activity records. Emails and calls migrate as Task with TaskSubtype (Call or Email). Meetings migrate as Event with StartDateTime and EndDateTime preserved. Notes migrate as Note records linked via ContentDocumentLink. Levitate does not expose a bulk export of individual engagement events — we migrate available records from the contact export supplemented by Levitate Support data requests, and flag the gap in the engagement completeness disclosure.
Levitate
Text Message
Microsoft Dynamics 365 Sales
Activity Note or Custom Entity
1:1Levitate SMS message threads stored per contact are migratable as Note records or custom activity entries in Dynamics 365. Levitate's export capability for SMS logs is limited to the contact's recent message thread view, and deep thread history may not be available for bulk export. We migrate available SMS content and flag any gaps during the engagement completeness disclosure.
Levitate
User (Owner)
Microsoft Dynamics 365 Sales
User
1:1Levitate user accounts (Owner, Admin, Member roles) are mapped to Dynamics 365 User records by email address. Role definitions and permission scopes are not exportable from Levitate. We flag that Dynamics 365 User roles, security roles, and sharing rules must be configured by the customer's admin after migration. Any Levitate Owner without a matching Dynamics 365 User is held in a reconciliation queue.
| Levitate | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Tag | Multi-Select Picklist or Custom Tag Entitylossy | Fully supported | |
| Key Date | Custom Date Field on Contact or Leadlossy | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Campaign | Campaign + CampaignMember1:1 | Fully supported | |
| Engagement: Email, Call, Meeting, Task, Note | Task, Event, Note1:1 | Fully supported | |
| Text Message | Activity Note or Custom Entity1:1 | Fully supported | |
| User (Owner) | 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.
Levitate gotchas
No public API — automation logic is not exportable
Key Dates are Levitate-specific custom fields
Split billing requires manual credit card management
Flat-rate billing continues until cancelled
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 inventory
We audit the source Levitate account across contacts, companies, tags, custom fields (including Key Date types), automation enrollment state, campaign history, and engagement volume. We scan for any data held by Levitate Support that is not available via self-serve export. We document the full Levitate field taxonomy, identify which Key Dates drive automations, and assess tag count and structure. The discovery output is a written source schema inventory and a recommended Dynamics 365 custom field plan.
Dynamics 365 custom field and schema pre-build
We create all required custom fields in Dynamics 365 before any record import begins. This includes Key Date fields (birthday__c, policy_renewal_date__c, and customer-specific variants), tag fields (tag_names__c as Multi-Select Picklist or a related custom entity), and any other Levitate custom fields mapped during discovery. We also configure the Account-Contact hierarchy and confirm the Lead-Contact split rule with the customer. Schema is deployed to a Dynamics 365 Sandbox environment for validation before production migration.
Sandbox migration and reconciliation
We run a full migration into the Dynamics 365 Sandbox using production-like data volume. The customer reconciles record counts (Accounts, Contacts, Leads, Activities), spot-checks 25-50 records against Levitate source data, and validates that custom fields populated correctly. Any field mapping corrections, split rule adjustments, or tag taxonomy changes happen here. We do not proceed to production until the customer signs off the sandbox validation report.
Owner and User provisioning
We extract every distinct Levitate Owner referenced on contact, company, or engagement records and match by email against the Dynamics 365 destination User table. Any Owner without a matching Dynamics 365 User goes to a reconciliation queue. The customer's admin provisions missing Users and confirms active/inactive status before the production migration begins, because OwnerId references are required on most standard records.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Levitate Companies or derived from Contact company field), Contacts and Leads (with the split rule applied, Key Dates typed, and tag assignments populated), Campaigns (with aggregate engagement stats), Activities (Tasks, Events, Notes from available engagement data). Each phase emits a row-count reconciliation report before the next phase begins. Levitate writes are frozen during the cutover window.
Cutover, validation, and automation rebuild handoff
We run a final delta migration of any records modified during the cutover window, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver the automation and workflow inventory document covering every Levitate Automation and Key Date trigger, with a recommended Power Automate rebuild approach. We conduct a post-migration reconciliation against Levitate record counts and support a one-week hypercare window for any data issues raised by the customer's team.
Platform deep dives
Levitate
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Levitate and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Levitate and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Levitate 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
Levitate: Not publicly documented.
Data volume sensitivity
Levitate 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 Levitate to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Levitate 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 Levitate
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.