CRM migration
Field-level mapping, validation, and rollback between Onpipeline and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Onpipeline
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
7 of 10
objects map 1:1 between Onpipeline and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Onpipeline to Microsoft Microsoft Dynamics 365 Sales is a structural migration that requires remapping Onpipeline's unified Contact object into Dynamics 365's separate Lead, Contact, and Account model, and replacing Onpipeline's Deal-centric view with the Account-Contact-Opportunity hierarchy. We preserve the three-part association (Deal linked to Contact and optional Company) by creating Account records from Onpipeline Companies, linking Contacts to those Accounts, and then attaching Opportunities to the resolved Account. Pipeline stages map to configurable Sales Processes in Dynamics 365. Quote headers and line items migrate as Opportunity Products; Invoice records carry over with payment status. Workflows, quote templates, and Zapier-based integrations do not migrate as code; we deliver a written inventory for the customer's admin to rebuild. The migration runs through the Dataverse API with batch chunking, parent-record lookup resolution, and exponential backoff on rate-limit responses.
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
Onpipeline platform overview
Scorecard, SWOT, gotchas, and pricing for Onpipeline.
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 Onpipeline 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.
Onpipeline
Contact
Microsoft Dynamics 365 Sales
Contact or Lead (qualification split required)
1:manyOnpipeline has no separate Lead object; all person records are Contacts regardless of qualification stage. We apply a qualification split during migration: Contacts with deal association or advanced lifecycle properties map to Salesforce-style Contact linked to an Account; Contacts with no deal association and no Company linkage map to Lead. The split rule is defined with the customer during scoping based on their Onpipeline usage patterns. We preserve the original Onpipeline contact record ID in a custom field on both Lead and Contact for traceability.
Onpipeline
Company
Microsoft Dynamics 365 Sales
Account
1:1Onpipeline Companies map directly to Microsoft Dynamics 365 Sales Account. The company name, address, phone, domain, and custom fields transfer to Account. Company is created before Contact import so that AccountId can be resolved at Contact insert time, satisfying the Dynamics 365 Contact-to-Account lookup requirement.
Onpipeline
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1Onpipeline Deals are the central sales record and map to Dynamics 365 Opportunity. Deal amount transfers to EstimatedValue, close date to EstimatedCloseDate, and stage to the Opportunity StageName. When an Onpipeline Deal is linked to a Company, we resolve the AccountId from the Company migration before inserting the Opportunity. Deal custom fields map to Opportunity custom fields; owner assignment resolves via email match to the Dynamics 365 User table.
Onpipeline
Pipeline Stages
Microsoft Dynamics 365 Sales
Sales Process + Stage
lossyOnpipeline pipeline stages (with custom names and probability percentages per pipeline) map to Microsoft Dynamics 365 Sales Processes with corresponding Stage entries. Each Onpipeline pipeline becomes a separate Sales Process, and stage probabilities round to the nearest integer percentage that Dynamics 365 accepts. The stage ordering is preserved.
Onpipeline
Activity (Events, Tasks, Notes)
Microsoft Dynamics 365 Sales
Activity (Appointments, Tasks, Notes)
1:1Onpipeline Activities (calendar Events, Tasks, Notes) are scoped per user calendar. We migrate Events as Dynamics 365 Appointments with Start and End times, Tasks with Status and Priority preserved, and Notes as Notes linked via the Regarding field to the parent Contact, Account, or Opportunity. The owner assignment migrates by email-to-User lookup.
Onpipeline
Product
Microsoft Dynamics 365 Sales
Product
1:1Onpipeline Products (name, SKU, price, stock quantity) map to Dynamics 365 Product2 records. Standard Price Book entries are created during import. Inventory levels transfer to the warehouse quantity fields if Business Central inventory management is in scope; otherwise they are stored as custom fields on Product2.
Onpipeline
Quote
Microsoft Dynamics 365 Sales
Quote
1:1Onpipeline Quotes (header, line items, pricing, e-signature status) map to Dynamics 365 Quote. Quote PDFs and e-signed documents migrate as Note attachments on the Quote record. Quote-to-Opportunity conversion is noted as a post-migration step the admin completes manually in the Dynamics 365 UI, as the Quote status cannot be set to Won programmatically without a full sales order workflow.
Onpipeline
Invoice
Microsoft Dynamics 365 Sales
Invoice
1:1Onpipeline Invoices (header, line items, payment status) map to Dynamics 365 Invoice records. Payment status carries over as InvoiceStatus. Recurring invoice configurations are noted in the migration scope document; automated recurring invoice generation requires manual configuration in Dynamics 365 or Business Central because it is tied to the Onpipeline Advanced plan feature.
Onpipeline
Custom Field
Microsoft Dynamics 365 Sales
Custom Field
lossyOnpipeline custom fields on Contacts, Companies, Deals, and Products are extracted with their data types and mapped to equivalent Dynamics 365 custom fields. We pre-create the destination schema (custom field API names with __c suffix, field types matched to Dynamics 365 column types) and validate before import. The custom field schema document is delivered before any data migration begins.
Onpipeline
User / Owner
Microsoft Dynamics 365 Sales
User
1:1Onpipeline Users are matched by email address against the Dynamics 365 destination User table. Owner references on Deal, Contact, and Activity records resolve through this User map. Owners without a matching Dynamics 365 User enter a reconciliation queue for the customer's admin to provision before record import resumes.
| Onpipeline | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact or Lead (qualification split required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline Stages | Sales Process + Stagelossy | Mapping required | |
| Activity (Events, Tasks, Notes) | Activity (Appointments, Tasks, Notes)1:1 | Fully supported | |
| Product | Product1:1 | Fully supported | |
| Quote | Quote1:1 | Fully supported | |
| Invoice | Invoice1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | 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.
Onpipeline gotchas
Trial account data deleted 7 days after expiry
Calendar is user-scoped, not team-wide by default
Recurring invoice automation gated to Advanced plan
Facebook Lead Ads import requires API or Zapier setup
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 Onpipeline account to understand record volume across Contacts, Companies, Deals, Pipeline Stages, Products, Quotes, Invoices, Activities, and Custom Fields. We identify any Zapier-based lead import workflows, recurring invoice configurations, and user count. We pair this with a Microsoft Dynamics 365 Sales edition recommendation (Sales Professional at $65/user/mo covers most migrations; Sales Enterprise at $105/user/mo is required if the customer needs AI features, advanced forecasting, or Sales Insights; Sales Premium adds relationship insights and data enrichment). We also confirm whether Business Central ERP is in scope so that invoice and inventory migration targets are aligned from the start.
Lead-Contact split rule and schema design
We define the qualification split rule for mapping Onpipeline Contacts to Dynamics 365 Lead or Contact based on the customer's deal history and lifecycle usage. We design the Dynamics 365 schema: custom fields with field types matched to Dynamics 365 column types, Sales Processes per Onpipeline pipeline, and custom fields on Product2 for inventory levels if needed. Schema is deployed into a Dynamics 365 Sandbox via the environment's deployment tooling for validation before any data moves.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 Sandbox using production-like data volume. The customer's admin reviews record counts (Accounts from Companies, Contacts and Leads from Contacts, Opportunities from Deals, Products from catalog), spot-checks 20-30 records against the Onpipeline source, and approves the mapping before production migration begins. Any field type mismatches, picklist gaps, or stage probability corrections happen in Sandbox, not in production.
User provisioning and owner reconciliation
We extract every distinct Onpipeline Owner referenced on Deal, Contact, Company, and Activity records and match by email against the Dynamics 365 destination User table. Owners without a matching User enter a reconciliation queue. The customer's Dynamics 365 admin provisions any missing Users. Migration cannot insert records with unresolved OwnerId references, so this step gates the production migration.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Companies), Products (from catalog with price book entries), Contacts and Leads (with AccountId resolved for Contacts), Opportunities (with AccountId and OwnerId resolved, Record Type and Sales Process assigned per pipeline), Quote headers and line items, Invoice records, then Activities via Dataverse API with batch chunking and rate-limit backoff. Each phase emits a row-count reconciliation report. User provisioning is validated before this step begins.
Cutover, validation, and automation handoff
We freeze writes in Onpipeline during cutover, run a delta migration for any records modified during the migration window, then enable Dynamics 365 as the system of record. We validate record counts, spot-check the opportunity pipeline stages, and confirm Quote attachments are accessible. We deliver the Workflow and automation inventory document to the customer's admin. We do not rebuild Onpipeline automation in Power Automate inside the migration scope; that is a separate engagement.
Platform deep dives
Onpipeline
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Onpipeline and Microsoft Dynamics 365 Sales .
Object compatibility
1 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
Onpipeline: Not publicly documented in the available developer docs.
Data volume sensitivity
Onpipeline 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 Onpipeline to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Onpipeline 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 Onpipeline
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.