CRM migration
Field-level mapping, validation, and rollback between Rubi CRM and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Rubi CRM
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
4 of 9
objects map 1:1 between Rubi CRM and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Rubi CRM to Microsoft Microsoft Dynamics 365 Sales is a migration from a UK-built SMB platform specialising in membership, training, and event workflows to a globally-deployed enterprise CRM with deep Microsoft 365 integration. The structural challenge is that Rubi CRM's membership and event modules have no native Dynamics 365 equivalents; we map Member records to Contacts with custom membership-tier and renewal-date fields, and we map Event bookings to custom Event records linked back to the originating Contact. Sales Pipeline Kanban stages in Rubi CRM are user-defined custom fields stored against deal records rather than a native pipeline object; we extract stage values during scoping and document the pipeline configuration for your Dynamics 365 admin to rebuild. We do not migrate Reports or Audit Logs as these export flat snapshots rather than relational data. Automation rebuilds (workflows, sequences) are documented separately for your admin to re-create in Microsoft Dynamics 365 Sales .
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
Rubi CRM platform overview
Scorecard, SWOT, gotchas, and pricing for Rubi CRM.
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 Rubi CRM 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.
Rubi CRM
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Rubi CRM Contacts migrate directly to Dynamics 365 Contact records. Standard fields (FullName, Email, Phone, Address) map 1:1. We preserve any Rubi CRM custom contact properties as custom fields on the Contact entity in Dataverse before import. Owner resolution uses email matching against the destination Dynamics 365 User table; unresolved owners are held in a reconciliation queue for your admin to provision.
Rubi CRM
Company
Microsoft Dynamics 365 Sales
Account
1:1Rubi CRM Company records map to Dynamics 365 Account. The company name becomes Account Name, and any domain or website stored in Rubi CRM becomes the Account Website field. We use company name as the dedupe key during import. Account is created before Contact import so that the Parent Account lookup is satisfied at the moment of Contact insert.
Rubi CRM
Member
Microsoft Dynamics 365 Sales
Contact (custom properties)
lossyRubi CRM's Member record type has no native Dynamics 365 equivalent. We map Member to Contact and preserve Member ID as a custom field rubi_member_id__c, membership tier (Gold, Silver, Bronze, or custom) as a picklist field rubi_membership_tier__c, and renewal date as rubi_renewal_date__c. Membership status (Active, lapsed, Cancelled) maps to rubi_membership_status__c. The customer chooses whether to create a separate Member custom entity or use Contact with these custom fields during scoping.
Rubi CRM
Membership
Microsoft Dynamics 365 Sales
Contact (custom fields) or Custom Entity
lossyIndividual Membership records in Rubi CRM track subscription start date, end date, and tier against Member profiles. We map start_date and end_date to custom date fields on Contact or to a custom Membership entity if the customer requires a separate record for multi-subscription tracking. Rubi CRM does not export full subscription history in a single export pass; we flag this and run a separate extraction for renewal cycle data during scoping.
Rubi CRM
Event
Microsoft Dynamics 365 Sales
Event (custom fields)
lossyRubi CRM Events and Training bookings map to Dynamics 365 Event records with custom fields for event type (Event vs Training), booking status (Registered, Attended, No-show, Cancelled), and seat count. The originating Contact or Member is linked via the Regarding (regardingobjectid) lookup. Seat-level attendance data requires a separate export run from the Events module; we include this as a second export pass and map attendance records to Event attendees or a custom attendance entity.
Rubi CRM
Sales Pipeline (Kanban stages)
Microsoft Dynamics 365 Sales
Opportunity (custom fields)
lossyRubi CRM uses a Kanban-style pipeline view where stage names are user-defined custom fields stored against deal records, not a native pipeline object. We extract stage values during the scoping call, map them to Dynamics 365 Opportunity Stage values, and create a Sales Process that matches the original Kanban column sequence. We deliver a written pipeline rebuild guide for your Dynamics 365 admin to configure the Opportunity Sales Process, Record Types, and stage probabilities post-migration.
Rubi CRM
Activity (Outlook email log)
Microsoft Dynamics 365 Sales
Task
1:1Email interactions logged via Rubi CRM's Outlook plugin are stored as Activities linked to Contacts. We export Activity timestamps, subject, and body text and map them to Dynamics 365 Task records. Thread-level threading from the original email is not preserved as Rubi CRM does not store the email thread identifier. The Regarding field on Task points to the migrated Contact. Outbound sequences and automation are not supported in Rubi CRM and have no migration scope.
Rubi CRM
Task
Microsoft Dynamics 365 Sales
Task
1:1Rubi CRM Tasks map directly to Dynamics 365 Task records with Status, Priority, Due Date (scheduledend), and Owner preserved. Owner resolution uses email match against the Dynamics 365 User table. Tasks are imported after Contacts so that the Regarding (regardingobjectid) lookup is satisfied.
Rubi CRM
Custom Fields
Microsoft Dynamics 365 Sales
Custom Fields
lossyRubi CRM allows custom fields per record type but does not expose a schema endpoint. We discover custom field names during the export scoping phase, infer field types from sample data values, and create matching custom fields in Dynamics 365 before migration. The customer approves field names and types during a schema sign-off step before any data loads begin.
| Rubi CRM | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Member | Contact (custom properties)lossy | Fully supported | |
| Membership | Contact (custom fields) or Custom Entitylossy | Fully supported | |
| Event | Event (custom fields)lossy | Fully supported | |
| Sales Pipeline (Kanban stages) | Opportunity (custom fields)lossy | Fully supported | |
| Activity (Outlook email log) | Task1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | 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.
Rubi CRM gotchas
Pipeline stages are stored as user-defined custom field values, not a native pipeline object
Outlook plugin does not preserve email thread continuity
Memberships and Events require separate export passes
Acquisition by Sapling Multi Ventures introduces roadmap uncertainty
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 data audit
We request read-only API access to Rubi CRM and perform a trial export across all record types: Contacts, Companies, Members, Memberships, Events, Training bookings, Activities, and Tasks. We assess data volume, custom field inventory, and the state of the pipeline Kanban stages. We also extract a sample CSV from each record list view to characterise field names and values. The discovery output is a written migration scope covering record counts per object, custom field mapping, membership tier values, event series, and the pipeline stage inventory.
Schema design in Dynamics 365
We design the destination schema in a Dynamics 365 Sandbox. This includes creating custom fields on Contact (rubi_member_id__c, rubi_membership_tier__c, rubi_renewal_date__c, rubi_membership_status__c), custom fields on Event (rubi_event_type__c, rubi_booking_status__c, rubi_seat_count__c), and any additional custom fields discovered during scoping. We configure Opportunity stages to match the extracted Rubi CRM Kanban pipeline. Schema is validated in Sandbox before any production migration begins.
Owner reconciliation and User provisioning
We extract every distinct Rubi CRM Owner referenced on Contacts, Companies, Members, Memberships, Events, Activities, and Tasks and match by email against the Dynamics 365 destination org's User table. Owners without a matching User go to a reconciliation queue. Your Dynamics 365 admin provisions any missing Users before record import resumes. Owner resolution must be complete before the main import phases because OwnerId is a required reference on most standard objects.
Membership and event configuration sign-off
Before importing Member and Event data, we walk through the custom field design with the customer's admin. For Membership data, we confirm whether Contact with custom fields meets the reporting requirement or whether a separate custom Membership entity is needed. For Events, we confirm the attendance tracking model. Any schema changes at this stage are deployed to Sandbox, re-validated, then deployed to production. This step prevents post-migration rework on membership reporting.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Companies), Contacts (with AccountId resolved), custom fields populated for Member data, Opportunities (with stage values mapped and Sales Process configured), Events (linked to Contacts via Regarding), Tasks and Activities. Each phase emits a row-count reconciliation report before the next phase begins. We use Dynamics 365 Dataverse APIs with batch chunking and exponential backoff on rate-limit responses.
Cutover, delta migration, and automation inventory handoff
We freeze writes to Rubi CRM 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 pipeline rebuild guide (stage mapping to Sales Process) and the workflow automation inventory document to your admin team. We support a one-week hypercare window for reconciliation issues. We do not rebuild Rubi CRM workflows as Power Automate flows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Rubi CRM
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 Rubi CRM 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
Rubi CRM: Not publicly documented.
Data volume sensitivity
Rubi CRM 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 Rubi CRM to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Rubi CRM 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 Rubi CRM
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.