Export and import
Your data is yours — killBottleneck gives it back in whatever shape the situation calls for: a picture for a presentation, a spreadsheet for a report, JSON for another instance.
Exporting a map
- PNG / PDF — the map as an image, true to the screen: captured in your active skin and light/dark mode, including the background color.
- JSON — the whole project as a portable file, with names or without names (the responsible people and assignees cleared; automation names stay, they describe the process). The file holds the title, the description, the complete goal structure with statuses, deadlines, performers and automation requests — and the map's automation rules, so a kanban board survives the trip. The "without names" export strips everything personal from the rules: "assign a person" actions and notifications to a concrete e-mail are dropped and a rule with a condition on a concrete person is left out entirely (roles like "node owner" or positions stay). Older backups carrying task items import safely: the items are skipped and counted (
tasks_skipped) — since v0.34 a task is a goal with an assignee or a deadline.
Exporting tasks
The Tasks page exports the current filter as CSV, and can produce a Markdown project report — ready to paste into a document or a chat. The My day panel has its own PNG export, and the project dashboard saves as a PDF.
All my data in one file
My account (the menu under the avatar) has a My data section with Download all my data. You get one file killbottleneck-export-YYYY-MM-DD.json (format killbottleneck.export/1) with everything you can see in your instance:
- every project you can see — your own, team and shared with you — in the same shape as a single map export (
killbottleneck.map/1): it can be imported into another instance; - per project tasks, rules, comments, the change log, who can see it (team access, shares) and a list of attachments — name, size and the file path or link; the files themselves are not bundled into the JSON, download them from the project;
- outside projects the idea stash, calendar events (own and invited), deadline reminders, time tracking, external contacts, notifications, rule templates, the member list (name, e-mail, role and who manages AI or the structure), the organization name and purpose.
What is not in the file: other people's private projects (even an admin sees no more than what is shared with them), public notice boards of other people's projects, attachment files (only their list), API keys, the AI agent registry and bug reports.
What can be brought back from the export: next to the download there is Upload data from an export — it uploads the whole file: every project (map and rules; archived ones stay archived) and the idea stash. Everything belongs to the uploader, nothing is shared with anyone; the organization structure is not created; assignments to people who are not in this instance are cleared and counted. Comments, attachments, shares and the change log stay in the file for reading only. A single project can still be uploaded via Import a project.
The download works even after the trial has expired (the "Download data" link sits right in the top bar): writing is paused, but nobody holds your data hostage. Very large instances are truncated (500 projects; 2,000 rows per list and project; 1,000 changes per project) and the file says so in truncated (which part, for which project); a failed query is admitted in errors. At most one export runs on an instance at a time and at most five per minute.
Importing a project
Import lives in the menu next to the New project button and accepts three formats:
| Format | What happens |
|---|---|
| killBottleneck JSON | The project is recreated: structure, statuses, deadlines, performers, tasks and automation rules (references are remapped to the new goals). |
| Asana project export (CSV) | Sections become map branches, tasks become goals, subtasks become child goals; statuses, due dates, descriptions and assignees carry over. |
| Trello board export (JSON) | Lists become branches, cards become goals, checklists become child goals; statuses, due dates and descriptions carry over. |
Everything is converted locally in the browser — nothing calls Asana or Trello. The limits: 400 items and 5 MB per file.
What an import deliberately does
An import always creates a new project owned by whoever imports it, and regenerates the goal identifiers so it cannot collide with the original. It shares nothing with anybody and sends no notifications — collaborating on an imported project starts with you sharing it manually. Assignments to e-mail addresses unknown on this instance are dropped, and the import tells you how many.
Not transferred: attachments, comments, sharing, archiving and numbering series.
The import speaks plainly — messages you may meet:
- "We dropped {N} assignments — that person isn't here yet."
- "{N} automation rules imported" / "{N} rules were skipped — they could not be created on this map." (an invalid rule is openly skipped, nothing vanishes silently; an e-mail unknown to the instance is dropped from the rule and counted among the assignments)
- "The project was shared with nobody — sharing starts with you."
- "The file has {N} items — the import handles at most 400." / "The file is over 5 MB."
- "File not recognized — we take a killBottleneck export (.json), Asana (CSV) or Trello (JSON)."
Next
- Public maps — sharing without exporting anything
- Backup and restore — the whole instance, not one project

