Project Management migration
Field-level mapping, validation, and rollback between TaskRay and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.
TaskRay
Source
Microsoft Project
Destination
Compatibility
10 of 11
objects map 1:1 between TaskRay and Microsoft Project.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from TaskRay to Microsoft Project is a structural migration away from the Salesforce ecosystem. TaskRay stores all project data as Salesforce records (TaskRay__Project__c, TaskRay__Task__c, and related objects) with no standalone API, so all extraction runs through Salesforce REST and Bulk APIs subject to the org's edition limits. We resolve the Salesforce User-to-resource lookup, preserve checklist item states as notes on tasks, re-establish predecessor relationships, and re-apply baseline snapshots. The most consequential gap is TaskRay's one-level task grouping (Task Groups only, no nested sub-groups) versus Microsoft Project's unlimited WBS hierarchy depth; deeply nested TaskRay structures require flattening during import. Collaboration Hub workspaces, Chatter threads, Field Trickler propagation rules, and the Template Migration feature have no direct Microsoft Project equivalent and are documented for manual rebuild. Workflows, automations, and Salesforce Flow triggers built on TaskRay records are excluded from scope entirely.
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 TaskRay object lands in Microsoft Project, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
TaskRay
TaskRay Project
Microsoft Project
Project (MPP or cloud plan)
1:1Each TaskRay Project__c record maps to a Microsoft Project plan. The Project Name, Start Date, End Date, and Archived flag transfer as plan metadata. Sub-Projects become top-level summary tasks within the plan. We extract the project's custom fields via Salesforce field query and apply them as Project-level custom fields in Microsoft Project or as notes on the root summary task. Chatter threads attached to TaskRay Projects have no Microsoft Project equivalent and are documented in the collaboration handoff report.
TaskRay
Task Group
Microsoft Project
Summary Task (WBS level 1-2)
1:1TaskRay Task Groups represent phases or thematic groupings one level above Tasks. We map each Task Group to a Microsoft Project summary task at the appropriate WBS level. The Task Group's start and end dates inform the summary task date range. Note that Microsoft Project allows unlimited WBS nesting while TaskRay permits only one level of grouping; if the source has deeply nested structures, we flatten beyond the first level and document the original nesting for manual reconstruction.
TaskRay
Sub-Project
Microsoft Project
Summary Task (WBS level 2-3)
1:1TaskRay Sub-Projects are child records under a parent Project with their own Task Groups and Tasks. We map each Sub-Project to a summary task at the second or third WBS level, preserving its parent-project lookup so the correct summary task is created in the right plan context. TaskRay Sub-Projects cannot themselves contain Sub-Projects; any source structures exceeding this depth are flagged pre-migration and flattened at import.
TaskRay
Task
Microsoft Project
Task (detail row)
1:1TaskRay Task__c records map directly to Microsoft Project task rows. Name, Start Date, End Date, Estimated Duration, Percent Complete, Priority, and Owner (mapped to a Microsoft Project Resource) transfer. TaskRay's blocked/locked states and repeating flags map to custom fields in Microsoft Project since these are not native Project fields. Task Ray's checklist container contents (checklist items with completion status) transfer as notes on the task row, preserving each item's text and checked state as a bulleted list.
TaskRay
Milestone
Microsoft Project
Milestone (duration 0 or 1 day)
1:1TaskRay Milestones are a distinct Task record type marked with a milestone flag. We identify milestone records during extraction and create Microsoft Project milestones (duration 0 tasks) at the correct date. The milestone name and date transfer exactly. Visual styling differences between the two platforms are cosmetic and noted for the project manager's review.
TaskRay
Task Dependency
Microsoft Project
Predecessor link
1:1TaskRay Task predecessors (Finish-to-Start, Start-to-Start, Finish-to-Finish, Start-to-Finish with lag) map to Microsoft Project predecessor rows on the successor task. TaskRay does not display standard predecessor notation (e.g., FS+1d) in its Gantt view, but the underlying relationship data is stored and migratable. We resolve predecessor IDs to task row numbers during transformation and apply links in Microsoft Project by task index. Cross-project predecessor references in TaskRay (linking a task to a predecessor in another project) are documented as manual dependencies since Microsoft Project handles cross-project links differently.
TaskRay
Resource and Role
Microsoft Project
Resource
1:1TaskRay Resources (individual users) and Roles (placeholder owners) map to Microsoft Project Resources. We resolve Resources by email match against the source Salesforce org's User table, then assign them to the corresponding Microsoft Project resource pool. If the destination is Project Online, resources must exist in the Project Web App resource pool; if Project Desktop, resources are local to the plan. Roles with no assigned user are created as material or generic resources. Dynamic Team Builder capacity data on the Premium tier migrates as a custom Resource field rather than a native Microsoft Project field.
TaskRay
Checklist and Checklist Item
Microsoft Project
Task Notes (bulleted list)
lossyTaskRay Checklist containers on tasks hold granular Checklist Items with completion status. We export each checklist item's text and isCompleted flag, then write them as a bulleted list into the Microsoft Project task's Notes field. Completion status is represented as a checkbox character or [x] prefix. Teams relying on checklist state for work tracking should note that Microsoft Project does not have a native checklist UI; the notes representation is the standard approach and is readable but not interactive like TaskRay's checklist view.
TaskRay
Custom Fields on Projects and Tasks
Microsoft Project
Custom Fields
1:1TaskRay exposes custom fields on Project, TaskGroup, and Task through standard Salesforce field management. We detect all custom fields via Salesforce metadata query, map them to equivalent Microsoft Project custom fields (text, number, date, or flag type). Custom fields referencing Salesforce lookups (Account, Opportunity, Contact) are mapped as text fields in Microsoft Project since Project has no native CRM lookup model. The customer identifies which custom fields are reportable; we apply only those as Project custom fields and store the remainder as notes.
TaskRay
Files and Attachments
Microsoft Project
Attachments / Notes
1:1TaskRay stores files via Salesforce ContentDocumentLink. We export file names and ContentVersion URLs from the source org and document them in an attachment inventory. Files are not embedded into Microsoft Project plans natively; we deliver the file list with task assignment and recommend storing files in SharePoint or a network location with a link recorded in the task Notes field. Direct file re-attachment into Project Online's SharePoint document libraries is possible if the customer provisions the target library during migration.
TaskRay
Project Template
Microsoft Project
Project Template (MPP)
1:1TaskRay Template Projects are standard Salesforce records containing Projects, Task Groups, Tasks, and Milestones that can be cloned to create new engagements. Templates are migratable via Salesforce Data Loader with the same dependency-order import process. Note that Template hierarchies (template Sub-Projects) and Files are not supported by TaskRay's own Template Migration feature and are not migratable in this scope. We deliver a template inventory documenting each source template's structure for manual recreation in Microsoft Project.
| TaskRay | Microsoft Project | Compatibility | |
|---|---|---|---|
| TaskRay Project | Project (MPP or cloud plan)1:1 | Fully supported | |
| Task Group | Summary Task (WBS level 1-2)1:1 | Fully supported | |
| Sub-Project | Summary Task (WBS level 2-3)1:1 | Fully supported | |
| Task | Task (detail row)1:1 | Fully supported | |
| Milestone | Milestone (duration 0 or 1 day)1:1 | Fully supported | |
| Task Dependency | Predecessor link1:1 | Fully supported | |
| Resource and Role | Resource1:1 | Fully supported | |
| Checklist and Checklist Item | Task Notes (bulleted list)lossy | Fully supported | |
| Custom Fields on Projects and Tasks | Custom Fields1:1 | Mapping required | |
| Files and Attachments | Attachments / Notes1:1 | Mapping required | |
| Project Template | Project Template (MPP)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.
TaskRay gotchas
No standalone API — migration runs through Salesforce
Licensing count explosion during inbound migration
No native cost or invoice objects
Field Trickler lookups require post-migration validation
Sub-Project hierarchy depth limits
Microsoft Project gotchas
Project for the web is being retired and merged into Microsoft Planner
Planner-tier portfolio features are incomplete despite Plan 5 labeling
Web app constraint controls are weaker than the Windows desktop client
Project requires a separate license not bundled with standard Microsoft 365
Project Online API is edition-gated and inconsistently documented
Pair-specific challenges
Migration approach
Discovery and Salesforce API scoping
We audit the source TaskRay Salesforce org to count Projects, Task Groups, Sub-Projects, Tasks, Milestones, and Checklist Items. We extract custom field metadata for all three object types, identify dependency records, resource assignments, and attachment volumes. We also confirm the Salesforce edition and API call consumption rate to determine Bulk API 2.0 vs REST API throughput for the extraction phase. The discovery output is a written migration scope including record counts per object type, any Salesforce org maintenance windows to avoid, and a pre-migration API headroom test.
Object dependency mapping and template inventory
We build the TaskRay-to-Microsoft Project object map covering every migratable object. For each Project, we identify its Task Group and Task hierarchy, extract all predecessor links as a graph, and flag cross-project dependencies. We compile a template inventory listing every TaskRay Project Template with its record structure for the template handoff report. We identify Salesforce Flow triggers, Process Builder flows, and Field Trickler configurations on TaskRay records for the automation inventory. This step produces the transformation rules we apply during the data extraction phase.
Salesforce data extraction via Bulk API 2.0
We extract all TaskRay records through the Salesforce Bulk API 2.0 or REST API depending on volume and edition limits. Extraction runs in dependency order: Projects first (the parent records), then Task Groups, Sub-Projects, Tasks, Milestones, Checklist Items, Dependencies, and Resources. We chunk large record sets into 10,000-record batches, apply the custom field transformation rules during extraction, and write the output to a staging directory organized by Project. Attachment extraction produces a file inventory with source URLs rather than downloading binary blobs into the migration workspace.
Data transformation and WBS hierarchy construction
We transform the extracted Salesforce records into Microsoft Project XML (.xmlpp) or CSV format depending on whether the destination is Project Desktop or Project Online. The transformation applies the following logic: Task Groups become summary tasks at WBS level 1; Sub-Projects become summary tasks at WBS level 2-3; Tasks become detail rows; Milestones become duration-0 tasks; Checklist Items append as bulleted text to the parent task's Notes field; Dependencies are resolved by task index and written as predecessor links; Resources are added to the resource sheet and assigned to tasks by email match. Custom fields map from Salesforce field types to Microsoft Project custom field types.
Microsoft Project plan creation and baseline capture
We create Microsoft Project plans in the destination environment (Project Desktop .mpp files or Project Online PWA plans depending on licensing). For Project Online, we use the PWA REST API or CSV import; for Project Desktop, we use the MSProject object model via programming interface. We import transformed records in hierarchy order, validate the WBS structure against the source, and apply a baseline snapshot matching each project's original planned start and finish dates. We generate a reconciliation report comparing record counts by object type between the source extract and the destination plan.
Cutover, validation, and automation handoff
We run a final delta extraction from the source for any records modified during the migration window, apply updates to the destination plans, then freeze source writes. We deliver the complete package: Microsoft Project plans (or exported PWA project set), file attachment inventory with source locations, template recreation guide, and automation inventory covering Field Trickler configurations, Salesforce Flows, and Collaboration Hub workspaces. We support a one-week post-cutover window for reconciliation issues. We do not rebuild Salesforce Flows or automations in Microsoft Project or Power Automate as part of standard migration scope.
Platform deep dives
TaskRay
Source
Strengths
Weaknesses
Microsoft Project
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management 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 TaskRay and Microsoft Project.
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
TaskRay: Not documented for TaskRay specifically — governed by Salesforce API limits (edition-dependent, 1,000–unlimited daily calls).
Data volume sensitivity
TaskRay 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 TaskRay to Microsoft Project migration scoping. Not seeing yours? Book a call.
Walk through your TaskRay to Microsoft Project migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave TaskRay
Other ways to arrive at Microsoft Project
Same-Project Management migrations
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.