Bring your existing tasks onto UnityFreak from Jira, Trello, Asana, Linear, ClickUp, Monday.com, Notion, or GitHub Issues — export (or link a repo), pick the source, and pick up where you left off.
[email protected]; [email protected]) to bring a task in with several assignees — every address that matches a project member is added, not just the first.labels array — CSV-mapped sources (Jira CSV, Asana, Monday, Notion), Jira JSON, and Trello don't carry labels through.Every import — regardless of source — brings across each task's title, description, status/column, priority, and due date. Assignees migrate too, but only by matching an identifier against an existing member of the destination project: an account email for Jira/Trello/Asana/Linear/ ClickUp/Monday/Notion/Jira JSON, or a GitHub username for GitHub Issues. A plain display name ("Dev User" instead of "[email protected]") won't match anyone, and the task simply imports unassigned. For email-matched sources, a cell can hold more than one email separated by semicolons ([email protected]; [email protected]) to import a task with several assignees — every address that matches a project member is added, not just the first.
What does not come across for most sources: sprints, epics, comments, attachments, and change history. Three sources are the exception — Jira JSON (Full Export) imports sprints (as a real Sprint, dates included), epics, comments, and attachment links (metadata and the original Jira URL only — files are not downloaded or re-hosted); GitHub Issues imports labels, milestones, and comments, but not attachments; and Linear imports its cycles as real cycles, with a default two-week range you can edit in Planning. Labels/tags are otherwise a special case: they import from Linear, ClickUp, GitHub Issues, or a raw JSON upload that already contains a labels array on each task — the CSV column-mapping flow (Jira CSV, Asana, Monday, Notion), Jira JSON, and Trello's list-to-status mapping don't carry labels through, so tags on those imports need to be re-applied by hand afterward.
Any column that doesn't match one of the fields above — a "Severity" or "Budget" column from Jira, say, or a Trello card field — can come across too, as its own custom field on the project, with the type guessed from its values (numbers, dates, yes/no, or plain text). It's on by default in the import step; uncheck any column there you'd rather leave out.
From your Jira project's issue list: Issues → Export → CSV (the current filter's fields). Include at least Summary, Description, Status, Priority, Assignee, and Due date in the export.
Jira's default CSV export puts the assignee's display name in the Assignee column, not an email address — if your Jira admin has added an assignee email field to the export configuration, map that column to Assignee instead of the name column during the import step below to get real assignee matching. Need sprints, epics, comments, or attachments too? Use Jira JSON (Full Export) instead.
Jira only exports one assignee per issue, but the import accepts more: to bring an issue in with multiple assignees, edit that row's Assignee cell in the exported CSV to list each email separated by a semicolon ([email protected]; [email protected]) before uploading — the task imports with every matched address assigned.
From your board: the board menu (Show Menu) → More → Print, export, and share → Export as JSON. UnityFreak reads the board's lists and cards directly from that file — no column mapping needed.
Trello exports don't include an assignee email at all, so Trello imports always land unassigned — plan to reassign tasks manually after the import. You'll map each Trello list to a UnityFreak status (or leave it blank to skip status) before the import runs.
From your Asana project: the project menu → Export/Print → CSV. If your Asana plan lets you customize which columns are included, add Assignee Email to the export alongside the default Assignee column — UnityFreak prefers the email column automatically when both are present, since assignee matching only works by email.
Asana's Notes column maps to the task description and Section/Column maps to status automatically — no manual mapping needed for either.
Asana only exports one assignee per task, but the import accepts more: to bring a task in with multiple assignees, edit that row's Assignee (or Assignee Email) cell in the exported CSV to list each email separated by a semicolon ([email protected]; [email protected]) before uploading — the task imports with every matched address assigned.
From your Linear workspace: workspace settings → Export a CSV of your issues. Upload it directly — Linear's columns (Title, Description, Status, Priority, Assignee, Labels, Estimate, Cycle, Project) are recognized automatically, with no mapping step.
Cycle becomes a cycle — Linear's CSV carries no dates for it, so each imported cycle gets a two-week range starting the day of the import, which you can edit in Planning afterwards. Rows sharing a cycle name land in the same cycle, and re-importing the same file reuses the cycles already there instead of duplicating them. Project becomes a real Epic. Linear's export has no separate assignee-email column, so most imports realistically land unassigned — reassign manually afterward.
From your ClickUp List or Space: ⋯ menu → Export → CSV. Upload it directly — ClickUp's columns (Task Name, Description, Status, Assignees, Priority, Due Date, Tags) are recognized automatically, with no mapping step.
ClickUp tasks can have multiple assignees — only the first one imports; the rest are dropped, so double-check multi-assignee tasks after import. Like Linear, ClickUp's export has no assignee-email column, so most imports land unassigned.
From your board: the ⋯ menu → Export board to Excel/CSV. Monday boards have no fixed column schema — every workspace names its fields differently — so you'll confirm a column-mapping step (the same one Jira CSV/Asana use) before the import runs. Common defaults (Name, Status, Priority, Person, Due Date) are pre-guessed for you, but review the mapping carefully.
From your database: ⋯ → Export → CSV (leave "Include subpages" off unless you specifically want subpage rows in the export). Like Monday, Notion databases have no fixed schema, so you'll confirm a column-mapping step with pre-guessed defaults (Name, Status, Priority, Assign) — review it carefully.
This is a separate, richer source from "Jira CSV" above — it requires Jira's full REST issue export (a JSON file shaped like { issues: [...] }), not the CSV export. Upload it directly — no column mapping needed.
In exchange for the different file format, Jira JSON imports sprints (as real, dated Sprints — Jira's modern Sprint export format only; the older GreenHopper string-encoded format isn't parsed), epics (best-effort — Jira's epic-link custom field varies per instance), comments (matched to a project member by email when possible, otherwise attributed to whoever ran the import), and attachment links (metadata and the original Jira URL only — files are not downloaded or re-hosted).
No file to export at all — link a GitHub repository from this project's Git Integration settings first, then pick it from the import screen. UnityFreak pulls every issue (pull requests are automatically excluded) directly from GitHub's API.
Labels import with GitHub's own colors, and milestones become real UnityFreak milestones. Assignees and comment authors are matched by GitHub username, not email — GitHub doesn't reliably expose a reachable email address — so a matching username must also already be a member of this project. Only an issue's first assignee imports. Comment import fetches each issue individually and may come back partial on very large repositories if a comment fetch times out — the issue itself still imports either way.
From Project Settings → Import / Export, choose the matching source and upload the file you exported above (or, for GitHub Issues, pick a linked repository — no file needed). For sources with no fixed schema (CSV, Jira CSV, Asana, Monday, Notion), UnityFreak auto-detects columns it recognizes and shows a mapping step so you can adjust or fill in anything it missed before confirming. Fixed-schema sources (Linear, ClickUp, Jira JSON) skip that step and import directly.
Imports over 20,000 rows only bring in the first 20,000 — split a larger export into batches if you need everything. A progress bar tracks the import while it runs; large imports can take several minutes.
Once the import finishes, work through this checklist: