Asana Migration: Move Work Without Losing History
Migrate into Asana with an inventory, field map, pilot import, dual-run week, and validation — so boards, owners, and dates survive and the team trusts the new system.
Quick answer
Migrate into Asana with an inventory of projects, tasks, sections, owners, due dates, and attachments, a field map, a pilot import, a dual-run week, and validation with the people who live in the data — so history survives and the team trusts the new system. Do not big-bang cutover from a messy spreadsheet on a Friday.
- Inventory source objects before mapping
- Map fields — do not invent columns
- Pilot one project / team / client
- Dual-run for a week
- Validate with sceptic users
- Archive messy history instead of poisoning the new board
Asana migration rules
- Inventory first — Typical objects: projects, tasks, sections, owners, due dates, and attachments.
- Pilot beats big-bang — Prove a small Asana import before you move everything.
- Integrations after the pilot — Research names Slack, Microsoft Teams, Google Workspace, Salesforce, and Zapier on the Asana side — confirm the connectors your work loop depends on.
- Do not migrate the wrong job — Asana is cross-functional work management. Do not import a CRM pipeline or a marketing course catalogue and expect it to become cross-functional work management.
- Sceptics validate — If the people who live in the data do not trust the import, managers will not either.
Asana migration path
Asana migration map

1. Inventory source objects and decide what not to bring

Live set
You can name the boards that still get weekly updates.
Museum
Five years of stale rows — archive files, do not import as open work.
Wrong objects
If you are mapping CRM deals or LMS courses, stop — Asana is cross-functional work management.
List projects, tasks, sections, owners, due dates, and attachments in the current source (Sheets, another work OS, or email). Mark each: migrate live, archive as files, or drop. 1. Count live vs stale items — stale work should not become “To do” in Asana.
- Capture owners, dates, comments, and attachments as first-class — not as a notes dump.
- Write the exclusions: personal lists, duplicate boards, and the wrong job cluster (an engineering issue tracker or a PowerPoint Gantt add-in). Worked example: Harbor Marketing (14 people across brand, web, and ops) inventories 14 spreadsheets and migrates two production boards. The rest become a read-only archive folder.
2. Map fields before you touch bulk import

Clean map
Every required field has a source and an owner.
Mystery columns
Unmapped fields become a Notes dumping ground — stop and decide.
Orphan owners
If names do not match seats, the board will look assigned and be ownerless.
Build a field map: source column → Asana property → transform → owner. 1. Owners must resolve to real users, not free-text names.
- Status values must match the lists you will actually use.
- Dates and timezones need an explicit rule.
- Comments/files either attach or get a documented “not migrating” label. Worked example: Harbor Marketing (14 people across brand, web, and ops) refuses to import until 20 sample rows survive the map without a mystery column.
3. Pilot import one team — then run the real loop

Pilot pass
Sceptics find their work; managers see status without a sheet.
Pilot messy
Fix mapping and permissions; do not import the rest “to save time.”
Pilot empty
You imported structure without live items — that is not a pilot.
Import one site, one role, one client, or one squad. Then run create one project with owners, move three tasks across a board or list, and show status on a timeline on the pilot set. 1. Import, then immediately a non-admin owner updates a task and a manager sees it on the project without an admin screenshot.
- Ask a sceptic user to find “their” items without help.
- Time how long a manager takes to answer “what is late?”
- Fix the map before the next batch. Worked example: Harbor Marketing (14 people across brand, web, and ops) will not schedule a cutover until the pilot can a non-admin owner updates a task and a manager sees it on the project without an admin screenshot.
4. Dual-run a week, then freeze the legacy source

Cutover ready
Seven matching days; sceptics stopped using the sheet.
Split brain
People still edit both — extend dual-run and kill one write path.
History poison
Import active records only; archive messy history as files.
Run old and new in parallel for a week. Spot-check records sceptic users care about, then freeze the legacy source. 1. Dual-run rules: Asana is the write path; the old sheet is read-only after day 3 if the pilot held.
- Daily: five sceptic spot-checks (late items, owners, attachments).
- Connect remaining integrations only after the pilot week. Research names Slack, Microsoft Teams, Google Workspace, Salesforce, and Zapier on the Asana side — confirm the connectors your work loop depends on.
- Cut over on a quiet day — not month-end reporting. Worked example: Harbor Marketing (14 people across brand, web, and ops) keeps the old export until Asana matches for seven consecutive days, then revokes edit access on the spreadsheet.
Common Asana migration mistakes
Big-bang Friday cutover
You will spend the weekend reconstructing owners from Slack. Pilot + dual-run exists to avoid that.
Importing the museum
Stale rows become fake backlog. Archive them.
Skipping sceptic validation
Admins always think the import looks fine. Operators find the missing attachments.
Migrating the wrong product job
If the source is really an engineering issue tracker or a PowerPoint Gantt add-in, Asana will not become that system by import.
Wiring every integration on night one
Broken sync on a bad map multiplies errors. Integrations after the pilot.
Asana checklist
Bring these questions to every demo
Ask vendors to show the workflow live, not just describe it.
- 1Inventory source objectsprojects, tasks, sections, owners, due dates, and attachments
- 2Run a pilot importOne segment first; fix mapping before bulk.
- 3Validate with operatorsSpot-check records they care about before cutover.
Frequently asked questions
Can we skip the dual-run?
Only if the dataset is tiny and reversible. Most SMB/mid teams regret skipping a week of parallel use.
What if history will not map cleanly?
Import active records first. Archive messy history as files rather than poisoning the new system of record.
Should comments and files come over?
If people still need them to do the work, yes. If they are CYA noise, archive. Decide per object in the inventory, not during bulk load.
Who should run the import?
The workspace owner plus one operator from Harbor Marketing — not a vendor alone. Operators catch mapping errors vendors will not see.
When do we connect Slack?
After the pilot loop works in Asana without chat as the system of record. Research names Slack, Microsoft Teams, Google Workspace, Salesforce, and Zapier on the Asana side — confirm the connectors your work loop depends on.
Was this article helpful?
Have more questions? Contact our support team.
SoftwareGlimpse Updates
Want clearer software shortlists? Get buying guides and comparisons by email.
Newsletter coming soon.