Project Management migration
Field-level mapping, validation, and rollback between Swit and Microsoft Project. We move data and schema; workflows are rebuilt natively in Microsoft Project.
Swit
Source
Microsoft Project
Destination
Compatibility
8 of 12
objects map 1:1 between Swit and Microsoft Project.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Swit to Microsoft Project is a structural migration from a task-card-and-chat platform to a formal scheduling and resource-management tool. Swit organizes work around flexible Task cards with per-project custom fields, multiple assignees, subtasks, and embedded checklists; Microsoft Project uses a Gantt-driven task hierarchy with predecessor dependencies, resource assignments, and baseline tracking. We extract Swit's project-level custom field schemas (which vary per workspace), reconstruct the task-to-subtask parent-child chain, map multiple assignees to named Resources with assignment units, and preserve checklist items as structured task notes or converted to actual sub-tasks in the destination. Swit's chat-linked task shares (a Hub-plan feature) do not migrate because the equivalent channel-to-task linking does not exist in Microsoft Project. We do not migrate Swit workflows, dashboard configurations, or workload charts as code; we deliver a written inventory of these for the customer's PMO to rebuild in Microsoft Project using built-in views and reporting.
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 Swit 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.
Swit
Project
Microsoft Project
Project
1:1Swit Projects function as workspace containers, each with its own dashboard, workload chart, and configuration. Microsoft Project treats each .mppx or Project for the web project as a standalone scheduling container. We map Swit Projects to Microsoft Project plans directly, preserving the project name, description, start date (derived from earliest task due date if not explicitly set), and project-level custom fields. Multi-project portfolio reporting in Microsoft Project Plan 5 requires separate plan creation; we create each Swit project as its own plan and flag the portfolio grouping for the customer's PMO to configure in the destination.
Swit
Task
Microsoft Project
Task
1:1Swit task cards map to Microsoft Project tasks with Name, Start/Finish dates (derived from Swit's due date and timeline fields), Duration (calculated from start to finish or set manually post-migration), and Notes (from Swit task description). Task priority maps from Swit's Low/Medium/High labels to Microsoft Project Priority field. We preserve the Swit task's unique identifier in a custom field swit_task_id__c for reconciliation. Swit task status values (team-configurable per project) are mapped to Microsoft Project Task Status values during migration, with any unmapped statuses flagged for the customer's admin to configure as custom status flags in the destination.
Swit
Subtask
Microsoft Project
Sub-task
1:1Swit subtasks are nested under parent task cards with their own completion state and assignee list. Microsoft Project supports sub-tasks through the task outline hierarchy (indenting a task under a summary task). We reconstruct the parent-child relationship by matching the Swit parent task ID, then set the sub-task as a child in the Microsoft Project WBS hierarchy with Outline Level incremented. Subtask assignees migrate as Resource Assignments on the sub-task record. The display order from Swit is preserved by setting the Outline Number in Microsoft Project to match the source sequence.
Swit
Checklist
Microsoft Project
Task Notes or Sub-task
1:manySwit checklists are embedded line items within task cards with a checked/unchecked state. We offer two migration strategies, chosen during scoping: (a) each checklist item becomes a bulleted sub-item in the Microsoft Project task's Notes field, preserving the completion state as a prefix symbol (e.g., [x] Item 1, [ ] Item 2); (b) each checklist item is created as a separate sub-task under the parent task with Duration=1 day and its own Resource Assignment. Strategy (b) is more accurate but increases task count significantly. We count checklist items during discovery and advise on the trade-off before migration begins.
Swit
Assignee
Microsoft Project
Resource
lossySwit tasks and subtasks support multiple assignees stored as a list on each task. Microsoft Project Resources are named entities (Resources tab) with assignment Units on each task. We extract all distinct assignee names from Swit tasks, create corresponding Microsoft Project Resources (type: Material or Work depending on whether the assignee represents a person or a consumable), and create Assignment records for each assignee-to-task relationship. Multiple Swit assignees on a single task become multiple Assignment rows in Microsoft Project with their respective Units. If the customer uses Microsoft Project for the web with Microsoft 365, we link Resources to Entra ID users for accurate display names.
Swit
Comment
Microsoft Project
Task Comments
1:1Swit task comments are threaded conversation entries with author, timestamp, and text body. Microsoft Project stores comments at the task level (via the Comments column in the grid view or the Task Details pane). We migrate comments as Microsoft Project task comments with the original author name and timestamp preserved. Threading structure from Swit (replies to comments) is flattened in Microsoft Project since the destination does not support threaded comment hierarchies; all replies are posted chronologically without parent-child threading.
Swit
Attachment
Microsoft Project
Document Link or Attachment
1:1Swit attachments (files, emails, channel messages linked to a task) carry filename, size, type, and URL metadata. We export attachment metadata and attempt to retrieve file content via the Swit storage API. If file content is retrievable, we upload to SharePoint or OneDrive and create a hyperlink in the Microsoft Project task's Notes field. If file content is not accessible, we export the attachment metadata (filename, Swit URL, size, type) to a reconciliation CSV and flag items requiring re-upload in the destination. Actual file migration is not guaranteed for locked or inaccessible attachment types.
Swit
Tag
Microsoft Project
Custom Field or Text1 column
lossySwit tags label tasks for filtering and categorization across projects. Microsoft Project supports enterprise custom fields (Text1-30, Flag1-20) that can be scoped per project or globally. We map Swit tag names to a Text-type enterprise custom field (e.g., Custom Text1 labeled 'Tags') on the Task entity. If a task carries multiple Swit tags, we comma-separate them in the destination field. The customer chooses whether tags migrate globally or per-project-type during scoping.
Swit
Time Entry
Microsoft Project
Assignment Hours
1:1Swit records time logged per task with user, duration, and associated task reference. Microsoft Project Assignment fields (Assignment Work, Assignment Remaining Work) store effort per resource per task. We map Swit time entries to Microsoft Project Assignment rows on the corresponding task, setting Assignment Actual Work to the logged duration in hours. If the destination is Microsoft Project Plan 3 or Plan 5 with timesheet integration, we preserve the time entry in the Assignment table and the customer's admin enables timesheet approval workflows post-migration.
Swit
Custom Field (per-project)
Microsoft Project
Enterprise Custom Field
lossySwit custom fields are defined at the project level, meaning each of a customer's projects may have a different set of custom field definitions. We enumerate every distinct custom field across all Swit projects during discovery, deduplicate by field type (text, number, date, choice, person, link), and create corresponding Microsoft Project Enterprise Custom Fields of matching type before migration begins. For choice-type fields, we also create the picklist values in Microsoft Project. If a Swit project has a custom field not present in other projects, it still migrates as a valid enterprise field; tasks in projects that do not use that field receive no value for it. This per-project enumeration step adds planning time for accounts with more than 10 active Swit projects.
Swit
Priority Level
Microsoft Project
Priority Field
1:1Swit task cards carry priority values (Low, Medium, High, or custom team-defined labels) stored on the priority field. Microsoft Project has a built-in Priority field (integer 0-1000, with common values 500=Normal, 600=High, 800=Critical). We map Swit priority labels to Microsoft Project Priority integers based on the customer's actual Swit priority label set. Custom Swit priority labels are preserved in a custom field swit_priority__c for reference and reporting clarity.
Swit
Task Status
Microsoft Project
Task Status or Status Flags
1:1Swit task status values are configured by each team and vary by project (e.g., one team uses 'Backlog, In Progress, Review, Done' while another uses 'To Do, Doing, Blocked, Closed'). Microsoft Project uses built-in status types (Not Started, In Progress, Completed, Deferred, Cancelled) with customizable Status Flags. We extract the actual status values from each Swit project during discovery, then map them to Microsoft Project Status Flags on a per-project basis, with the mapping matrix documented in the migration deliverable. Any status values without a clear Microsoft Project equivalent are flagged for manual post-migration categorization.
| Swit | Microsoft Project | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Subtask | Sub-task1:1 | Fully supported | |
| Checklist | Task Notes or Sub-task1:many | Fully supported | |
| Assignee | Resourcelossy | Fully supported | |
| Comment | Task Comments1:1 | Fully supported | |
| Attachment | Document Link or Attachment1:1 | Fully supported | |
| Tag | Custom Field or Text1 columnlossy | Fully supported | |
| Time Entry | Assignment Hours1:1 | Fully supported | |
| Custom Field (per-project) | Enterprise Custom Fieldlossy | Fully supported | |
| Priority Level | Priority Field1:1 | Fully supported | |
| Task Status | Task Status or Status Flags1:1 | Mapping required |
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.
Swit gotchas
Custom field schema varies per project
Task status values are team-configurable
Hub plan required for task-chat linking
Attachment content retrieval may require re-upload
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 project enumeration
We audit the source Swit account across all workspaces, enumerating every active project, each project's custom field definitions, and the full set of status values used across teams. We count task cards, subtasks, checklist items, distinct assignees, and comment volume. We identify the Swit plan tier (Starter, Hub, Advanced) to confirm which features are available for export. The discovery output is a written migration scope document including the per-project custom field matrix, the status-to-status mapping matrix, and the checklist migration strategy recommendation.
Custom field and resource schema design
We design the Microsoft Project destination schema before any data moves. This includes creating Enterprise Custom Fields (Text, Number, Date, Flag, and Enterprise RBS) to cover every Swit custom field discovered in step one. We create Resources in Microsoft Project for every distinct assignee name found in Swit tasks, matching by name to Microsoft 365 user accounts where Entra ID integration is available. We configure Status Flags to cover the Swit status values mapped per project. If the destination is Microsoft Project for the web (Planner/Project Plan 3 or 5), we configure the custom columns in the respective plan's column settings. Schema design is validated in a test environment before production migration.
Checklist strategy decision and task hierarchy reconstruction
We present the customer with the two checklist migration options (flattened notes vs. discrete sub-tasks) based on the checklist item count from discovery. The customer confirms the chosen strategy before migration. We then reconstruct the Swit task hierarchy: parent tasks with their sub-tasks and checklist items, in the correct outline order. We validate the hierarchy counts against the Swit export to confirm no tasks or subtasks are orphaned before writing to the destination.
Test migration and reconciliation
We run a full migration into a Microsoft Project test environment using production-like data volume. The customer's project manager reconciles task counts, subtask counts, assignee coverage, custom field values on a sample of 25-50 tasks, and checklist preservation. We check that parent-child task relationships render correctly in the Gantt view and that Status Flags reflect the expected Swit status values. Any mapping corrections are applied before the production migration phase begins.
Production migration and delta sync
We execute production migration in dependency order: Resources first, then Projects, then Tasks with sub-tasks, then Assignments for each assignee, then custom field values, then Comments, then checklist items (or sub-tasks per the chosen strategy), then Time Entries as Assignment hours. During the production migration window, any new or modified Swit tasks are held for a delta sync before cutover. We generate a reconciliation report for each phase confirming record counts match the Swit export before proceeding to the next phase.
Cutover, validation, and rebuild handoff
We freeze Swit writes at cutover, run the final delta migration of any records modified during the production window, and confirm the destination Microsoft Project plan reflects the current state. We validate the Gantt view, resource assignments, custom field coverage, and comment presence on a final spot-check sample. We deliver the workflow, dashboard, and workload chart inventory to the customer's PMO as a written document for rebuilding in Microsoft Project views, Power BI, or SharePoint. We do not rebuild Swit automations or dashboards as code inside the migration scope.
Platform deep dives
Swit
Source
Strengths
Weaknesses
Microsoft Project
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 3 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 Swit and Microsoft Project.
Object compatibility
3 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
Swit: Not publicly documented.
Data volume sensitivity
Swit 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 Swit to Microsoft Project migration scoping. Not seeing yours? Book a call.
Walk through your Swit 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 Swit
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.