CRM migration
Field-level mapping, validation, and rollback between RunSensible and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
RunSensible
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
13 of 13
objects map 1:1 between RunSensible and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
RunSensible is a legal-practice-management platform built around Clients, Matters, Contacts, Time Entries, Bills, and Documents. Dynamics 365 Sales is Microsoft's CRM built around Accounts, Contacts, Leads, and Opportunities with its own pricing tiers (Sales Professional at $65/user/month, Sales Enterprise at $105/user/month). The migration maps RunSensible's client-centric object graph onto Dynamics 365's entity model, translating every standard object and preserving legal-specific properties as custom fields on the Opportunity table. RunSensible clients and their associated contacts become Dynamics 365 Accounts and Contacts. RunSensible Matters become Opportunities, with legal-specific fields like matter type, statute of limitations, and court jurisdiction migrated as custom columns on the opportunity record. Time entries, tasks, calls, and emails migrate as Activities linked to the opportunity. RunSensible's billing invoices and trust-account data have no native Dynamics 365 equivalent — those records are preserved as custom entities or flat-file exports for reference. FlitStack AI sequences the migration so foreign keys resolve in the correct order (Accounts before Contacts, Contacts before Opportunities), runs a field-level diff against a test slice before committing the full run, and captures a 24–48 hour delta window for in-flight changes during cutover. Workflows, automations, and email templates do not migrate — they must be rebuilt using Dynamics 365 workflows or Power Automate, and FlitStack provides an export of RunSensible automation definitions as a rebuild reference.
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
RunSensible platform overview
Scorecard, SWOT, gotchas, and pricing for RunSensible.
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 RunSensible 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.
RunSensible
Client
Microsoft Dynamics 365 Sales
Account
1:1RunSensible clients migrate as Dynamics 365 Accounts. Client name maps to Account.Name. The client's primary contact name optionally populates the Account's primary contact field. Billing address, shipping address, and communication preferences on the client record become the Account's corresponding address and preference fields in Dynamics 365.
RunSensible
Contact
Microsoft Dynamics 365 Sales
Contact
1:1RunSensible contacts migrate as Dynamics 365 Contacts. The contact's associated client record determines the AccountId lookup in Dynamics 365. Each contact must resolve to a parent Account before migration, so Accounts are migrated first in the sequence. Email addresses and phone numbers map to the standard contact communication fields.
RunSensible
Matter
Microsoft Dynamics 365 Sales
Opportunity
1:1RunSensible Matters are the central legal entity and map to Dynamics 365 Opportunities. Matter name becomes Opportunity.Name. Matter status (Open, Closed Won, Closed Lost) maps to the Opportunity State and Status fields. Practice-area classification and other legal metadata become custom columns on the Opportunity.
RunSensible
Matter Type / Practice Area
Microsoft Dynamics 365 Sales
Custom field on Opportunity
1:1RunSensible practice-area pick-list values such as Personal Injury, Corporate, Family Law, or Real Estate have no direct Dynamics 365 equivalent. A custom pick-list field Practice_Area__c is created on the Opportunity table and populated from the source matter type value-by-value, preserving the full legal taxonomy from RunSensible.
RunSensible
Statute of Limitations Date
Microsoft Dynamics 365 Sales
Custom field on Opportunity
1:1RunSensible tracks a statute-of-limitations date per matter. A custom datetime field Sol_Date__c is created on Opportunity and populated from RunSensible. This field is not native to Dynamics 365 Sales and must be maintained as a custom column or shown in a sub-grid on the opportunity form.
RunSensible
Court / Jurisdiction
Microsoft Dynamics 365 Sales
Custom field on Opportunity
1:1RunSensible records the court and jurisdiction for each matter — including trial court, appellate court, federal or state level, and geographic jurisdiction codes. A custom text field Court_Jurisdiction__c is created on the Opportunity record. Pick-list values are mapped one-by-one from the RunSensible jurisdiction list to the Dynamics 365 custom field options.
RunSensible
Time Entry
Microsoft Dynamics 365 Sales
Activity (Task)
1:1RunSensible time entries (date, duration, description, billable flag) migrate as Dynamics 365 Tasks. The task Subject is built from the matter name and entry description. Billable hours and rate information is stored in a custom field on the Task since Dynamics 365 Activities do not natively track billing rates.
RunSensible
Task / To-Do
Microsoft Dynamics 365 Sales
Task
1:1RunSensible tasks attached to a matter migrate as Dynamics 365 Tasks with the same subject line, due date, priority, and status flags. Owner resolution uses email address matching against Dynamics 365 user records. Unresolved owners are flagged in a pre-migration report and must be assigned a fallback owner before the migration commits.
RunSensible
Email / Call Activity
Microsoft Dynamics 365 Sales
Email / Phone Call activitypointer
1:1RunSensible logged emails and calls linked to a matter migrate as Dynamics 365 Email and PhoneCall activity records. The original timestamp, direction (inbound/outbound), and subject line are preserved. The activity is attached to the Opportunity record via the regardingobjectid lookup.
RunSensible
Document / File Attachment
Microsoft Dynamics 365 Sales
Note / Attachment
1:1RunSensible documents attached to a matter migrate as Notes or Attachments in Dynamics 365. Files are re-uploaded to the Opportunity's related documents section. Salesforce-like SharePoint integration is not native to Dynamics 365 Sales Professional — documents attach directly to the record by default.
RunSensible
Bill / Invoice
Microsoft Dynamics 365 Sales
Custom entity or flat-file export
1:1RunSensible's invoicing and billing records have no native Dynamics 365 Sales equivalent — the CRM does not include a billing module. Invoices are exported as a structured CSV and can be stored as a custom entity or referenced via a related SharePoint document library. Trust-account data is exported separately for compliance reference.
RunSensible
Conflict Check Result
Microsoft Dynamics 365 Sales
Custom field on Account
1:1RunSensible's built-in conflict-checking flag — conducted against the client database before matter intake to identify potential conflicts of interest — has no native Dynamics 365 equivalent. The conflict-check result (cleared, cleared with waiver, or conflict) is stored as a custom text field Conflict_Check__c on the Account record for reference and bar-compliance documentation.
RunSensible
Custom Field (RunSensible)
Microsoft Dynamics 365 Sales
Custom Column (Dataverse)
1:1RunSensible custom fields on any entity map to custom columns in Dynamics 365. Field types are matched (text to text, date to datetime, pick-list to pick-list). RunSensible Professional tier limits apply to custom field counts — Enterprise or Premium tier in Dynamics 365 is recommended for firms with more than 15 custom fields.
| RunSensible | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Client | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Matter | Opportunity1:1 | Fully supported | |
| Matter Type / Practice Area | Custom field on Opportunity1:1 | Fully supported | |
| Statute of Limitations Date | Custom field on Opportunity1:1 | Fully supported | |
| Court / Jurisdiction | Custom field on Opportunity1:1 | Fully supported | |
| Time Entry | Activity (Task)1:1 | Fully supported | |
| Task / To-Do | Task1:1 | Fully supported | |
| Email / Call Activity | Email / Phone Call activitypointer1:1 | Fully supported | |
| Document / File Attachment | Note / Attachment1:1 | Fully supported | |
| Bill / Invoice | Custom entity or flat-file export1:1 | Fully supported | |
| Conflict Check Result | Custom field on Account1:1 | Fully supported | |
| Custom Field (RunSensible) | Custom Column (Dataverse)1: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.
RunSensible gotchas
Trust account balance migration requires three-way reconciliation
Invoice-to-matter linkage is required for billable entries
API access is tier-gated and not available on Essential plan
AI Forms and Execute modules are separate paid add-ons
Client intake forms use conditional logic not preserved in standard export
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
Audit RunSensible data and design Dynamics 365 custom-field schema
FlitStack connects to RunSensible via scoped read-access API and profiles every entity — client records, matter histories, time entries, documents, and custom fields — before designing the Dynamics 365 schema. The schema design step identifies which RunSensible legal-specific fields (practice area, statute of limitations, court jurisdiction) need custom columns on the Opportunity table, confirms the pick-list value set for each, and recommends whether Sales Professional (15 custom-table cap) or Enterprise/Premium is the appropriate Dynamics 365 tier for the firm's migration scope. The schema plan is delivered in writing before any data moves.
Resolve owners and user accounts by email before migration
RunSensible's responsible-attorney and assigned-staff fields are matched against Dynamics 365 user records by email address. Unresolved owners — staff members who have no Dynamics 365 license yet — are flagged in a pre-migration report so the firm can either provision a license before the run or assign a fallback owner. No opportunity lands without an OwnerId; this prevents orphaned records in Dynamics 365 after cutover.
Migrate Accounts and Contacts before Opportunities
Dynamics 365 requires AccountId on Contact records and ContactId on Opportunity records (via OpportunityContactRoles). FlitStack sequences the migration in three passes: first Accounts (from RunSensible Clients), then Contacts (linked to Accounts by the parent client lookup), then Opportunities (with OpportunityContactRoles wiring the primary attorney contact to the matter). This ordering resolves foreign-key dependencies correctly and prevents the ContactId validation errors that occur when an Opportunity references a Contact that has not yet been created.
Run sample migration with field-level diff
A representative slice — typically 100–500 records spanning clients, contacts, matters, and time entries — migrates to a Dynamics 365 sandbox first. FlitStack generates a field-level diff comparing each source field against the destination value, flagging any pick-list mismatches (e.g., practice-area values that did not map because the destination option set was not populated), missing custom columns, and owner-resolution failures. The diff is reviewed with the firm's Dynamics 365 admin before the full migration run is authorized.
Execute full migration with delta-pickup and audit log
The full migration runs against the Dynamics 365 production environment, loading all clients, contacts, matters, activities, and documents in the sequenced order. A delta-pickup window (typically 24–48 hours) captures any RunSensible records created or modified during the cutover — a new client intake or matter opened while migration is running is pulled in after the initial run completes. FlitStack maintains an audit log of every record created, updated, or skipped. One-click rollback reverts all operations if post-run reconciliation identifies data integrity issues.
Platform deep dives
RunSensible
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 RunSensible 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
RunSensible: Not publicly documented.
Data volume sensitivity
RunSensible 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 RunSensible to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your RunSensible 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 RunSensible
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.