Project Management migration
Field-level mapping, validation, and rollback between Project KickStart and Asana. We move data and schema; workflows are rebuilt natively in Asana.
Project KickStart
Source
Asana
Destination
Compatibility
11 of 12
objects map 1:1 between Project KickStart and Asana.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Project KickStart is a Windows desktop application with no public API, so every migration begins with a CSV or XML export from the desktop client before any data enters Asana's API. We validate the export structure against the source file before loading, map Project KickStart's four-level outline hierarchy (Project, Phase, Task, SubTask) to Asana's Projects and Tasks with Sections for Phase-level groupings, and carry Goals, Obstacles, and Risks into custom fields rather than discarding them. Task Dependencies (finish-to-start, start-to-start) transfer via Asana's /tasks/{gid}/addDependencies endpoint using IDs resolved during migration. We do not migrate Project KickStart's Act! and Outlook calendar integration data because those sync records live outside the application data store. Automations and templates in Project KickStart do not have Asana equivalents as deployable code; we deliver a written inventory of these for your 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 Project KickStart 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.
Project KickStart
Project
Asana
Project
1:1Project KickStart Project records map to Asana Projects with the project name, description, planned start and due dates, and cost fields transferred to their Asana equivalents. The source Project ID is stored in a custom text field project_kickstart_id__c for audit traceability. Project KickStart's Projects-as-folders model maps directly to Asana's project container without structural transformation.
Project KickStart
Phase
Asana
Section
1:manyProject KickStart Phase records within a Project map to Asana Sections within the corresponding Project. Each Phase becomes a Section header with its description stored as the Section's description field. Phases in Project KickStart represent a planning grouping (typically aligned to a project milestone or deliverable) rather than a standalone work unit, so the Section model in Asana is the closest structural equivalent. Phase-level dates do not map to Asana Section dates (Sections have no date fields); date context is preserved by anchoring the first and last task dates within each Section.
Project KickStart
Task
Asana
Task
1:1Project KickStart Task records map directly to Asana Tasks. Task name, description, planned start date, due date, percent complete, estimated cost, and any custom task fields transfer to Asana Task fields. Assignee is resolved via email match against Asana workspace users at migration time. Tasks without a matching Asana user are flagged in the reconciliation report for reassignment before the task is committed.
Project KickStart
SubTask
Asana
Subtask
1:1Project KickStart SubTask records map to Asana Subtasks (nested tasks) under the parent Task. SubTask name, description, dates, and assignee transfer directly. Asana supports up to 16 levels of nesting; Project KickStart's SubTask depth is typically one level, so the 1:1 mapping holds without flattening in most cases. SubTask-level custom fields map to custom fields on the subtask record in Asana.
Project KickStart
Goal
Asana
Custom Field (text)
1:1Project KickStart Goal entries are a planning concept with no direct Asana equivalent. We preserve Goals as a multi-line text custom field (goal__c) on the Asana Project record. Goals contain project-level context, success criteria, and strategic alignment notes; we store them intact rather than splitting them into individual custom fields. Customers should verify that Asana's custom field capacity meets their Goal count and that project managers understand where to find this context post-migration.
Project KickStart
Obstacle and Risk
Asana
Task or Custom Field
1:1Project KickStart Obstacle and Risk entries map to either a dedicated Risk Task (with a custom field risk_type__c set to Obstacle or Risk) or to a custom multi-line text field on the Project, depending on the customer's scoping preference chosen during discovery. Risk title and description transfer directly. Risk links (associated tasks or milestones) are stored as text references in a risk_associated_tasks__c field. We do not create Asana's native Goals feature (a separate object at the organizational level) for Project KickStart Risks because the semantic meaning differs.
Project KickStart
Assignee
Asana
Assignee (User lookup)
1:1Project KickStart task assignees (named team members) map to Asana assignee lookups by email address. We build a reconciliation table of every distinct assignee name in the export against the Asana workspace user list resolved at migration time. Assignees without a matching Asana user are flagged for the customer's admin to provision accounts or reassign before the task import phase begins. Active/inactive status is preserved where the destination supports it.
Project KickStart
Task Dependency
Asana
Dependency
1:1Project KickStart explicit finish-to-start (FS) and start-to-start (SS) dependencies transfer to Asana via the POST /tasks/{gid}/addDependencies endpoint. We resolve source and destination task GIDs during migration, map Project KickStart FS to Asana DependentsEndpoint (task depends on predecessor), and store SS dependencies in a custom text field ss_dependency__c since Asana's native dependency model defaults to finish-to-start. Dependency chains are validated post-load to ensure no circular references were introduced during the transform.
Project KickStart
Note
Asana
Task comment or description
1:1Project KickStart Notes at the Project, Phase, or Task level transfer to Asana Task comments (for task-level notes) or to the Project description field (for project-level notes). Notes are stored as plain text; rich formatting in the source export is preserved where the format is supported. Phase-level notes attach to the first task within that Phase's Section as a comment. We do not create separate Note objects in Asana because Asana does not have a standalone Note object at the project level outside of descriptions and comments.
Project KickStart
Attachment
Asana
Attachment
1:1Project KickStart file attachments linked to Tasks and Projects transfer to Asana Attachments on the corresponding Task or Project record. We map the file path reference from the export to an uploaded file in Asana, preserving original filename and linked record. Customers must provide the actual attachment files alongside the export CSV; file references without corresponding files are logged as missing attachments in the reconciliation report. File path references are updated to reflect Asana's attachment storage location post-upload.
Project KickStart
Comment
Asana
Comment
1:1Project KickStart comment log entries on Tasks map to Asana Task comments. Author name, comment text, and timestamp transfer directly. Asana does not support comment threading in the same structure as Project KickStart's log model; comments land in reverse-chronological order in the task's activity panel. Author is stored as the comment text prefix if no matching Asana user is found by email.
Project KickStart
Project Template
Asana
Project Template
1:1Project KickStart Project Templates (outline structure with placeholder tasks and phases) export as Projects in the CSV. We recreate them in Asana as Asana Templates by saving the migrated Project as a Template in Asana. The template retains the Phase/Section structure, task outline, placeholder task names, and planned dates but not the original assignees (templates in Asana use placeholder data). Customers use the template to kick off new projects in Asana post-migration.
| Project KickStart | Asana | Compatibility | |
|---|---|---|---|
| Project | Project1:1 | Fully supported | |
| Phase | Section1:many | Fully supported | |
| Task | Task1:1 | Fully supported | |
| SubTask | Subtask1:1 | Fully supported | |
| Goal | Custom Field (text)1:1 | Fully supported | |
| Obstacle and Risk | Task or Custom Field1:1 | Fully supported | |
| Assignee | Assignee (User lookup)1:1 | Fully supported | |
| Task Dependency | Dependency1:1 | Fully supported | |
| Note | Task comment or description1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Comment | Comment1:1 | Fully supported | |
| Project Template | Project Template1: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.
Project KickStart gotchas
No public API requires manual export-based migration
Windows-only desktop client limits access patterns
Goal, Obstacle, and Risk data requires custom mapping
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 scoping
We schedule a scoping session with the customer to confirm the export method (CSV or XML from the Project KickStart desktop client), identify all Projects to migrate, and inventory custom fields, Goals, Obstacles, Risks, and dependency types in use. We confirm Windows environment access for the export step and validate that the export covers all hierarchy levels (Project, Phase, Task, SubTask). The scoping output is a written migration scope document with record counts per object type, a custom field inventory, and a list of any attachments that must be provided as separate files.
Asana workspace and schema preparation
We configure the destination Asana workspace before data loads begin. This includes provisioning custom fields (goal__c, risk_type__c, risk_description__c, ss_dependency__c, project_kickstart_id__c, task_kickstart_id__c), creating a project template in Asana for any Project KickStart Project Templates, and setting up the dependency lookup table. We also configure Asana user permissions to ensure the migration user has task creation and custom field write access. All schema work happens in the customer's Asana workspace or a designated sandbox project before production data loads.
Export validation and data transformation
We validate the customer's Project KickStart export file against the source data, checking for truncation in long text fields, missing dates on tasks, orphaned SubTasks (SubTask without a parent Task), and circular dependency references. We build a transformation pipeline that maps each Project KickStart hierarchy level to its Asana equivalent, resolves Phase dates to Section-anchored task dates, and splits Goals/Obstacles/Risks into custom fields. The validation report is shared with the customer before the load begins.
Asynchronous task creation with dependency resolution
We create Projects and Sections first, then Tasks in parent-first order (Projects, then Phases/Sections, then Tasks, then SubTasks) to satisfy Asana's workspace hierarchy requirements. Dependencies are resolved in a second pass: after all tasks have GIDs assigned, we POST to /tasks/{gid}/addDependencies for each finish-to-start dependency using the resolved GID pairs. Start-to-start dependencies are written to the ss_dependency__c custom field. We use exponential backoff on Asana's API responses (1500 calls per minute on paid tiers) and chunk batches to avoid rate limit errors.
Attachment and comment migration
After all tasks are created, we migrate attachments by uploading files to Asana and linking them to the corresponding Task or Project record. Comments from Project KickStart are posted to the Asana task comment stream in chronological order. Attachments without corresponding files in the customer-provided upload package are logged as missing in the reconciliation report. We do not migrate Act! or Outlook calendar sync records because those entries do not reside in Project KickStart's own data store.
Reconciliation, validation, and automation handoff
We run a full reconciliation comparing record counts per object type, spot-checking 25-50 tasks against the source Project KickStart export to verify field-level accuracy. We deliver the Goals, Obstacles, Risks, and dependency status in a written handoff document. We do not migrate Project KickStart's implicit planning automations (such as auto-scheduling triggers) as Asana Rules; we document the planning behavior observed in Project KickStart and the recommended Asana Rules equivalents for the customer's admin to implement post-migration.
Platform deep dives
Project KickStart
Source
Strengths
Weaknesses
Asana
Destination
Strengths
Weaknesses
Complexity grading
Standard Project Management migration. 2 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 Project KickStart and Asana.
Object compatibility
2 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
Project KickStart: Not applicable — no programmatic API surface published.
Data volume sensitivity
Project KickStart 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 Project KickStart to Asana migration scoping. Not seeing yours? Book a call.
Walk through your Project KickStart 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 Project KickStart
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.