CRM migration
Field-level mapping, validation, and rollback between OnePageCRM and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
OnePageCRM
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
7 of 10
objects map 1:1 between OnePageCRM and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from OnePageCRM to Microsoft Microsoft Dynamics 365 Sales is a migration from a flat, action-first contact model to a hierarchical CRM with Lead, Contact, Account, and Opportunity as separate objects. OnePageCRM stores contacts and organizations in a lightweight flat structure; Dynamics 365 separates unqualified prospects (Lead) from qualified contacts (Contact) attached to Accounts. We resolve that structural shift during scoping, map OnePageCRM Organizations to Accounts, and replay Next Action dates as task records in the Dynamics 365 activity timeline. OnePageCRM's native export cannot pull email body text or file attachments from contact records — we surface this gap during scoping and document exactly which records will carry partial or absent email history. Workflows, Autoflow sequences, and Speed Dialer configuration do not migrate; we deliver a written inventory of every Autoflow for the customer's admin to rebuild in Dynamics 365 with 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
OnePageCRM platform overview
Scorecard, SWOT, gotchas, and pricing for OnePageCRM.
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 OnePageCRM 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.
OnePageCRM
Contact
Microsoft Dynamics 365 Sales
Lead and Contact (split required)
1:manyOnePageCRM Contacts are the primary record and include both unqualified prospects and qualified buyers in one object. We split at migration time based on OnePageCRM status: contacts with status indicating unqualified prospect (e.g., New Lead, Contacted) map to Dynamics 365 Lead; contacts with status indicating qualified buyer (e.g., Customer, Active) map to Dynamics 365 Contact attached to a pre-created Account. The original OnePageCRM status value migrates as a custom field on both Lead and Contact for audit. Next Action date and Next Action text migrate as a Task record with ActivityDate set to the Next Action date and Subject containing the action text.
OnePageCRM
Organization
Microsoft Dynamics 365 Sales
Account
1:1OnePageCRM Organizations map directly to Dynamics 365 Account. Organization name becomes Account Name; organization phone and address fields map to the corresponding Account fields. The Organization-to-Account linkage is established before Contact import so that AccountId is available as a lookup reference on Contact records. Custom fields on Organization migrate as custom fields on Account.
OnePageCRM
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1OnePageCRM Deals map to Dynamics 365 Opportunity. Deal name becomes Opportunity Name; amount, close date, pipeline, and stage migrate directly. Closed Won and Closed Lost status from OnePageCRM map to the corresponding Dynamics 365 stage names. OnePageCRM deal margin, commission, and cost fields migrate as custom Opportunity fields. Multi-month deal flags (if enabled) migrate as a custom field indicating deal duration pattern.
OnePageCRM
Status (Contact pipeline status)
Microsoft Dynamics 365 Sales
Lead Status and Contact Status (picklist)
lossyOnePageCRM contact statuses (e.g., New Lead, Qualified, Customer) become Dynamics 365 Lead Status values for the Lead split and Contact Status values for the Contact split. We capture the full status taxonomy during scoping and configure both picklists in the destination org before migration. Any statuses that do not map cleanly become a default Other/None value with the original status preserved in a text field.
OnePageCRM
Lead Source
Microsoft Dynamics 365 Sales
Lead Source (picklist)
1:1OnePageCRM Lead Source values (e.g., website inquiry, phone call, referral) map to Dynamics 365 Lead Source picklist. Pre-populated OnePageCRM values migrate as picklist values in Dynamics 365; any custom lead source values created by the organization are added as new picklist entries before import.
OnePageCRM
Tag
Microsoft Dynamics 365 Sales
Contact Multi-Select Picklist or Topic
lossyOnePageCRM tags are a flat namespace assigned to contacts. We map them to a Dynamics 365 multi-select picklist field on Contact. If tag count exceeds the multi-select picklist limit (150 values), we map to Salesforce-style Topics using the Topic and TopicAssignment entities in Dataverse. The customer selects the strategy during scoping.
OnePageCRM
Custom Fields (Contacts)
Microsoft Dynamics 365 Sales
Custom Fields (Lead and Contact)
1:1Admin-created custom fields on OnePageCRM Contacts must be pre-created in Dynamics 365 before migration. We provide a custom field checklist during scoping that specifies the OnePageCRM field name, type, and sample values for the customer to create as Lead and Contact custom fields in Dynamics 365. Field type mapping: OnePageCRM text becomes Dynamics 365 Single Line of Text; OnePageCRM number becomes Decimal or Whole Number; OnePageCRM date becomes Date; OnePageCRM dropdown becomes Picklist.
OnePageCRM
Custom Fields (Organizations)
Microsoft Dynamics 365 Sales
Custom Fields (Account)
1:1Organization-level custom fields from OnePageCRM map to Account custom fields in Dynamics 365. We verify schema parity during scoping and flag any fields that exceed Dynamics 365 character limits or use unsupported field types (e.g., multi-select on Organization where Account does not support it). Custom fields are deployed to the destination Sandbox before migration and validated before production cutover.
OnePageCRM
Notes and Call Logs
Microsoft Dynamics 365 Sales
Note and Task (TaskSubtype = Call)
1:1OnePageCRM notes and call logs attached to contacts are included in the contact export dataset. Notes migrate as Dynamics 365 Note records linked via Regarding (regardingobjectid) to the parent Lead, Contact, or Account. Call records migrate as Task records with TaskSubtype = Call, preserving call duration, disposition, and date. Note: email body content is not included in the OnePageCRM export; we document exactly which records have email content so the customer can decide whether to accept partial migration or pursue a third-party extraction tool.
OnePageCRM
Predefined Actions (Saved Actions)
Microsoft Dynamics 365 Sales
Task Templates
1:1OnePageCRM Predefined Actions are template task sequences assigned to contacts. We do not migrate Autoflow workflows as automation code, but we map saved action templates to Dynamics 365 Task Template entities. The action name, default due date offset, and sequence order migrate so that the customer's admin can recreate the template structure in Dynamics 365 Task Templates for recurring task generation. One email sequence per Autoflow limitation means multi-step nurture sequences require rebuild in Power Automate.
| OnePageCRM | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Lead and Contact (split required)1:many | Fully supported | |
| Organization | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Status (Contact pipeline status) | Lead Status and Contact Status (picklist)lossy | Fully supported | |
| Lead Source | Lead Source (picklist)1:1 | Fully supported | |
| Tag | Contact Multi-Select Picklist or Topiclossy | Fully supported | |
| Custom Fields (Contacts) | Custom Fields (Lead and Contact)1:1 | Mapping required | |
| Custom Fields (Organizations) | Custom Fields (Account)1:1 | Fully supported | |
| Notes and Call Logs | Note and Task (TaskSubtype = Call)1:1 | Mapping required | |
| Predefined Actions (Saved Actions) | Task Templates1: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.
OnePageCRM gotchas
Email bodies and attachments are not exported from OnePageCRM
Duplicate detection fires after import, not during
API rate limit of 5 req/s constrains bulk extraction
Custom Fields must be pre-created before import
Merge Import updates existing contacts rather than creating new ones
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 worksheet
We audit the source OnePageCRM account across plan tier (Professional/Business/Enterprise), custom field count, pipeline configuration, tag taxonomy, status list, deal stages, and engagement volume (notes and call logs). We use the CSV export endpoint for bulk extraction and reserve API calls for custom field metadata lookups. The discovery output is a written migration scope document with the full object inventory, record counts, and a custom field checklist for the customer to pre-create in Dynamics 365 before migration day.
Destination schema design and status taxonomy mapping
We design the Dynamics 365 destination schema in a Sandbox org. This includes creating Account custom fields from Organization custom fields, Lead and Contact custom fields from OnePageCRM contact custom fields, Opportunity custom fields from Deal custom fields, configuring Lead Status and Contact Status picklists from the OnePageCRM status taxonomy, and configuring Opportunity stage values from OnePageCRM deal stages. We also design the Lead/Contact split rule based on the customer's status taxonomy and validate it against sample data before production migration.
CSV extraction and deduplication
We export data from OnePageCRM using the CSV export endpoint, which bypasses the 5 req/s API rate limit for bulk records. We run pre-import deduplication on the CSV using email address as the primary key. We flag records with duplicate email addresses and let the customer decide whether to merge or keep both. After deduplication, we transform the flat OnePageCRM contact model into the Lead/Contact split structure using the status taxonomy mapping defined in step 2.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 Sandbox (Full Copy or Partial Copy) using production-equivalent data volume. The customer's admin reconciles record counts: Accounts in, Leads in, Contacts in, Opportunities in, Tasks in, Notes in. They spot-check 20-30 records against the OnePageCRM source for field-level accuracy and sign off the schema and mapping before production migration begins. Any mapping corrections happen in the Sandbox, not in production.
Owner reconciliation and Active Directory provisioning
We extract every distinct OnePageCRM owner referenced on Contact, Organization, Deal, and Engagement records and match by email against the Dynamics 365 destination org's User table. Owners without a matching Dynamics 365 User go to a reconciliation queue. The customer's IT or admin team provisions missing Users via Active Directory or Entra ID provisioning before record import resumes. OwnerId references are required on most standard objects and must be resolved before import proceeds.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from OnePageCRM Organizations), Leads (unqualified contacts), Contacts (qualified contacts with AccountId resolved), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Activity history (Notes and Tasks via Dynamics 365 Bulk API with exponential backoff), and Custom Fields (last if they reference standard object lookups). Each phase emits a row-count reconciliation report before the next phase begins. We freeze OnePageCRM writes during cutover and run a final delta migration of any records modified during the migration window.
Cutover, validation, and Autoflow rebuild handoff
We enable Dynamics 365 as the system of record after cutover and deliver the Autoflow inventory document to the customer's admin team. The document lists every active OnePageCRM workflow with its trigger, conditions, actions, and recommended Power Automate equivalent. We support a one-week hypercare window where we resolve reconciliation issues raised by the sales team. We do not rebuild OnePageCRM Autoflow workflows as Power Automate flows inside the migration scope; that is a separate engagement for a Microsoft partner or the customer's Power Platform admin.
Platform deep dives
OnePageCRM
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between OnePageCRM and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across OnePageCRM and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between OnePageCRM 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
OnePageCRM: 5 req/s average, 10 req/s burst (sliding window).
Data volume sensitivity
OnePageCRM 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 OnePageCRM to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your OnePageCRM 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 OnePageCRM
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.