Project Management migration
Field-level mapping, validation, and rollback between Azor and Asana. We move data and schema; workflows are rebuilt natively in Asana.
Azor
Source
Asana
Destination
Compatibility
11 of 12
objects map 1:1 between Azor and Asana.
Complexity
CModerate
Timeline
2-3 weeks
Overview
Azor and Asana differ fundamentally in export capability. Azor has no REST API, webhook system, or bulk export endpoint; projects and tasks must be pulled manually from individual project views or downloaded as CSV from each project. Asana's data model is richer: it supports sub-tasks, native custom fields on all plans, task dependencies, and multiple project views including List, Board, Calendar, and Timeline. We use Azor's CSV exports or screen-based sampling as the extraction layer, transform the data to Asana's task structure (flattening any sub-tasks that had no native representation in Azor), and import via the Asana API. We do not migrate Azor comments or attachments because Azor does not expose them in any documented format. Automations and workflows are not migrated; we deliver a written inventory for the customer's admin to rebuild in Asana.
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 Azor 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.
Azor
Project
Asana
Project
1:1Azor projects map directly to Asana projects. We preserve the project name, description, creation date, and any folder or group labels as project Tags or a project-level custom field. Because Azor has no workspace or team concept, we ask the customer during scoping which Asana Team or workspace each project belongs to before import. Projects are loaded first as the top-level container so that task imports have a valid parent project ID.
Azor
Task
Asana
Task
1:1Azor tasks map 1:1 to Asana tasks with title, description, due date, and assignee preserved. The Asana API requires a valid project_gid at task creation, which we resolve from the project mapping. Tasks with no assignee are flagged and left blank or assigned to the migration service account pending reassignment in Asana. Task completion status migrates as a boolean to Asana's completed field.
Azor
Task (nested)
Asana
Sub-task
1:1If Azor's source data contains flattened sub-task records identifiable by a naming convention (e.g., parent task title as prefix) or by a project-specific attribute, we reconstruct the parent-child relationship and import as Asana sub-tasks under their parent task. We flag which records were flattened and document the naming convention used so the customer's admin can verify the hierarchy post-migration. If no identifiable sub-task structure exists in Azor, all tasks are imported as top-level Asana tasks.
Azor
Tag
Asana
Tag
1:1Azor tags migrate to Asana Tags. We extract tags as a comma-separated string or array from Azor's export and map each unique tag to an Asana Tag with the same name. Tags that do not already exist in Asana are created at import time. Tags serve as the primary vehicle for carrying Azor attribute data forward since Azor has no native custom field layer.
Azor
User
Asana
User
1:1Azor user display names and email addresses map to Asana Users. We resolve users by email match against the destination Asana organization's user table. Any Azor user without a matching Asana User is flagged in the reconciliation queue for the customer's admin to provision before task import resumes. Role and permission levels are not exposed in Azor's data model and cannot be migrated; we document this gap in the scope document.
Azor
Task Status
Asana
Task Status or Section
1:1Azor's fixed status set per project (To Do, In Progress, Done) maps to Asana Sections within the project or to a custom task-status field depending on the customer's preference. We confirm the preferred mapping during scoping. Any non-standard Azor statuses are flagged for manual review before import to prevent Asana validation errors.
Azor
Task Assignment
Asana
Assignee
1:1Azor tasks assigned to a single user map to Asana's assignee field. Azor does not support multi-assignee tasks, so no split or merge logic is required. Unassigned tasks in Azor migrate as unassigned in Asana. We resolve assignee references using the User email mapping established in the User object step.
Azor
Due Date
Asana
Due Date
1:1Azor due dates migrate directly to Asana due_date in ISO 8601 format. Tasks with no due date in Azor migrate as null in Asana. We do not migrate time-of-day (due_at) since Azor does not expose time components in its date fields. If the customer needs time tracking on due dates, we recommend setting the due date to the task start and using a custom time field in Asana.
Azor
Project Group or Folder
Asana
Project Tags or Team
1:1Azor uses a simple project list hierarchy with folder or group labels. We map these labels to Asana Project Tags for visibility, or to Team membership if the customer prefers organizing by Asana Teams. We confirm the organizational preference during scoping. Projects within a folder group maintain their relative order during import.
Azor
Custom Attributes (stored in text fields)
Asana
Custom Fields
lossyAzor has no native custom field layer. Any customer-specific attributes stored in text fields, notes, or custom columns in Azor are identified during scoping, documented in a field map provided by the customer, and pre-created in Asana as custom fields before import. We request this field map at least five business days before the migration start date to allow time for Asana custom field schema setup.
Azor
None (Comments not available)
Asana
Task Comments
1:1Azor does not expose comments via any documented export or API. We cannot migrate task-level discussion history. We include a pre-migration checklist item requiring the customer to acknowledge this data gap and consider a manual export of critical comment threads before the engagement begins. Asana comment history on migrated tasks will start fresh post-migration.
Azor
None (Attachments not available)
Asana
Task Attachments
1:1Azor does not expose file attachments via any documented export format. We do not migrate attachments and flag this gap in the scope document. If the customer has attachments stored in Azor, we recommend they download them manually or export them to a shared storage location before migration and re-attach them in Asana post-migration.
| Azor | Asana | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Task (nested) | Sub-task1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Task Status | Task Status or Section1:1 | Mapping required | |
| Task Assignment | Assignee1:1 | Fully supported | |
| Due Date | Due Date1:1 | Fully supported | |
| Project Group or Folder | Project Tags or Team1:1 | Fully supported | |
| Custom Attributes (stored in text fields) | Custom Fieldslossy | Mapping required | |
| None (Comments not available) | Task Comments1:1 | Fully supported | |
| None (Attachments not available) | Task Attachments1: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.
Azor gotchas
No API means no bulk data export
No documented export format for comments or attachments
Free plan limits and per-seat pricing model
No sub-task or dependency model
Custom fields not a native feature
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
Discovery and extraction planning
We review the customer's Azor account to identify all projects, task counts, user counts, and any attributes stored in text fields or tags that represent custom data. We confirm whether CSV exports are available from each project view and identify projects that require screen-based sampling. We provide the customer with a pre-migration checklist that includes exporting comments and attachments manually if that data must be preserved, identifying which Asana Team each Azor project maps to, and providing a custom field map if any Azor text-field attributes require migration to Asana custom fields.
Asana workspace and schema setup
We create the Asana workspace structure based on the customer's organizational requirements: Teams for departmental groupings, Projects for each Azor project, and any custom fields identified in the field map. Custom fields are created in Asana before any task import so that field IDs are available during the transform phase. We confirm the task status mapping (Section-based vs custom field) with the customer's admin and pre-create any Tags that exist in Azor.
Data extraction from Azor
We extract project and task data from Azor using CSV downloads from each project view or, where CSV is not available, screen-based sampling with structured data capture. User lists are extracted separately. Tags are captured as comma-separated values per task. We validate the extraction against the Azor data view to confirm accuracy and flag any projects or tasks that could not be extracted cleanly for manual review.
Data transform and sandbox migration
We transform the Azor extract into Asana API-compatible payloads: projects first, then users for assignee resolution, then tasks with parent project IDs, assignee IDs, due dates, and tags resolved. Any sub-task flattening is applied using the documented naming convention. We run a sandbox migration into an Asana sandbox workspace (or the production workspace with a test project) and reconcile record counts before proceeding to production. The customer's admin spot-checks 20-30 tasks and confirms the tag and assignee mapping before we proceed.
Production migration
We run the full production migration in dependency order: Projects first, then Tasks with all field mappings resolved. Tags are created and linked during task import. Any custom attributes are mapped to the pre-created Asana custom fields using the customer-provided field map. Each phase emits a reconciliation report showing records imported versus records expected. We pause between phases to allow the customer's admin to review and sign off.
Cutover and handoff
We freeze writes to Azor during the cutover window, run a final delta migration of any records modified during the migration, then confirm that Asana is the system of record. We deliver a written inventory document covering migrated record counts, any records skipped due to extraction limitations (comments, attachments, custom attributes without a field map), and a section for the customer's admin to plan the rebuild of any project templates or organizational structures that exist in Azor but do not migrate as configuration.
Platform deep dives
Azor
Source
Strengths
Weaknesses
Asana
Destination
Strengths
Weaknesses
Complexity grading
Moderate Project Management migration. 4 of 8 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Azor and Asana.
Object compatibility
4 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
Azor: No public API exists.
Data volume sensitivity
Azor 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 Azor to Asana migration scoping. Not seeing yours? Book a call.
Walk through your Azor 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 Azor
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.