XWECAN / Workspaces / System 03 of 05
2024Recorded work
Partner
Asana-to-ClickUp migration with source references
Move the agency’s tasks into a new workspace while keeping a way back to the originals. Tests checked task completion states and subtasks; full reconciliation remained open.
- Noah’s contribution
- Configured destination source-ID fields, mapped descriptions and completion states, revised the import and added handling for subtasks.
- Historical stage
- Historical working test. Revised subtask creation is narrated as working; custom-field translation, assignee reconciliation and complete migration acceptance remain open.
- Part of the business
- XWECAN overview ↗
- Asana
- ClickUp
- Automation scenario
- HTML-to-Markdown
- Custom-field mapping
Inside this system
The workflow
The handoffs
inside the work.
Follow the main path and its branches. Select a step for context; the account below explains what was built, tested or planned.
- Asana source tasks
Read section, project and task identity alongside descriptions and completion states. - Retained source references
Store Section ID, Project ID and Task ID on the ClickUp task for later retrieval. - Transform task content
Convert HTML descriptions to Markdown and choose destination service lists. - Map status and hierarchy
Translate completed state and preserve parent tasks with their subtasks. - ClickUp import test
Create the mapped tasks and subtasks with the source references attached. - Inspect test output
Review descriptions, completed states and subtask relationships. - Correct mapping and rerun
Reset incorrect test imports and run the revised configuration. - Deferred field and assignee mapping
Source IDs permit later lookup; full custom-field and assignee reconciliation remained open.
Key records
The information
that carries forward.
| Record | Information | Purpose |
|---|---|---|
| Source task reference | Asana Section ID, Project ID and Task ID on the destination task. | Maintain a durable association with the source item for follow-up retrieval. |
| Destination task | Imported body/description, destination list and mapped completion state. | Give the operating team a usable ClickUp task while preserving reconciliation options. |
| Task hierarchy | Parent task and imported subtasks. | Preserve actionable work beneath the main task rather than flattening every item. |
| Deferred mapping | Asana custom-field option IDs, section relationships and assignee identities discussed in the recording. | Identify what needs translation rather than assuming a copied text label is sufficient. |
Inside the system / 01
Move the task without losing the path back
The migration starts with a practical constraint: getting the agency’s work into ClickUp did not require every source field to be perfectly translated in the first pass. Noah created custom fields to retain the Asana section, project and task IDs. Once a ClickUp task retained that association, the source could be queried again for information that had not yet moved.
This was a deliberate separation between an initial usable import and later enrichment. A missing field would not have to be recovered by manually searching for a task with a similar title. The recorded design kept the specific source reference on the destination record. It did not establish that every follow-up reconciliation had already occurred.
Inside the system / 02
Organize around the work the agency delivers
The recording considers more than one destination layout. Noah first discusses putting tasks into one list and moving them afterward, then describes using PR and marketing lists where those service categories make sense. That choice connects the migration to the wider client-workspace work: destination structure should make the agency’s tasks easier to operate, rather than merely reproduce the source layout.
The task description needed transformation as well. Asana’s HTML content was converted to Markdown for ClickUp. During the first test, empty descriptions appeared to bring across body tags, and the recording raises a question about whether archived work was being included. These were observed issues in a working session, not evidence of a clean first-pass migration.
Inside the system / 03
Use the test to expose the missing cases
Noah identified a configuration mistake, cleared the test items and revised the import. He changed the completed-state mapping and added subtask handling. Later in the recording he reports that subtasks appear to be arriving correctly: an iteration of mapping, inspection, correction and another test.
Completion states and hierarchy matter because a task import can look superficially successful while changing the meaning of the work. Completed tasks should not quietly become active obligations, and subtasks should remain connected to their parent. The recording supports Noah addressing those cases. It does not provide an item-by-item reconciliation or proof that all historical records were transferred correctly.
Inside the system / 04
Distinguish the working import from finished reconciliation
Custom fields were more involved than copying text. Noah explains that option values have their own identifiers and would need translation between Asana and ClickUp. Retained section IDs could support a later mapping into the appropriate destination custom-field values. Assignee carryover was also described as possible by retrieving the source task and translating the associated people.
The migration reached testing with revised status and subtask handling. Full field and assignee reconciliation remained follow-up work. Retained source IDs provided a way to investigate transferred tasks.
Within XWECAN