CRM migration
Field-level mapping, validation, and rollback between Aidoo Mobile and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Aidoo Mobile
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between Aidoo Mobile and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Organizations running Aidoo Mobile as their field service management (FSM) system move to Dynamics 365 Sales when they need the depth, integrations, and reporting depth of Microsoft's CRM ecosystem. Aidoo Mobile stores FSM-first data: customers, sites or locations, work orders with cost figures, asset records tied to locations, and technician assignments with appointment scheduling. Dynamics 365 Sales runs on Microsoft Dataverse — the Account and Contact tables form the foundation, and all FSM-specific data must land in custom tables. FlitStack AI extracts Aidoo Mobile records via its API, maps each object to the appropriate Dataverse entity, creates custom tables for work orders and assets before data lands, and resolves owner records by email match against Dynamics 365 users. Workflows and scheduling automations built inside Aidoo Mobile have no equivalent in Dynamics 365 Sales — we export the rule definitions as reference documentation for your team to rebuild inside Power Automate. The migration mechanism uses Dataverse batched API calls with rate-limit management, handles delta-pickup during cutover, and produces a field-level diff before the full run commits.
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
Aidoo Mobile platform overview
Scorecard, SWOT, gotchas, and pricing for Aidoo Mobile.
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 Aidoo Mobile 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.
Aidoo Mobile
Customer
Microsoft Dynamics 365 Sales
Account
1:1Aidoo Mobile customer records map to Dataverse Account. Account name, address, and industry fields map directly. Multi-site customers in Aidoo Mobile require a parent-account link in Dynamics 365 — we preserve the site hierarchy by linking each site as a child Account record.
Aidoo Mobile
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Named contacts within an Aidoo Mobile customer map to Dataverse Contact records linked via the AccountId lookup. Primary site contact becomes the primary Contact on the Account; additional contacts are created as related Contact records with appropriate roles. Role metadata such as JobTitle, Department, and IsPrimary flag from Aidoo Mobile carries over into corresponding Dataverse fields. Relationship types between contacts and the parent customer are preserved in the Contact's ParentCustomerId field so that account managers see the correct hierarchy in Dynamics 365 after migration.
Aidoo Mobile
Site / Location
Microsoft Dynamics 365 Sales
Account (child) or Custom Site Table
1:1Aidoo Mobile site records are represented as either child Account records (when the site functions as a separate service location) or as a custom Site custom table with a lookup to the parent Account. We create the custom Dataverse table before migration and configure the relationship.
Aidoo Mobile
Work Order
Microsoft Dynamics 365 Sales
Custom WorkOrder Table (Dataverse)
1:1Aidoo Mobile work orders have no native Dataverse equivalent in Dynamics 365 Sales. We create a custom WorkOrder table with fields mirroring Aidoo Mobile's schema: WorkOrderNumber, Status, Priority, Type, ScheduledDate, CompletedDate, EstimatedCost, ActualCost, Description, and a lookup to the Account and Contact. Organizations with Dynamics 365 Field Service installed use the built-in msdyn_workorder table instead.
Aidoo Mobile
Work Order Line Item
Microsoft Dynamics 365 Sales
Custom WorkOrderProduct Table (Dataverse)
1:1Work order line items in Aidoo Mobile map to a custom WorkOrderProduct table with a lookup to the parent WorkOrder, a text description of the service or part, quantity, unit cost, and total line cost. This preserves the billing breakdown from Aidoo Mobile inside Dynamics 365.
Aidoo Mobile
Asset
Microsoft Dynamics 365 Sales
Custom Asset Table (Dataverse) or msdyn_customerasset
1:1Aidoo Mobile asset records (equipment under service contracts) migrate to a custom Asset custom table linked to the Account or Site that owns the asset. If Dynamics 365 Field Service is active, we use msdyn_customerasset instead, preserving asset serial number, model, installed date, and status.
Aidoo Mobile
Technician
Microsoft Dynamics 365 Sales
User (Dynamics 365) + Custom Technician Table
1:1Aidoo Mobile technicians are resolved by email match against Dynamics 365 users. Matched records link to the User. Unmatched technicians are stored in a custom Technician custom table with name, phone, email, and Team lookup so scheduling data references the right person.
Aidoo Mobile
Work Order Status
Microsoft Dynamics 365 Sales
Custom Option Set on WorkOrder Table
1:1Aidoo Mobile status values (Open, In Progress, On Hold, Completed, Cancelled) map to a Dataverse option set on the custom WorkOrder table. We map each Aidoo Mobile status label to the corresponding integer value in the destination option set, preserving the current state of every work order.
Aidoo Mobile
Work Order Priority
Microsoft Dynamics 365 Sales
Custom Option Set on WorkOrder Table
1:1Priority levels from Aidoo Mobile (Low, Medium, High, Critical) migrate as a custom option set field on the WorkOrder table. Each priority label is mapped to a corresponding integer value in Dataverse's option set schema, maintaining the relative urgency classification from the source system. When Dynamics 365 Field Service is installed, the built-in msdyn_priority option set on msdyn_workorder provides a pre-configured priority field that accepts the same four-tier priority model from Aidoo Mobile.
Aidoo Mobile
Appointment / Scheduling
Microsoft Dynamics 365 Sales
Custom Scheduling Fields on WorkOrder
1:1Aidoo Mobile technician appointments and scheduling windows map to custom datetime fields (ScheduledStart__c, ScheduledEnd__c, AssignedTechnician__c) on the WorkOrder table. Dynamics 365 Sales does not have a native scheduling engine — these fields give the scheduling team a reference start point for Power Automate-driven scheduling.
Aidoo Mobile
Attachment / File
Microsoft Dynamics 365 Sales
Dataverse Note (annotation) or SharePoint Integration
1:1Files attached to work orders or assets in Aidoo Mobile are downloaded and re-hosted as Dataverse Note attachments (annotations) linked to the corresponding WorkOrder or Asset record. If the destination uses SharePoint integration, files upload to SharePoint document libraries with the record reference preserved.
Aidoo Mobile
Custom Aidoo Entity
Microsoft Dynamics 365 Sales
Custom Dataverse Table
1:1Any custom entities defined in Aidoo Mobile (beyond the standard work order, asset, and site objects) are created as custom Dataverse tables in Dynamics 365. We inspect the custom entity schema during discovery, create the tables in the destination environment, and then populate them with the migrated records.
| Aidoo Mobile | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Customer | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Site / Location | Account (child) or Custom Site Table1:1 | Fully supported | |
| Work Order | Custom WorkOrder Table (Dataverse)1:1 | Fully supported | |
| Work Order Line Item | Custom WorkOrderProduct Table (Dataverse)1:1 | Fully supported | |
| Asset | Custom Asset Table (Dataverse) or msdyn_customerasset1:1 | Fully supported | |
| Technician | User (Dynamics 365) + Custom Technician Table1:1 | Fully supported | |
| Work Order Status | Custom Option Set on WorkOrder Table1:1 | Fully supported | |
| Work Order Priority | Custom Option Set on WorkOrder Table1:1 | Fully supported | |
| Appointment / Scheduling | Custom Scheduling Fields on WorkOrder1:1 | Fully supported | |
| Attachment / File | Dataverse Note (annotation) or SharePoint Integration1:1 | Fully supported | |
| Custom Aidoo Entity | Custom Dataverse Table1: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.
Aidoo Mobile gotchas
Aidoo Mobile has no publicly documented API
Pricing is not publicly published
Limited review corpus for data quality signals
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
Scope Aidoo Mobile data model and configure Dataverse schema
FlitStack connects to Aidoo Mobile via read-only API access to enumerate all customers, work orders, assets, technicians, and custom entities — capturing field names, data types, and record counts. We then create the custom Dataverse tables in the target Dynamics 365 Sales environment: WorkOrder, WorkOrderProduct, Asset, Technician, and any additional custom entities discovered in Aidoo Mobile. We configure option sets for status and priority fields, set up lookups to Account and Contact, and assign security roles so field technicians can view their assigned work orders after migration.
Resolve technician owners and validate pick-list value mapping
Aidoo Mobile technician records are matched to Dynamics 365 users by email address. Any technician without a corresponding Dynamics 365 user account is flagged before migration so the team can create the user or assign a fallback owner. Simultaneously, we map Aidoo Mobile pick-list values for work order status and priority to their Dataverse option set integer counterparts — mapping rules are documented in the migration plan for customer sign-off before data moves.
Run a sample migration with field-level diff
A representative slice of records — typically 50–200 spanning customers, work orders, line items, assets, and technicians — migrates into Dataverse using the configured schema. FlitStack generates a field-level diff report comparing source values to destination values for every mapped field. The customer reviews the diff to confirm status mapping, cost figures, scheduling timestamps, and technician assignment are correct before the full run is authorized.
Execute full migration with delta-pickup and audit log
The full dataset is migrated using Dataverse batched API calls with request pacing to stay within rate limits. A delta-pickup window of 24–48 hours runs after the bulk migration, capturing any work orders updated or created in Aidoo Mobile during the cutover. Every operation is logged to the migration audit log with source record ID, destination record ID, timestamp, and operator. If reconciliation fails, one-click rollback reverts the Dataverse environment to its pre-migration state.
Platform deep dives
Aidoo Mobile
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Aidoo Mobile and Microsoft Dynamics 365 Sales .
Object compatibility
1 of 8 objects need a manual workaround.
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
Aidoo Mobile: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.
Data volume sensitivity
Aidoo Mobile 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 Aidoo Mobile to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Aidoo Mobile 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 Aidoo Mobile
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.