CSV Import and Export
Bulk-manage roadmap items with CSV files. Go to Roadmap > Settings > Import/Export. Both import and export require the manage_options capability (administrators).
Exporting
Section titled “Exporting”- Optionally filter by Product, Status, and a date range.
- Click Export to CSV.
The file downloads as roadmap-export-YYYY-MM-DD.csv with these columns:
| Column | Notes |
|---|---|
| ID | Internal post ID |
| Title | |
| Description | Plain text, HTML stripped |
| Status | Status term name |
| Category | Category term name |
| Priority | |
| Target Date | |
| Votes | |
| Comments | |
| Progress | |
| Assignee | Display name, if an assignee is set |
Values that start with =, +, -, or @ are automatically prefixed with a tab character before export, so spreadsheet software does not interpret them as formulas. This is automatic and not configurable.
Importing
Section titled “Importing”Preparing the CSV
Section titled “Preparing the CSV”The only required column is Title. Optional columns: Description, Status, Category, Priority (low/medium/high/critical), Target Date (YYYY-MM-DD), Product. Column names are matched case-insensitively.
Download a starting template with Download Sample CSV on the Import/Export screen.
Status, Category, and Product must reference an existing term - by slug, exact name, or numeric term ID. Each column takes exactly one value; a comma-separated list is rejected as invalid, since an item belongs to one product/status/category. Import never creates a new product, status, or category term on the fly.
Running the import
Section titled “Running the import”- Choose your CSV file (5 MB maximum).
- Set a Default Product, used for rows with no Product value.
- Choose an import mode:
- Create new items - every row becomes a new item.
- Update existing - matches by title and updates the existing item’s content and terms; creates a new item if no title match is found.
- Click Import CSV.
Row-level validation
Section titled “Row-level validation”Each row is validated before anything is written. A row is rejected - and the rest of the import continues - when:
- It has the wrong number of columns for the header row.
- Its Status, Category, or Product value doesn’t match an existing term.
- Its Status, Category, or Product column contains more than one value.
After the import, a notice lists up to 50 rejected rows with the line number and the specific reason (for example, Line 14 ("Dark Mode"): unknown product "mobil-app".), so you can fix the CSV and re-import just the failed rows instead of guessing what went wrong.

