CRM migration
Field-level mapping, validation, and rollback between Resco – Mobility & Productivity and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Resco – Mobility & Productivity
Source
Salesforce Sales Cloud
Destination
Compatibility
10 of 12
objects map 1:1 between Resco – Mobility & Productivity and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Resco – Mobility & Productivity to Salesforce is a migration from a mobile extension layer into a native CRM platform, not a like-for-like system swap. Resco does not host your data — it wraps an underlying Dynamics 365, Dataverse, or Salesforce org and adds offline-first mobile capabilities, Woodford form configuration, and field-specific entities (Work Orders, Inspections, Route Plans, Mobile Auditing). We extract the full Resco data layer including entity definitions, questionnaire schemas, and location records from the source CRM, then map Work Orders to Salesforce Field Service objects or standard Cases, preserve inspection response data in custom fields, migrate location history from Mobile Auditing as Activity records, and re-model any Woodford-only custom entities as Salesforce custom objects. Resco Guides are discontinued and have no migration path; we flag this during discovery. We do not migrate Woodford configurations, sync filters, or routing rules as code — we deliver a written inventory for the customer's admin to rebuild in Salesforce Flow or Field Service Lightning.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Resco – Mobility & Productivity object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Resco – Mobility & Productivity
Account / Company
Salesforce Sales Cloud
Account
1:1Resco mirrors the underlying CRM's Account entity directly. We migrate Account records 1:1 with all standard fields intact — Account Name, Website, Industry, Billing Address, Phone, and Ownership. The dedupe key is the combination of Account Name and Website domain. Account is created before any related Contact or Work Order import so that the AccountId lookup is satisfied at insert time.
Resco – Mobility & Productivity
Contact
Salesforce Sales Cloud
Contact
1:1Contact records sync through the standard Resco-to-CRM channel. We preserve contact ownership, email, phone, mailing address, and the relationship link to the parent Account via AccountId lookup. The customer decides whether to maintain the Resco-specific contact photo (stored as an attachment) as a Salesforce custom field or as a ContentDocument linked via ContentDocumentLink.
Resco – Mobility & Productivity
Work Order
Salesforce Sales Cloud
Work Order (Field Service Lightning) or Case
1:1Resco Work Orders are first-class entities in the Field Service+ layer and include status, assignment, line items, and photos captured in the field. We map Work Order to Salesforce WorkOrder if the destination org has Field Service Lightning licensed. If not, Work Orders map to Case with a custom field work_order_number__c and status mapped to Case Status. Work Order Line Items map to ServiceAppointment or WorkOrderLineItem depending on the Field Service schema in use.
Resco – Mobility & Productivity
Inspection Questionnaire (definition)
Salesforce Sales Cloud
Custom Object (Questionnaire)
lossyInspection questionnaire definitions configured in Woodford are Resco-specific artifacts. The questionnaire schema (question text, response type, branching logic) does not migrate automatically. We export the questionnaire definition separately from response data, map each question to a custom field on a Questionnaire custom object, and flag the branching logic for Salesforce Flow rebuild. The questionnaire response data migrates as records of the Questionnaire custom object.
Resco – Mobility & Productivity
Inspection Response Data
Salesforce Sales Cloud
Custom Object Records
1:1Inspection response records (the filled-out answers, not the template) migrate to Salesforce custom object records linked to the parent Work Order or Account. Each response field maps to a typed Salesforce custom field (Text, Number, Picklist, Checkbox, Date). Photos and signatures captured in the inspection migrate as ContentDocument records linked via ContentDocumentLink to the parent inspection record.
Resco – Mobility & Productivity
Mobile Auditing (Location Tracking Records)
Salesforce Sales Cloud
Task (with custom location fields)
1:1Location tracking records in Resco are stored as Mobile Auditing entity entries where the Owner field is set to the initiating user, not to the work order or asset. This means location history is tied to user identity rather than operational context. We preserve these records by migrating them as Task records with custom fields location_latitude__c, location_longitude__c, and tracked_user__c. We flag that their primary value is audit and compliance rather than asset management, and the customer may choose to filter these records if volume is high.
Resco – Mobility & Productivity
Route Plan
Salesforce Sales Cloud
Service Territory + Work Order (re-modeled)
lossyRoute plans are optimized sequences of work orders or inspections generated by Resco's routing engine. These are configuration data, not transactional records, and do not migrate as routing rules. We deliver a written map of the active route plan configurations (stop order, geographic sequence, time windows) and recommend Salesforce Field Service's Service Territory, Operating Hours, and Work Order scheduling approach as the re-modeling target. Route plan regeneration in Salesforce Field Service is an admin task post-migration.
Resco – Mobility & Productivity
Custom Entities (Woodford-configured)
Salesforce Sales Cloud
Custom Object (__c)
1:1Custom entities created in Woodford that are not mirrored in the destination Salesforce org require explicit schema re-creation. We pre-create the destination custom object with all custom fields, lookup relationships to Account, Contact, and Work Order, and validation rules before any data import. Custom object API names follow the Salesforce __c suffix convention. Any custom entity with a lookup dependency on another custom entity is migrated last after the dependency chain is validated.
Resco – Mobility & Productivity
Documents and Attachments
Salesforce Sales Cloud
ContentDocument / Note
1:1Resco routes documents and photos to external services (Dropbox, Google Drive, OneDrive, SharePoint) or stores them on the CRM server. We migrate attachments linked to CRM records as Salesforce ContentDocument records attached via ContentDocumentLink. Standalone local files not yet routed to external storage require explicit export before migration. Documents originally stored in SharePoint migrate with their SharePoint URL preserved in a custom field for re-linkage post-migration.
Resco – Mobility & Productivity
Activity: Calendar / Events
Salesforce Sales Cloud
Event
1:1Activities and calendar events sync through the standard CRM integration channel. We migrate Event records with Subject, StartDateTime, EndDateTime, Location, and WhoId (Contact or Lead lookup) preserved. Event attendance (attendee records) maps to EventRelation records linked to the corresponding Contacts and Users.
Resco – Mobility & Productivity
Activity: Tasks
Salesforce Sales Cloud
Task
1:1Task records migrate to Salesforce Task with Status, Priority, Subject, ActivityDate, and OwnerId resolved by matching the Resco user email to a Salesforce User record. Tasks assigned to Resco users without a Salesforce User counterpart go to a reconciliation queue for the customer's admin to provision before task migration resumes.
Resco – Mobility & Productivity
User and Assignment Records
Salesforce Sales Cloud
User
1:1User records in Resco reference the underlying CRM user identity. When migrating from a Resco-connected Dynamics 365 or Dataverse org into Salesforce, user IDs and ownership assignments must be re-mapped to destination Salesforce User IDs. We resolve by email match. Any Resco user without a matching Salesforce User is held in a reconciliation queue. Ownership on Account, Contact, Work Order, and custom object records is updated to the resolved Salesforce OwnerId during migration.
| Resco – Mobility & Productivity | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Account / Company | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Work Order | Work Order (Field Service Lightning) or Case1:1 | Fully supported | |
| Inspection Questionnaire (definition) | Custom Object (Questionnaire)lossy | Fully supported | |
| Inspection Response Data | Custom Object Records1:1 | Fully supported | |
| Mobile Auditing (Location Tracking Records) | Task (with custom location fields)1:1 | Mapping required | |
| Route Plan | Service Territory + Work Order (re-modeled)lossy | Fully supported | |
| Custom Entities (Woodford-configured) | Custom Object (__c)1:1 | Mapping required | |
| Documents and Attachments | ContentDocument / Note1:1 | Mapping required | |
| Activity: Calendar / Events | Event1:1 | Fully supported | |
| Activity: Tasks | Task1:1 | Fully supported | |
| User and Assignment Records | User1: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.
Resco – Mobility & Productivity gotchas
Sync filter misconfiguration causes silent data loss
API call consumption varies dramatically between sync modes
Resco Guides feature discontinued with no migration path
External storage integration is not app-native
Location tracking data is user-owned in the Mobile Auditing entity
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Discovery and Resco configuration audit
We audit the Resco Woodford project configuration to enumerate all enabled entities, custom objects, inspection questionnaires, route plan templates, and sync filters. We identify the underlying CRM (Dynamics 365, Dataverse, or standalone Resco Cloud) connected to Resco and extract data from that source. We also catalog any active Resco Guides configurations (for flagging the discontinuation gap), document the Mobile Auditing entity schema, and identify custom entities not mirrored in Salesforce. The discovery output is a written migration scope with an entity-by-entity record count and a schema gap analysis.
Destination schema design and custom object provisioning
We design the Salesforce destination schema. This includes provisioning custom objects (with __c API names matched to Resco Woodford entity names), custom fields for inspection questionnaire questions, Service Territory and Operating Hours for route plan re-modeling, and custom fields on Task for Mobile Auditing location records. If the customer licenses Field Service Lightning, we configure the WorkOrder and ServiceAppointment objects; if not, we map Work Orders to Case with a work_order_number__c custom field. Schema is deployed via Salesforce Metadata API into a Sandbox org for validation before any data moves.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox using production-like data volume. The customer's operations lead reconciles record counts across all entities (Accounts, Contacts, Work Orders, inspection response records, location tracking records, custom entity records), spot-checks 25-50 records against the Resco source, and validates that sync filters did not silently exclude records. Any mapping corrections happen in Sandbox, not in production. The customer signs off on the schema and mapping before production migration begins.
User reconciliation and Salesforce User provisioning
We extract every distinct Resco user referenced on Work Order, Inspection, Location Tracking, and Activity records and match by email against the Salesforce destination org's User table. Users without a matching Salesforce User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users. Migration cannot proceed past this step because OwnerId references are required on Work Order, custom object, and Activity records.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Resco Company data), Contacts (with AccountId resolved), Work Orders (with OwnerId and AccountId resolved), Service Appointments or Work Order Line Items, Inspection questionnaire definitions and response records, Mobile Auditing location records (as Task with custom location fields), custom object records (last, after standard object lookups are validated), and Documents/Attachments as ContentDocument. Each phase emits a row-count reconciliation report before the next phase begins. We use the Salesforce Bulk API 2.0 with batch chunking and exponential backoff on API rate limit responses.
Cutover, validation, and configuration handoff
We freeze Resco sync writes during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We deliver the Resco configuration inventory document (Woodford entity list, active sync filters, route plan templates, inspection questionnaire definitions) for the customer's admin to rebuild in Salesforce Field Service Lightning, Flow, or custom objects as appropriate. We support a one-week hypercare window for reconciliation issues. We do not rebuild Resco sync filters, Woodford workflows, or routing rules as Salesforce Flow inside the migration scope.
Platform deep dives
Resco – Mobility & Productivity
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Resco – Mobility & Productivity and Salesforce Sales Cloud.
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
Resco – Mobility & Productivity: Governed by the underlying CRM platform (Dynamics 365, Dataverse, or Salesforce API limits).
Data volume sensitivity
Resco – Mobility & Productivity exposes a bulk API — large-volume migrations stream efficiently.
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 Resco – Mobility & Productivity to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Resco – Mobility & Productivity to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Resco – Mobility & Productivity
Other ways to arrive at Salesforce Sales Cloud
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.