Import data into Orkestra
You can bring your existing work from Jira, Linear, Notion or Obsidian. Every importer follows the same preview → execute pattern: upload the file, review what will be created, then confirm. Writes are atomic — if anything fails, nothing stays half-done.
Available importers
- Jira Cloud — issues, sprints, workflow states, comments and attachments (as links).
- Linear — issues, cycles, workflow states, labels, priorities and comments.
- Notion — databases with a Status column become Projects; standalone pages go to the Wiki.
- Obsidian — full vault → Wiki tree preserving folders and wikilinks.
Trello or a generic CSV? Both supported from the Import screen in the app, though with narrower scope than the 4 above.
How the flow works
- Export from the source platform (each guide covers the exact steps).
- Preview: upload the file in Orkestra. The backend parses, validates and shows you what will be created (project, tasks, pages, unmapped users, warnings).
- Manual mapping (optional): rename workflow states, decide whether to invite missing users, mark which states count as "completed".
- Execute: confirm. Orkestra runs everything in an atomic transaction (max 60s). If it fails, nothing is created.
The preview token lives 15 minutes in Redis. If you take longer, re-upload the file. The token is single-use and scoped to your user.
Size limits
- JSON imports (Jira, Linear): up to 10 MB, max nesting depth of 10.
- ZIP imports (Notion, Obsidian): up to 50 MB.
- Notion: up to 2,000 wiki pages and 1,000 rows per CSV.
- Obsidian: up to 2,000 wiki pages, folders up to 10 levels deep (deeper ones flatten to root).
Traceability of source IDs
All 4 importers preserve the original identifier of each entity as custom fields on the created project. If you later need to cross-reference the old system, the link is there:
- Jira →
jira_id,jira_issue_type,jira_parent_key. - Linear →
linear_id,linear_parent_id,linear_project_id. - Notion →
notion_idper task. - Obsidian → no external IDs (the vault has no native IDs; files are identified by path).
Users and invitations
Jira and Linear map users by email. If the assignee/author email exists in your org, it's assigned automatically. If not, you'll see it in the preview as a missing user with two options:
- Skip: the item is imported without assignee and comments get an
[Imported from Jira/Linear — originally by X]prefix. - Invite: Orkestra creates a PENDING Invitation (organization scope, VIEWER role) and sends the invite email after the import commits.
Notion and Obsidian do not map users (their exports don't carry identity consistency). Wiki pages are created with organization scope and public visibility.
What to do if something goes wrong
- The transaction has a 60-second timeout. If your file is very large or your DB is under load, it may fail mid-way. Orkestra does a full rollback — you won't end up with a half-created project.
- If the import already committed and you want to undo it: delete the newly created project from Settings → Projects. For Wiki importers (Notion/Obsidian), delete the created pages (they all share org scope and stay grouped in the tree).
- If you're unsure what falls outside an importer's scope, the specific guide lists everything that's silently ignored or flagged with a warning.
Another platform?
If you use Asana, ClickUp, Monday, Airtable or any tool not in the list, write to soporte@orkestra.team with a sample export. All 4 current importers were built on the same pattern — adding a new one is mostly about mapping entities, not rearchitecting.