CRM migration
Field-level mapping, validation, and rollback between Oncord and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Oncord
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
4 of 8
objects map 1:1 between Oncord and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
5-8 weeks
Overview
Migrating from Oncord to Microsoft Microsoft Dynamics 365 Sales is a structural upgrade, not a record copy. Oncord stores its entire CRM data model under a flat Contact object with Groups as tagging lists and no formal API for bulk retrieval. Microsoft Dynamics 365 Sales uses a relational model: Accounts (the company), Contacts (people at the company), Leads (unqualified prospects), and Opportunities ( Deals tracked through a sales process). We build the Account-Contact parent-child structure during migration, splitting Oncord contacts by domain or the closest available signal to populate the Account hierarchy, then attaching Contacts. Events (RSVP lists) require custom fields or Activity notes because Microsoft Dynamics 365 Sales has no native event management object. Automation Workflows and Web Forms do not migrate; we deliver a written inventory of every active automation and form for the customer's admin to rebuild in Dynamics 365 or Power Automate.
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
Oncord platform overview
Scorecard, SWOT, gotchas, and pricing for Oncord.
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 Oncord 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.
Oncord
Contact
Microsoft Dynamics 365 Sales
Account and Contact
1:manyOncord's flat Contact object requires a structural split into the Dynamics 365 Account-Contact hierarchy. We extract the contact's email domain during migration and use it as the Account dedupe key, creating one Account per unique domain (or per customer-defined grouping rule if multi-domain accounts exist). Oncord's contact fields (name, email, phone, address, custom fields) map to Contact fields; the newly created Account inherits the company name from the contact's organization field or is generated from the domain. We preserve all Oncord field values in custom Contact fields (oncord_original_company__c, oncored_contact_id__c) for audit.
Oncord
Group
Microsoft Dynamics 365 Sales
Static List or Campaign
lossyOncord Groups function as static tagging and segmentation lists. We export every Group and its member contacts. In Dynamics 365, static Lists map to Campaign Membership (Campaign and CampaignMember) or to static Marketing Lists. We recommend Campaign membership for list-based follow-up sequences and static Marketing Lists for segmentation used inside opportunity context. Groups with more than 10,000 contacts are chunked across multiple Campaign records to stay within Dynamics 365's API limits.
Oncord
Custom Fields
Microsoft Dynamics 365 Sales
Custom Contact Fields
1:1Oncord CustomFields exposed via the internal API component map to custom fields on the Contact entity in Dataverse. We handle type mapping: Oncord text fields map to nvarchar, number fields to decimal or integer, date fields to datetime, and dropdown fields to picklist with the same option labels. We pre-create the custom field definitions in the destination Dynamics 365 org via the metadata API before importing any data, matching Oncord field labels to Dataverse display names.
Oncord
Product (Commerce add-on)
Microsoft Dynamics 365 Sales
Product2 and PricebookEntry
1:1Products are only present if the customer has the Commerce add-on ($40/month) active. We export product name, description, price, SKU, inventory count, images, and any custom product fields. In Microsoft Dynamics 365 Sales , we create Product2 records with the Standard Price Book entry, matching Oncord SKU to Product2 ProductCode. If the customer has tiered pricing or product variants, we create separate Product2 records with a parent-child relationship via the Product Association entity.
Oncord
Events
Microsoft Dynamics 365 Sales
Custom Fields or Activity Note
1:1Oncord Events (RSVP functionality in the Marketing add-on) have no direct Microsoft Dynamics 365 Sales equivalent. Sales does not include a native event or registration management object. We capture event name, date, location, capacity, and attendee list as custom Contact fields (event_name__c, event_date__c, event_rsvp_status__c) and document each Event's attendee list separately for the customer's admin to work with in Dynamics 365. Full event management requires Dynamics 365 Marketing (separate license) or a partner event module.
Oncord
Automation Workflows
Microsoft Dynamics 365 Sales
Written inventory document
lossyOncord Automation Workflows trigger on contact activity, group membership, or time-based schedules. We document the complete workflow structure including triggers, conditions, filters, delays, and CRM actions for every active workflow. This inventory is delivered as a written specification that the customer's Dynamics 365 admin uses to rebuild equivalent automations in Power Automate, Microsoft Dynamics 365 Sales desktop flows, or Dataverse workflows. Workflow logic does not migrate as code because Oncord's workflow engine has no export or translation path to Microsoft Power Platform.
Oncord
Web Forms
Microsoft Dynamics 365 Sales
Written inventory document
lossyOncord Web Forms grow the contact database and carry custom field mappings per form. We export form definitions, field names, and the contact-property mappings. This inventory is delivered as a written specification for rebuilding in Microsoft Forms, Power Apps portals, or a partner form solution. Microsoft Dynamics 365 Sales does not include a native web form builder; Web-to-Lead is the closest standard replacement for lead capture from public-facing forms.
Oncord
Users / Administrators
Microsoft Dynamics 365 Sales
User
1:1Oncord includes unlimited admin users on base plans. We export user records including name, email, and role designation. Oncord Owner assignments on Contacts map to Dynamics 365 OwnerId via email match against the destination User table. Oncord role semantics (Admin, Standard) map to Dynamics 365 Security Roles assigned post-migration by the customer's admin. Any Oncord Owner without a matching Dynamics 365 User goes to a reconciliation queue for provisioning before the Contact import phase.
| Oncord | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Account and Contact1:many | Fully supported | |
| Group | Static List or Campaignlossy | Fully supported | |
| Custom Fields | Custom Contact Fields1:1 | Fully supported | |
| Product (Commerce add-on) | Product2 and PricebookEntry1:1 | Fully supported | |
| Events | Custom Fields or Activity Note1:1 | Mapping required | |
| Automation Workflows | Written inventory documentlossy | Mapping required | |
| Web Forms | Written inventory documentlossy | Mapping required | |
| Users / Administrators | User1:1 | Mapping required |
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.
Oncord gotchas
Email accounts are not included in the base subscription
Lite plan restrictions gate most CRM and marketing data
No formal export or migration tooling exists
Commerce and Marketing are optional paid add-ons
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 export feasibility assessment
We audit the source Oncord account across base plan tier, active add-ons (Marketing, Commerce), contact volume, Groups count, custom field definitions, product catalog (if Commerce is active), event list, active workflows, and web form inventory. Because Oncord has no formal API, we attempt a CustomFields API extraction and a backup file request in parallel, then assess which data sources are complete enough to migrate. We flag any module with no data (add-on not purchased, feature not used) to avoid wasted migration effort. The discovery output is a written scope with data completeness assessment and a Microsoft Dynamics 365 Sales edition recommendation (Sales Professional at $65/user or Sales Enterprise at $105/user).
Account-Contact schema design and parent resolution rule
We design the Microsoft Dynamics 365 Sales destination schema before any data moves. This includes provisioning any custom Contact fields to match Oncord custom field definitions, creating the Account-Contact relationship mapping, designing the Account dedupe strategy (domain-based or customer-defined grouping), and establishing the contact ownership mapping to Dynamics 365 User records. We deploy the schema to a Dynamics 365 Sandbox first for validation. This step is critical because the flat-to-hierarchical restructure must be locked before Contact migration begins.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 Sandbox using the customer's production data volume or a representative sample. The customer's admin or operations lead reconciles record counts (Accounts created, Contacts created and linked, Products imported, custom field values preserved), spot-checks 20-40 records against the Oncord source, and validates that the Account-Contact parent linkage is correct. Any mapping corrections happen in the Sandbox. We do not proceed to production migration until the Sandbox reconciliation is signed off.
Owner reconciliation and User provisioning
We extract every distinct Oncord Owner referenced on Contact records and match by email against the Dynamics 365 destination org's User table. Any Oncord Owner without a matching Dynamics 365 User goes to a reconciliation queue. The customer's admin provisions missing Users and assigns the appropriate Dynamics 365 Security Role (Salesperson, Sales Manager, or custom role). Migration cannot proceed past this step because OwnerId references are required on most standard object inserts.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Contact domain resolution), Contacts (with AccountId linked), Users (validated in step 4), Products and PricebookEntries (if Commerce add-on was active), Product2 records with Standard Price Book entries, Groups (as Campaign membership or Marketing List), Custom Fields (mapped to Dataverse Contact custom attributes), and Events data (as custom Contact fields). Each phase emits a row-count reconciliation report before the next phase begins. We use Dynamics 365 Bulk API with batch chunking and exponential backoff for high-volume imports.
Cutover, delta migration, and automation rebuild handoff
We freeze writes to Oncord during the cutover window, run a final delta migration of any records modified since the last sync, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver the Automation Workflow and Web Form inventory documents to the customer's admin team for rebuild in Power Automate or Microsoft Dynamics 365 Sales desktop flows. We support a five-business-day hypercare window where we resolve reconciliation issues raised by the customer's team. We do not rebuild Oncord Workflows or Forms inside the migration scope; that work is handled by the customer's admin or a Dynamics 365 partner as a separate engagement.
Platform deep dives
Oncord
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Oncord and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Oncord and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Oncord 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
Oncord: Not publicly documented.
Data volume sensitivity
Oncord 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 Oncord to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Oncord 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 Oncord
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.