CRM migration
Field-level mapping, validation, and rollback between CRM Runner and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
CRM Runner
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
5 of 11
objects map 1:1 between CRM Runner and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from CRM Runner to Microsoft Microsoft Dynamics 365 Sales is a platform-style migration for a small-team field-service tool into a modular enterprise CRM. CRM Runner bundles contacts, companies, jobs, team members, and embedded communications under one fixed-price subscription; Microsoft Dynamics 365 Sales separates these into Accounts, Contacts, Opportunities, and activity records (Tasks, Events, EmailMessages) with a Lead object for unqualified prospects. The primary migration challenge is translating CRM Runner's Jobs object—which combines work orders, time tracking, and payment data—into either a custom Work Order entity or Project records in Dynamics, depending on the customer's licensed modules. We also handle the absence of a documented CRM Runner API by using UI-based extraction scoped during discovery, preserve embedded communication history as typed activity records, and flag IFTTT-style automations for rebuild in Power Automate or Dynamics workflows post-migration. Workflows, payment records, and QR-code catalog assets do not migrate and require separate handling.
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
CRM Runner platform overview
Scorecard, SWOT, gotchas, and pricing for CRM Runner.
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 CRM Runner 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.
CRM Runner
Contact
Microsoft Dynamics 365 Sales
Lead or Contact (split required)
1:manyCRM Runner's single Contact object maps to a split model in Microsoft Dynamics 365 Sales . We apply a qualification rule during scoping based on CRM Runner's pipeline stage property: contacts in an active pipeline map to Salesforce-style Leads; contacts associated with a Company record and a closed-won Job map to Dynamics Contact attached to an Account. We preserve the original CRM Runner pipeline stage in a custom field crm_runner_stage__c on both Lead and Contact for audit. Unqualified contacts without a Company association map to Lead with LeadSource defaulted to 'Other'.
CRM Runner
Company
Microsoft Dynamics 365 Sales
Account
1:1CRM Runner Company records map directly to Microsoft Dynamics 365 Sales Account. The Company name becomes Account Name; address fields map to Address composite fields in Dataverse. We use Company external ID as the dedupe key during import and create Accounts before any Contact import so that the AccountId Lookup is satisfied at Contact insert time. Parent-child Account hierarchies require manual mapping if the customer uses CRM Runner's company grouping feature.
CRM Runner
Jobs
Microsoft Dynamics 365 Sales
Custom Work Order entity or Opportunity
lossyCRM Runner Jobs is the primary migration complexity. Jobs embed work order status, assigned team members, location, and time entries in one record. Microsoft Dynamics 365 Sales has no native Work Order object; we create a custom Work Order entity (crerunner_job__c) with fields for job status (mapped from CRM Runner job stage), address (from CRM Runner location), assigned technician (lookup to User), and duration (from embedded time entries). If the customer licenses Dynamics 365 Project Operations, Jobs may map to Project and Project Team Members instead. We confirm the target entity during scoping based on the customer's licensed modules.
CRM Runner
Team Members
Microsoft Dynamics 365 Sales
User
1:1CRM Runner Team Members map to Microsoft Dynamics 365 Sales Users. We resolve by matching CRM Runner email address against the destination Azure AD tenant. CRM Runner role and department fields map to Dynamics Security Role assignment and Team membership. Any CRM Runner Team Member without a matching Azure AD account goes to a reconciliation queue for the customer's admin to provision before user-assigned record migration begins. CRM Runner's GPS tracking and time-clock data does not map to Dynamics User fields and is flagged as a separate export artifact.
CRM Runner
Communications (Calls, SMS, Chat)
Microsoft Dynamics 365 Sales
Task, Event, and EmailMessage
1:1CRM Runner embeds call logs, SMS threads, and in-app chat as discrete records attached to Contacts or Jobs. We flatten these into Microsoft Dynamics 365 Sales activity records: phone calls map to Task with TaskSubtype=Call; SMS threads map to custom Note records or EmailMessage with Direction=Incoming; in-app chat logs map to Task records. The original CRM Runner timestamp preserves ActivityDate ordering. Calls and SMS attached to Jobs link via WhatId to the custom Work Order entity rather than Opportunity.
CRM Runner
Time Entries
Microsoft Dynamics 365 Sales
Custom entity or separate CSV export
lossyCRM Runner time-clock records are embedded within Jobs and tied to Team Members. They do not map cleanly to standard Microsoft Dynamics 365 Sales objects. We export time entries as a separate data package (CSV with job reference, team member reference, clock-in, clock-out, and duration) that the customer routes to a payroll system or imports into a custom Dynamics entity. Time entries associated with billable Jobs require the customer to decide whether to link them to the custom Work Order entity or handle them in a separate payroll tool.
CRM Runner
Payments/Transactions
Microsoft Dynamics 365 Sales
Separate financial export (not CRM)
lossyCRM Runner payment records are embedded within Jobs and represent a financial data set rather than a CRM data set. We export payment records as a separate CSV package (transaction ID, amount, payment method, date, linked Job, linked Contact) that the customer imports into a dedicated accounting tool (Business Central, QuickBooks, or equivalent). Microsoft Dynamics 365 Sales is not the appropriate destination for payment transaction history; routing it there would create a data-shape mismatch that degrades CRM performance and reporting.
CRM Runner
Tasks
Microsoft Dynamics 365 Sales
Task
1:1CRM Runner standalone Tasks map directly to Microsoft Dynamics 365 Sales Task records. Due date, priority, status, and description migrate directly. Task assignment resolves CRM Runner hubspot_owner_id to Dynamics OwnerId via the Team Member-to-User mapping. Open tasks migrate as Not Started; completed tasks migrate with Completed status and the original completion date preserved.
CRM Runner
Custom Fields
Microsoft Dynamics 365 Sales
Custom Fields
lossyCRM Runner supports custom fields on Contacts, Companies, and Jobs. We extract all custom field definitions during scoping, map them to equivalent Microsoft Dynamics 365 Sales custom fields (with appropriate field types: Text, Integer, Decimal, Picklist, Boolean, DateTime), and deploy the destination schema via Dataverse API before any record import. Custom fields that reference CRM Runner-specific picklist values require a value mapping table to translate the options into Dynamics-compatible values.
CRM Runner
Pipeline Stages
Microsoft Dynamics 365 Sales
Sales Process or custom option set
lossyCRM Runner pipeline stages are configurable and stored as a property on Contact and Job records. We map each CRM Runner stage name and order to a Dynamics Sales Process option set or a custom global option set that applies across Lead, Contact, Opportunity, and the custom Work Order entity. Stage probability values map to stageprobability on Opportunity if the customer uses that object.
CRM Runner
IFTTT Automations
Microsoft Dynamics 365 Sales
Written specification (no migration)
1:1CRM Runner automations configured through the trigger-action interface have no documented export or migration path. We do not migrate them as code. We document every active automation identified during discovery as a written specification: trigger type, conditions, and actions. The recommended rebuild path is Power Automate for cross-application flows (for example, notifying a Teams channel when a Job status changes) and Dynamics 365 Business Rules or Power Apps for form-level logic. Automations that involve CRM Runner's built-in VoIP or SMS require a separate communications platform migration.
| CRM Runner | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Jobs | Custom Work Order entity or Opportunitylossy | Mapping required | |
| Team Members | User1:1 | Mapping required | |
| Communications (Calls, SMS, Chat) | Task, Event, and EmailMessage1:1 | Mapping required | |
| Time Entries | Custom entity or separate CSV exportlossy | Mapping required | |
| Payments/Transactions | Separate financial export (not CRM)lossy | Mapping required | |
| Tasks | Task1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Pipeline Stages | Sales Process or custom option setlossy | Fully supported | |
| IFTTT Automations | Written specification (no migration)1:1 | Not 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.
CRM Runner gotchas
No free trial and immediate billing on subscription
No publicly documented API or export endpoints
IFTTT automations must be manually rebuilt post-migration
Time entries and payment data require separate export treatment
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 extraction
We audit the CRM Runner instance across all objects (Contacts, Companies, Jobs, Team Members, Communications, Tasks, custom fields, pipeline stages, and IFTTT automations) using UI-based extraction methods. We also request a manual data export from CRM Runner's built-in export functionality if available. We document the volume of each object, identify any records with missing required fields, and flag the automation inventory. The discovery output is a written migration scope with record counts, custom field definitions, and a recommendation on whether the Jobs object maps to a custom Work Order entity or Project records.
Destination schema design and licensing review
We design the Microsoft Dynamics 365 Sales destination schema in a Sandbox org. This includes provisioning the custom Work Order entity (crmerunner_job__c) with fields mapped from CRM Runner Jobs, creating custom fields on Contact and Account for CRM Runner properties, configuring Sales Processes and option sets for pipeline stage mapping, and setting up the Lead-Contact split rule based on the customer's qualification criteria. We also review the customer's current Microsoft 365 licensing to determine whether Power Platform and LinkedIn Sales Navigator are available, and confirm whether Dynamics 365 Project Operations is licensed if the customer wants to use Project instead of a custom entity for Jobs.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 Sandbox using production-like data volume. The customer's Dynamics admin reconciles record counts (Contacts in, Accounts in, Work Order records in, Team Members resolved to Users), spot-checks twenty to forty random records against the CRM Runner source, and validates that custom field values transferred correctly. Any schema corrections, mapping adjustments, or field type changes happen in the Sandbox before production migration begins.
Owner and User provisioning
We extract every distinct Team Member from CRM Runner and match by email against the destination Azure AD tenant. Any Team Member without a matching Azure AD User account goes to a reconciliation queue for the customer's admin to provision. Migration cannot proceed past this step because Dynamics OwnerId references are required on most standard records. We also identify any CRM Runner role or department assignments that need to map to Dynamics Security Roles and Teams.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from CRM Runner Companies), Users (validated from Team Members), Contacts (with AccountId resolved and Lead-Contact split applied), custom Work Order entity records (from CRM Runner Jobs, with assigned technician User lookup resolved), Tasks, Activity history (Tasks, Events, EmailMessages via Dataverse Bulk API), and custom fields. Each phase emits a row-count reconciliation report before the next phase begins. Payment and time-entry CSV packages are generated in parallel and delivered as separate export artifacts.
Cutover, validation, and automation handoff
We freeze CRM Runner write access 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 automation specification document to the customer's admin team. We support a five-business-day hypercare window where we resolve any reconciliation issues. Workflow and automation rebuild in Power Automate or Dynamics Business Rules is outside standard migration scope and is handled as a separate engagement or an internal admin task.
Platform deep dives
CRM Runner
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 CRM Runner 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
CRM Runner: Not publicly documented.
Data volume sensitivity
CRM Runner 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 CRM Runner to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your CRM Runner 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 CRM Runner
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.