CRM migration

Migrate from Ontraport to Microsoft Dynamics 365 Sales

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 logo

Ontraport

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

64%

7 of 11

objects map 1:1 between Ontraport and Microsoft Dynamics 365 Sales .

Complexity

CModerate

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Ontraport logo

Ontraport

What's pushing teams away

  • Ontraport's contact-based billing model creates unpredictable costs — overages on Basic and Plus tiers add up quickly for lists above the stated limits, with reports of $600/month for ~43k contacts.
  • The learning curve for automation triggers, contact grouping, and campaign logic is steep; users consistently describe these features as confusing despite Ontraport's support resources.
  • Deliverability has declined over time according to long-term users, with deliverability problems even affecting technical users who manage their own sending infrastructure.
  • Landing page builder is limited for visually complex designs — graphic-heavy pages and custom domains require workarounds that frustrate designers and developers.
  • Grandfathered pricing has been removed for longtime users, with sudden price increases of $80+/month cited as a trigger to evaluate alternatives.

Choosing

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How Ontraport objects map to Microsoft Dynamics 365 Sales

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

maps to

Microsoft Dynamics 365 Sales

Lead or Contact (split required)

1:many
Fully supported

Ontraport 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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Ontraport 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

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Ontraport 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

maps to

Microsoft Dynamics 365 Sales

Opportunity Stage + Record Type

lossy
Fully supported

Each 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

maps to

Microsoft Dynamics 365 Sales

Multi-Select Picklist or Topic

lossy
Fully supported

Ontraport 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

maps to

Microsoft Dynamics 365 Sales

Note

1:1
Fully supported

Ontraport 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

maps to

Microsoft Dynamics 365 Sales

Campaign + CampaignMember

1:1
Fully supported

Ontraport 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

maps to

Microsoft Dynamics 365 Sales

Power Automate flow inventory

1:1
Mapping required

Ontraport 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

maps to

Microsoft Dynamics 365 Sales

Invoice (via custom entity or SharePoint)

1:1
Fully supported

Ontraport 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

maps to

Microsoft Dynamics 365 Sales

Custom Entity (Dataverse)

1:1
Fully supported

Ontraport 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

maps to

Microsoft Dynamics 365 Sales

Custom Entity + SharePoint

lossy
Fully supported

Ontraport 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.

Gotchas + challenges

What specifically takes care here

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 logo

Ontraport gotchas

Medium

Export history auto-deletes after 60 days

High

Contact overages trigger billing changes on Basic and Plus plans

Medium

SMS costs accrue before the daily limit pause applies

High

Automation logic cannot be exported or imported

Low

Notes export duplicates Contact records

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • Ontraport Automation Rules do not export to Power Automate

    Ontraport's Automation Rules are stored in a proprietary format with no export path. The trigger conditions, branching logic, and multi-step actions cannot be extracted as structured data and cannot be imported into Dynamics 365 or Power Automate. We extract trigger definitions and enrolled Contact counts from the API and deliver a written automation inventory with recommended Power Automate equivalents for each active rule. The customer's admin or a Dynamics partner rebuilds the flows post-migration. This is the most significant scope gap in any Ontraport migration.

  • Notes export produces duplicate Contact rows per Note

    When exporting Ontraport Contacts with the 'include notes' option, each Note generates a separate CSV row that repeats the full Contact record. A Contact with five Notes produces five identical Contact rows with one Note in each. We deduplicate these rows during the transform phase before import into Dynamics 365. If the customer has already run an export without preserving raw Note data separately, the Note content is recoverable from the duplicated rows as long as the export file is still accessible.

  • Ontraport Company dedup required before Account insert

    Ontraport does not enforce uniqueness on Company names. A single Company record with multiple contacts may have slight variations in spelling, or multiple distinct companies may share identical names. Dynamics 365 Account requires a unique name per Account or an explicit dedup strategy. We flag duplicate Account names during scoping, apply a dedup algorithm (fuzzy match on name, exact match on domain), and present a dedup recommendation to the customer before Account insert begins.

  • Dynamics 365 has no native invoice or payment processing

    Ontraport includes integrated invoice and subscription management with transaction history. Microsoft Microsoft Dynamics 365 Sales does not have native billing or payment processing; teams needing invoice management require Dynamics 365 Business Central (an ERP addition), a third-party invoicing integration (Stripe, PayPal), or a custom solution built on Dataverse. We migrate invoice records and transaction data as metadata into a custom entity or SharePoint library, but actual payment processing and subscription lifecycle management must be addressed separately in the destination platform.

  • Contact-based pricing makes Ontraport list size unpredictable at scoping

    Ontraport's contact-based billing means the true contact count driving cost is not always visible in the UI, and overages accumulate before they surface. During scoping, we extract the total contact count via API and compare against the current plan limit to flag whether the imported record set will trigger overage billing in the first month at the destination or during the dual-write window. This is an Ontraport-specific pricing risk that does not apply to Dynamics 365 per-user licensing.

Migration approach

Six steps for a successful Ontraport to Microsoft Dynamics 365 Sales data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Ontraport logo

Ontraport

Source

Strengths

  • Visual automation builder with triggers, conditions, and multi-step actions for non-technical users
  • Integrated payment processing including invoices, subscriptions, and transaction records in one account
  • Dedicated IP addresses for email sending with high sender reputation and strong deliverability
  • All-in-one platform combining CRM, email marketing, landing pages, and membership sites without third-party integrations
  • Responsive support team with chat, email, and screen-share options available seven days per week

Weaknesses

  • Contact-based billing creates unpredictable overage charges that scale faster than many teams expect
  • Steep learning curve for automation logic — triggers, grouping, and conditional steps confuse even experienced users
  • No publicly documented bulk export API — migrations require looping individual API calls which limits throughput
  • Landing page builder struggles with graphic-heavy layouts, pushing users toward external tools for complex designs
  • Grandfathered pricing no longer honored; longtime users report sudden and significant price increases
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Moderate CRM migration. 4 of 8 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Ontraport and Microsoft Dynamics 365 Sales .

  • Object compatibility

    C

    4 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Ontraport: Not publicly documented.

  • Data volume sensitivity

    B

    Ontraport doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Ontraport to Microsoft Dynamics 365 Sales migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Ontraport to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Ontraport to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Migrations under 15,000 Contacts, 3,000 Deals, and no custom objects land between four and six weeks. Migrations with custom objects, large engagement histories (over 200,000 activity records), multiple Ontraport Companies requiring dedup, or invoice and subscription records to inventory move to eight to twelve weeks. Timeline is driven by data volume, dedup complexity, and how quickly the customer reviews sandbox sign-off.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Ontraport.
Land in Microsoft Dynamics 365 Sales , intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day