Project Management migration
Field-level mapping, validation, and rollback between workspace.pm and Asana. We move data and schema; workflows are rebuilt natively in Asana.
workspace.pm
Source
Asana
Destination
Compatibility
12 of 14
objects map 1:1 between workspace.pm and Asana.
Complexity
BStandard
Timeline
4-8 weeks
Overview
Moving from workspace.pm to Asana is a migration from an enterprise PPM suite built for PMOs to a collaborative work management platform built for cross-functional teams. workspace.pm lacks a documented public API, so migration depends on vendor-assisted CSV or JSON exports that we then parse, validate, and load into Asana via the REST API. We preserve the workspace.pm task hierarchy including subtasks and predecessor-successor dependencies, reconstruct portfolio-to-project groupings as Asana Portfolios or project tags, and map the resource allocation layer to assignee records with percentage allocations stored as custom fields. Workflows, automations, Gantt chart configurations, and dashboard reports are presentation-layer objects in workspace.pm and do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Asana's rule engine. Timeline: four to eight weeks for typical migrations with under 5,000 tasks and no complex custom field dependencies.
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 workspace.pm object lands in Asana, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
workspace.pm
Project
Asana
Project
1:1workspace.pm Projects map directly to Asana Projects. We extract Project name, description, status, start date, target end date, owner, and cost fields. Archived or completed Projects migrate with their completion status preserved. The Project container is created before any child Tasks so that the parent-project lookup is satisfied at Task insert time.
workspace.pm
Task
Asana
Task
1:1workspace.pm Tasks map to Asana Tasks with title, description (migrated as Notes rich text), status, assignee, due date, start date, and priority preserved. Task status mapping depends on workspace.pm's status vocabulary (Active/On Hold/Complete or custom) and is resolved to Asana's completion boolean during the transform phase.
workspace.pm
Subtask
Asana
Subtask
1:1workspace.pm Subtasks nested under Tasks map to Asana Subtasks. The hierarchy is preserved using Asana's parent task reference. For destinations without native subtask support, we flatten subtasks into task records with a parent_reference custom field and preserve ordering through a sequence number field.
workspace.pm
Milestone
Asana
Milestone
1:1workspace.pm Milestones map to Asana Milestones where available (Premium and above). For Starter/Basic tier destinations, Milestones are migrated as Tasks with a milestone_label custom field set to true and the due date preserved. The associated project linkage is maintained through the parent Project reference.
workspace.pm
Dependency
Asana
Dependency
1:1workspace.pm predecessor-successor task relationships migrate to Asana Dependents using Asana's dependency endpoint (api/1.0/tasks/{task_gid}/addDependencies). We capture the dependency type (Finish-to-Start is the most common) and reconstruct it in the destination. Circular dependency detection runs as a pre-flight check against the extracted pairs.
workspace.pm
Custom Field
Asana
Custom Field
lossyworkspace.pm custom fields at project and task level migrate to Asana Custom Fields. We extract field name, data type (text, number, date, dropdown, checkbox), and picklist options from the workspace.pm export. Dropdown values map to Asana enumerated custom field options. Asana's 100-custom-field-per-project limit is checked during scoping. Picklist field value mappings are handled explicitly during the mapping phase.
workspace.pm
Assignee / Resource Allocation
Asana
Assignee
1:1workspace.pm's Resource allocation records (user, role, allocation percentage, date range) map to Asana Assignee fields on Tasks. The allocation percentage is stored in a numeric custom field allocation_pct__c on the task because Asana natively shows only the assignee without a capacity percentage. Where a workspace.pm Resource has no corresponding Asana User, the record is held in a reconciliation queue.
workspace.pm
Time Entry
Asana
Time Tracking (if available)
1:1workspace.pm Time Entries (user, date, hours, description, linked task or project) migrate to Asana Tasks with a time_tracked custom field or to a separate time_entry object if the destination uses an Asana native time-tracking integration. Where Asana's native time tracking is unavailable, time entries are stored as a custom field group (hours_logged, date_logged, user) for admin reconstruction.
workspace.pm
Comment
Asana
Story / Comment
1:1workspace.pm discussion threads on Tasks and Projects migrate to Asana Stories on the Task. Author, timestamp, and body text are preserved. Where the Asana API creates comments under the migration account rather than the original author, we note this limitation explicitly and store the original author in a custom field comment_author__c for audit.
workspace.pm
Attachment
Asana
Attachment
1:1workspace.pm file attachments linked to Tasks or Projects migrate as Asana Attachments. We transfer filename, uploader, upload date, and the file URL or binary reference. Asana's API rejects attachments exceeding 100MB; files over this threshold are flagged for the customer to re-upload manually post-migration, and a reference list is included in the migration deliverable.
workspace.pm
Portfolio
Asana
Portfolio or Tag
lossyworkspace.pm Portfolio-to-Project associations migrate to Asana Portfolios where the destination org has Portfolio access (Premium and above). Where Portfolio is unavailable or the customer prefers a lighter-weight grouping, we reconstruct the association as Tags on Projects, with each Portfolio becoming a Tag and Project membership preserved. The choice is made during scoping based on the destination tier and reporting requirements.
workspace.pm
Kanban Board
Asana
Board View (not migrated)
1:1workspace.pm Kanban board configurations are presentation-layer views, not independent data objects. The underlying task data (status, assignee, due date) is migrated as part of the Task export. Board column definitions, WIP limits, and swim lane layouts do not migrate. We document the board structure during scoping so the customer's admin can recreate the board layout in Asana's Board view post-migration.
workspace.pm
Gantt Chart
Asana
Timeline View (not migrated)
1:1Gantt chart visualizations in workspace.pm are derived from task dates, dependencies, and milestones. The underlying scheduling data migrates as part of Task records. The Gantt layout itself is not a migratable object. We ensure that start_date, due_date, and dependency fields are populated so that Asana's Timeline view renders correctly post-migration.
workspace.pm
Report / Dashboard
Asana
Dashboard (not migrated)
1:1Dashboard reports and portfolio analytics in workspace.pm are aggregate, read-only views generated from project and task data. These do not migrate. We extract the underlying data that powers critical reports and provide a written inventory of each dashboard's component metrics with recommended Asana reporting equivalents (Portfolio dashboards, custom report builders, or third-party BI tools).
| workspace.pm | Asana | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Subtask | Subtask1:1 | Fully supported | |
| Milestone | Milestone1:1 | Fully supported | |
| Dependency | Dependency1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| Assignee / Resource Allocation | Assignee1:1 | Fully supported | |
| Time Entry | Time Tracking (if available)1:1 | Fully supported | |
| Comment | Story / Comment1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Portfolio | Portfolio or Taglossy | Fully supported | |
| Kanban Board | Board View (not migrated)1:1 | Fully supported | |
| Gantt Chart | Timeline View (not migrated)1:1 | Fully supported | |
| Report / Dashboard | Dashboard (not migrated)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.
workspace.pm gotchas
No public API documentation found for workspace.pm
Presentation-layer objects are not migratable
Portfolio data may not exist as a standalone exportable object
Custom field schemas must be captured before decommissioning the source
Asana gotchas
Automation rules have no export representation
API rate limits cap bulk migration throughput
Portfolios are view-only objects that do not hold data
Custom field enum options cannot be updated via API
Subtasks do not appear in project views by default
Pair-specific challenges
Migration approach
Export coordination and pre-migration audit
We initiate a data export request with workspace.pm support in parallel with scoping. The audit step extracts a full inventory of Projects, Tasks, Subtasks, Milestones, Dependencies, Custom Fields (with data types and picklist options), Resource Allocations, Time Entries, Comments, and Attachments. We document the workspace.pm portfolio structure and identify any reporting-layer objects (Kanban boards, Gantt charts, dashboards) that are not migratable. The audit output is a written data inventory confirming record counts, schema definitions, and export format readiness.
Destination Asana workspace setup and schema provisioning
We confirm the destination Asana tier (Starter/Basic/Premium/Business/Enterprise) and create the target Projects, Custom Fields, and Portfolios (or Tags) in Asana before any data import. Custom Field schemas are provisioned with matching data types and picklist options. The Portfolio structure is configured at this step if the destination tier supports it. We use Asana's REST API to provision schema elements in bulk, validating that the 100-custom-field-per-project limit is not exceeded.
Task hierarchy and dependency mapping
We parse the workspace.pm export and build the task hierarchy (Subtasks under Tasks) and dependency pairs (predecessor-successor relationships). Circular dependencies are detected and flagged for the customer's review before insertion. The hierarchy is validated against the record count from the pre-migration audit. Where workspace.pm uses a custom status vocabulary, we map each status value to Asana's completion boolean or a custom status field, documented in the mapping reference.
Resource and assignee reconciliation
We extract every distinct assignee and Resource allocation from the workspace.pm export and match against the Asana destination's User table by email. Allocation percentages are stored as a custom numeric field on each Task. Assignees without a matching Asana User are held in a reconciliation queue for the customer's admin to provision before Task import resumes. Time entries are mapped to custom fields or a separate time-tracking structure depending on the destination tier's native support.
Production migration in dependency order
We run production migration in record-dependency order: Projects first (as containers), then Tasks (with subtasks and dependency references resolved), then Milestones, then Custom Field values (linked to Tasks and Projects), then Attachments (with the 100MB threshold checked per file), then Comments (as Stories), then Portfolio/Tag groupings, then Time Entries. Each phase emits a row-count reconciliation report. We use Asana's REST API with exponential backoff and rate-limit handling; large attachment batches use the Bulk API where applicable.
Cutover, validation, and reporting-layer handoff
We freeze workspace.pm writes during cutover, run a delta migration of any records modified during the migration window, then enable Asana as the system of record. We deliver a written inventory of all non-migrated objects: Kanban board layouts, Gantt chart configurations, dashboard reports, workflow automations, and any oversized attachments that require manual re-upload. We support a one-week hypercare window for reconciliation issues. We do not rebuild workspace.pm workflows as Asana Rules inside the migration scope; that work is documented separately for the customer's admin or an Asana implementation partner.
Platform deep dives
workspace.pm
Source
Strengths
Weaknesses
Asana
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 4 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 workspace.pm and Asana.
Object compatibility
4 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
workspace.pm: Not publicly documented. As an API-v2 gated feature, throughput is bounded by the customer's Automate subscription and confirmed with support during integration setup..
Data volume sensitivity
workspace.pm 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 workspace.pm to Asana migration scoping. Not seeing yours? Book a call.
Walk through your workspace.pm to Asana migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave workspace.pm
Other ways to arrive at Asana
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.