CRM migration
Field-level mapping, validation, and rollback between bxp software and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
bxp software
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
2 of 9
objects map 1:1 between bxp software and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from BXP Software to Microsoft Microsoft Dynamics 365 Sales is a bespoke-to-standard migration, not a record copy. BXP builds a unique data model for every client deployment, meaning there is no standard object set, no public API documentation, and no fixed schema we can pre-map. Every migration begins with a schema discovery phase in which we enumerate all Forms, custom fields, agent metrics, and proprietary CDA/CCL archive exports before designing the destination schema in Dynamics 365. We map BXP Contacts to Dynamics 365 Accounts and Contacts, map BXP Form responses to Dynamics 365 custom entities, and flag the contact-centre-specific metrics (call duration, QA scores, wrap time, elearning completion) that require custom fields or structured attachments since they have no native Dynamics 365 equivalents. Workflows, contact-centre QA rules, and elearning modules built inside BXP do not migrate as code; we deliver a written inventory of these for the customer's admin to rebuild in Dynamics 365 or a separate training platform. The Microsoft 365 native integrations — Outlook email tracking, Teams collaboration, SharePoint document management, and Copilot for Sales — are activated post-migration as part of the platform's standard onboarding rather than the data migration scope.
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
bxp software platform overview
Scorecard, SWOT, gotchas, and pricing for bxp software.
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 bxp software 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.
bxp software
Form
Microsoft Dynamics 365 Sales
Custom Entity (Dataverse table)
lossyForms are BXP's primary data containers and hold arbitrary field configurations per client. We create a Dataverse table in Dynamics 365 named to match the BXP Form name, then map each BXP field to a typed Dataverse column (string, integer, decimal, datetime, or choice). The BXP Form ID is preserved as a custom field for audit traceability. If the customer uses multiple Forms with shared field structures, we consolidate them into a single Dataverse table with a FormType discriminator column to avoid duplicating the schema.
bxp software
Contact
Microsoft Dynamics 365 Sales
Contact + Account
1:1BXP Contact records map directly to Dynamics 365 Contact. Where the BXP instance stores an organisation name alongside individual contact details, we split the data: organisation name becomes an Account record, and individual details become a Contact record linked by a Lookup relationship. The BXP contact's email address is the dedupe key. Custom fields on the BXP Contact are enumerated during discovery and mapped to typed Dataverse columns on the Contact or Account record.
bxp software
Activity (Call, Email, Meeting, Task)
Microsoft Dynamics 365 Sales
Task, Event, EmailMessage
1:1BXP activity logs (call duration, disposition, recording URL; email content; meeting attendees and location) map to Dynamics 365 Task (subtype Call), Event, and EmailMessage records. Call metadata (duration, wrap time, queue name) migrates to custom fields on the Task record since Dynamics 365 does not have native contact-centre metric fields. Activity timestamps are preserved as ActivityDate on Task and StartDateTime/EndDateTime on Event. BXP activities tied to a specific Contact carry a WhoId reference to the migrated Contact record.
bxp software
Agent Metrics
Microsoft Dynamics 365 Sales
Custom Entity (Dataverse table)
lossyBXP stores contact-centre metrics — call duration, wrap time, QA scores, and average handle time — in bespoke fields or sub-Forms that vary by client deployment. These do not map to standard Dynamics 365 objects. We create a custom Dataverse AgentMetric entity with columns for agent ID (lookup to User), metric date, metric type (choice), metric value, and source BXP Form ID. Each metric type (Average Handle Time, QA Score, Occupancy Rate) gets its own row so that the data is queryable in Power BI post-migration.
bxp software
Custom Fields
Microsoft Dynamics 365 Sales
Dataverse custom columns
lossyBXP's core value proposition is custom fields built per client. Every custom field is a mapping candidate. During discovery we enumerate all custom field names, data types, and picklist values from the BXP Form structure and map each to the equivalent Dataverse column type (Text, Integer, Decimal, Boolean, Choice, Option Set, or Lookup). Choice and Option Set fields in BXP map to Dataverse Option Sets with the same label-value pairs. Lookup fields referencing other BXP Forms map to Dataverse Lookup columns with the same target table relationship.
bxp software
Custom Archive: CDA format
Microsoft Dynamics 365 Sales
Parsed and loaded to Dataverse
lossyBXP can export custom archives in CDA format, a proprietary structured archive that requires parsing before migration. We request the CDA export directly from BXP during discovery, decode the binary or structured text format, and convert it to standard CSV or JSON before mapping to the equivalent Dataverse table. CDA parsing is scoped as a separate technical discovery task during the proposal phase; some CDA schemas require reverse-engineering based on the archive's internal field headers.
bxp software
Custom Archive: CCL format
Microsoft Dynamics 365 Sales
Parsed and loaded to Dataverse
lossyCCL is BXP's companion archive format to CDA, typically used for bulk record exports with relationship metadata. Like CDA, CCL requires parsing before migration. We request CCL exports during discovery and process them through a custom parser that extracts record-level data and relationship links. CCL relationship metadata is used to resolve parent-child lookups during the Dataverse import phase, ensuring that the correct AccountId and ContactId references are established on child records.
bxp software
eLearning Records
Microsoft Dynamics 365 Sales
Custom Entity (Dataverse table)
lossyBXP's eLearning module stores training completion records, module scores, and assignment data in bespoke Form structures. Microsoft Dynamics 365 Sales has no native eLearning object. We create a custom Dataverse TrainingRecord entity and map course name, completion date, score, agent ID (lookup to User), and source Form reference. The customer may alternatively use Microsoft Viva Learning as a replacement for BXP's eLearning module post-migration; in that case, we document the mapping so that a Viva Learning admin can import the historical completion records as a reference archive.
bxp software
Quality Assurance Records
Microsoft Dynamics 365 Sales
Custom Entity (Dataverse table)
lossyQA evaluations tied to specific calls are stored in BXP in bespoke Form structures that vary by client deployment. Each QA record typically references a call activity, an agent, a scoring rubric, and a written evaluation. We map these to a custom Dataverse QAEvaluation entity with fields for call reference (lookup to Task), agent reference (lookup to User), evaluator name, score per rubric dimension, overall score, and evaluation notes. This preserves the full evaluation context alongside the associated contact-centre activity record.
| bxp software | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Form | Custom Entity (Dataverse table)lossy | Fully supported | |
| Contact | Contact + Account1:1 | Fully supported | |
| Activity (Call, Email, Meeting, Task) | Task, Event, EmailMessage1:1 | Fully supported | |
| Agent Metrics | Custom Entity (Dataverse table)lossy | Mapping required | |
| Custom Fields | Dataverse custom columnslossy | Mapping required | |
| Custom Archive: CDA format | Parsed and loaded to Dataverselossy | Fully supported | |
| Custom Archive: CCL format | Parsed and loaded to Dataverselossy | Fully supported | |
| eLearning Records | Custom Entity (Dataverse table)lossy | Mapping required | |
| Quality Assurance Records | Custom Entity (Dataverse table)lossy | 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.
bxp software gotchas
BXP has no published public API documentation
Every BXP instance has a unique data schema
No list pricing creates budget uncertainty
Small review corpus limits due diligence
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
Schema discovery and API accessibility assessment
We engage BXP directly to request the internal API documentation PDF and sample CDA/CCL archive exports. We enumerate every Form in the BXP instance, capture field names, data types, picklist values, and inter-Form relationships, and document the custom field structure unique to this deployment. We test API connectivity against the bxp API v6 endpoint in a sandbox environment to confirm which objects and fields are accessible via API versus requiring Form export or archive export. The discovery output is a written schema map and a recommended migration path (API, Form export, or archive export) for each object set.
Destination schema design in Dataverse
We design the Dynamics 365 destination schema based on the discovered BXP schema. This includes provisioning custom Dataverse tables for BXP Form data, agent metrics, eLearning records, and QA evaluations. We map BXP custom fields to typed Dataverse columns (string, integer, decimal, datetime, choice, option set, or lookup) matching the discovered field types. We configure Dataverse Option Sets with the same picklist labels and values from BXP. The schema is deployed to a Dynamics 365 Sandbox environment for validation before any production data moves.
Data profiling and quality remediation
We profile the BXP export data for duplicates, incomplete contact records (missing email or phone), inconsistent date formats, special characters in custom fields, and orphaned records (contacts without an associated Form entry). BXP's bespoke deployment may have accumulated years of data-quality debt. We apply the same cleansing logic as we would in any Dynamics 365 migration: dedupe contacts by email, validate required fields against the destination schema, standardise date formats to UTC, and flag any records with missing required lookups (Account, Contact, or User) for the customer's admin to resolve before the import phase begins.
CDA/CCL archive parsing and validation
We run the BXP CDA and CCL archives through a custom parsing pipeline that extracts record-level data and resolves inter-record relationships. The parser is built iteratively based on the archive's internal field headers. We validate parsed output against the record counts reported by BXP's export utility and spot-check a random sample of parsed records against the source BXP interface. Parsed data is converted to CSV or JSON and staged for the Dataverse import phase. Archive parsing errors are documented with line numbers and fed back to the customer's BXP admin for clarification.
Sandbox migration and reconciliation
We run a full migration into the Dynamics 365 Sandbox using production-equivalent data volume. The customer's RevOps lead or BXP admin reconciles record counts (Contacts imported, Accounts created, custom entity records loaded, activities attached to the correct parent records), spot-checks 25-50 random records against the source BXP interface, and signs off the schema and mapping before production migration begins. Schema corrections, field type adjustments, and option set value corrections happen in Sandbox, not in production.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from BXP organisation fields), Contacts (with AccountId resolved from the Account import), custom Dataverse tables (BXP Form data, agent metrics, elearning, QA records), Activities (Tasks, Events, EmailMessages via Dynamics 365 Bulk API with chunking), then CDA/CCL-parsed archives last. Each phase emits a row-count reconciliation report before the next phase begins. We freeze BXP writes during the cutover window and run a final delta migration of any records created or modified during the window.
Cutover, validation, and admin handoff
We enable Dynamics 365 as the system of record after the delta migration confirms no new BXP writes during cutover. We validate the Contact-to-Account relationship chain, check that agent metric records are linked to the correct User records, and confirm that activity records are attached to the correct parent Contacts and Accounts. We deliver the QA and elearning module inventory document to the customer's admin team. We support a one-week hypercare window to resolve any reconciliation issues. We do not rebuild BXP QA rules as Dynamics 365 case or SLA configurations inside the migration scope; that work is documented separately for the customer's admin or a contact-centre implementation partner.
Platform deep dives
bxp software
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 bxp software and Microsoft Dynamics 365 Sales .
Object compatibility
2 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
bxp software: Not publicly documented.
Data volume sensitivity
bxp software 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 bxp software to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your bxp software 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 bxp software
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.