CRM migration
Field-level mapping, validation, and rollback between Ontraport and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Ontraport
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
7 of 11
objects map 1:1 between Ontraport and Microsoft Dynamics 365 Sales .
Complexity
CModerate
Timeline
4-6 weeks
Overview
Moving from Ontraport to Microsoft Microsoft Dynamics 365 Sales is a migration from an all-in-one SMB platform to an enterprise CRM backed by the Microsoft ecosystem. Ontraport's Contact-centric data model shifts to Dynamics 365's Lead-Contact-Account hierarchy, which requires a lead-qualification split at migration time. We export Ontraport's Contact, Company, and Deal records via API with custom field mapping, deduplicate the Notes export (which produces duplicate Contact rows per Note in Ontraport), and import into Microsoft Dynamics 365 Sales through the Dataverse API with proper Account-Contact linking. Ontraport's automation rules, campaign configurations, invoice and payment records, and membership content do not migrate as code or structured data; we deliver a written inventory for the customer's admin to rebuild in Dynamics 365 Flow, the native campaign model, and SharePoint-based document management.
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
Ontraport platform overview
Scorecard, SWOT, gotchas, and pricing for Ontraport.
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 Ontraport 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.
Ontraport
Contact
Microsoft Dynamics 365 Sales
Lead or Contact (split required)
1:manyOntraport Contacts with lifecycle stage values indicating qualified buyers (customer, evangelist) map to Dynamics 365 Contact. Contacts with unqualified stages (subscriber, lead) map to Lead. The original Ontraport lifecycle stage migrates to a custom field on both Lead and Contact for audit. We apply the split rule during the transform phase and resolve Account lookups for all Contact records before insert.
Ontraport
Company
Microsoft Dynamics 365 Sales
Account
1:1Ontraport Company records map to Dynamics 365 Account. Company name becomes Account Name, and domain data maps to Website. Ontraport does not enforce Company dedup, so we flag duplicate Account names during scoping and recommend a dedup pass before Account insert to avoid creating duplicate Accounts in Dynamics.
Ontraport
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1Ontraport Deal records map to Dynamics 365 Opportunity. Pipeline assignment maps to a Dynamics Record Type and Sales Process. Deal stage maps to StageName with probability percentages mapped to StageProbability. Amount, close date, owner, and Contact/Company association migrate directly. Opportunity is created after Account and Contact so that parent lookups resolve at insert time.
Ontraport
Deal Stage and Pipeline
Microsoft Dynamics 365 Sales
Opportunity Stage + Record Type
lossyEach Ontraport deal pipeline becomes a Dynamics 365 Record Type on Opportunity with a corresponding Sales Process that whitelists the stage values. Probability percentages transfer from Ontraport with rounding to Dynamics-allowed integer values. The customer reviews stage mapping in a sandbox before production migration.
Ontraport
Tag
Microsoft Dynamics 365 Sales
Multi-Select Picklist or Topic
lossyOntraport tags stored as text values per Contact migrate to a Dynamics multi-select picklist field. If tag volume exceeds picklist value limits (500 values), we recommend migrating to Topics with TopicAssignment records or a custom entity for tag inventory. The customer selects the strategy during scoping.
Ontraport
Note
Microsoft Dynamics 365 Sales
Note
1:1Ontraport Notes export generates duplicate Contact rows per Note (one row per Note attached to a Contact). We deduplicate these rows at transform, keeping a single Contact row with all Notes aggregated, then insert each Note as a separate Dynamics Note record linked via ContentDocumentLink to the parent Contact, Lead, or Account. This is a known Ontraport export artifact we handle without requiring manual pre-processing.
Ontraport
Campaign
Microsoft Dynamics 365 Sales
Campaign + CampaignMember
1:1Ontraport Campaign records (email and multi-channel marketing campaigns) migrate to Dynamics 365 Campaign with campaign type, status, and target audience data. Contact and Company memberships migrate as CampaignMember records linking the Contact or Lead to the Campaign. Campaign-level configuration (sending rules, A/B testing setups) does not migrate; we inventory the campaign structure and deliver it as a rebuild reference.
Ontraport
Automation Rules
Microsoft Dynamics 365 Sales
Power Automate flow inventory
1:1Ontraport Automation Rules are stored in a proprietary format that cannot be exported as structured data. We extract trigger definitions, enrolled Contact lists, and action summaries from Ontraport's UI and API, then deliver a written inventory documenting each automation's trigger, conditions, steps, and a recommended Power Automate equivalent. The customer or a Dynamics partner rebuilds the flows post-migration.
Ontraport
Invoice and Transaction
Microsoft Dynamics 365 Sales
Invoice (via custom entity or SharePoint)
1:1Ontraport invoice records with line items, payment status, and product associations migrate to a custom Invoice entity in Dynamics 365 or to a SharePoint document library with invoice metadata linked to the Account and Contact. Payment status (paid, pending, failed) migrates as a custom field. Actual invoice PDFs are exported as documents and attached to the related Account or Contact record. Microsoft Dynamics 365 Sales does not have native billing; invoice records require a custom solution or third-party integration.
Ontraport
Custom Object
Microsoft Dynamics 365 Sales
Custom Entity (Dataverse)
1:1Ontraport custom objects (Pets, Courses, Subscriptions, etc.) with custom fields and Contact or Company relationships migrate to Dataverse custom entities. We pre-create the destination schema including all custom fields, lookup relationships, and any validation rules before data import. Contact lookups resolve via the Contact mapping already completed.
Ontraport
Membership and Course
Microsoft Dynamics 365 Sales
Custom Entity + SharePoint
lossyOntraport Membership and Course content (titles, descriptions, subscriber lists, enrollment dates) migrates to a custom enrollment entity in Dynamics with the Contact lookup. Course content itself (HTML pages, video assets) requires separate export from Ontraport and re-hosting at the destination, which we flag as a content migration scope separate from the CRM data migration.
| Ontraport | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Deal Stage and Pipeline | Opportunity Stage + Record Typelossy | Fully supported | |
| Tag | Multi-Select Picklist or Topiclossy | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Campaign | Campaign + CampaignMember1:1 | Fully supported | |
| Automation Rules | Power Automate flow inventory1:1 | Mapping required | |
| Invoice and Transaction | Invoice (via custom entity or SharePoint)1:1 | Fully supported | |
| Custom Object | Custom Entity (Dataverse)1:1 | Fully supported | |
| Membership and Course | Custom Entity + SharePointlossy | 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.
Ontraport gotchas
Export history auto-deletes after 60 days
Contact overages trigger billing changes on Basic and Plus plans
SMS costs accrue before the daily limit pause applies
Automation logic cannot be exported or imported
Notes export duplicates Contact records
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 scoping
We audit the Ontraport account across object types (Contacts, Companies, Deals, Tags, Notes, Campaigns, Automation Rules, Invoices, Custom Objects, Membership content), record counts per object, custom field definitions, and active automation count. We extract the total contact count against the current plan to flag overage exposure. The discovery output is a written migration scope covering every object to be migrated, held, or inventoried, plus a Dynamics 365 edition recommendation based on user count and feature requirements.
Schema design and lead split rule
We design the destination schema in Microsoft Dynamics 365 Sales . This includes provisioning any custom entities on Dataverse, custom fields on Lead, Contact, Account, and Opportunity with type-mapped Dataverse field types, Record Types for each Ontraport pipeline, Sales Processes for stage whitelists, and the Lead-Contact split rule based on the customer's Ontraport lifecycle stage values. Schema deploys into a Dynamics Sandbox first for validation before production migration.
Data extraction, deduplication, and transform
We export all Ontraport objects via API. Notes exports are deduplicated by collapsing duplicate Contact rows and aggregating Notes per Contact. Company records are flagged for dedup before Account insert. Automation Rule definitions are extracted as a structured inventory rather than migratable data. Invoice and transaction records are exported with full line-item and payment status data. All data is staged in a secure migration workspace for transform.
Sandbox migration and reconciliation
We run a full migration into the Dynamics 365 Sandbox using production-like data volume. The customer reconciles record counts across all objects, spot-checks 25-50 records per object against the Ontraport source, and validates the lead split, Account-Contact linking, and Note attachment. Any mapping corrections are documented and applied before production migration begins. This step prevents correction cycles in production.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Ontraport Companies after dedup), Contacts and Leads (with the lifecycle stage split applied and AccountId resolved for Contacts), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Notes (linked via ContentDocumentLink to the parent record), Campaigns and CampaignMembers, Custom Object records, and Invoice metadata. Each phase emits a row-count reconciliation report. We use the Dataverse API with batch chunking and rate-limit handling.
Cutover, validation, and automation handoff
We freeze Ontraport 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 automation inventory document with Power Automate recommendations to the customer's admin team. We support a one-week hypercare window for reconciliation issues. Workflows, automations, campaigns, and payment processing configurations are not rebuilt inside the migration scope; they require a separate engagement or internal admin work.
Platform deep dives
Ontraport
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 4 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Ontraport and Microsoft Dynamics 365 Sales .
Object compatibility
4 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
Ontraport: Not publicly documented.
Data volume sensitivity
Ontraport 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 Ontraport to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Ontraport 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 Ontraport
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.