Why Monday.com Can't Import Subitems Natively
Monday.com has a built-in CSV import feature, but it only supports creating top-level items in a board. If you try to import a file that includes subitems — tasks under projects, line items under orders, contacts under clients — monday.com simply ignores the hierarchy and either fails or creates everything at the parent level.
This is a well-known limitation that affects teams trying to:
- Migrate data from another project management tool (Asana, Jira, Trello) that has a task/subtask structure
- Import from a spreadsheet that has a parent/child hierarchy
- Re-import a monday.com board export that includes subitems
- Bulk-create a project template with predefined subitems under each parent item
The workaround teams resort to — creating subitems manually one by one — is time-consuming and error-prone. That's exactly why we built Monday.com Inspector.
Monday.com's native CSV import creates top-level items only. There is no official way to bulk-import subitems through the monday.com UI. See our full CSV import comparison guide →
The Solution: Monday.com Inspector
Monday.com Inspector is a free, open-source Chrome extension that adds an inline panel to every monday.com board page. Its Import tab handles what monday.com can't: creating subitems under the correct parent items in bulk, from a CSV or Excel file.
Key capabilities for subitem import:
- Flat CSV import: Map a "parent" column (by item name or ID) and a "subitem name" column — the tool finds or creates each parent and adds subitems beneath it.
- Monday.com export re-import: Upload a monday.com XLSX board export directly. Groups, parent items, and subitems are all preserved automatically.
- Full column support: Import status, people, date, timeline, dropdown, checkbox, text, numbers, link, phone, email, and rating columns — for both parent items and subitems.
- Live progress tracking: Real-time progress bar with percentage, ETA, rows/sec rate, and per-row status (success / error / pending).
- No row limits: Import thousands of subitems in one operation. Rate limit handling and automatic retry built in.
Monday.com Inspector is completely free, open source, and requires no account. Your API token stays in your browser. Privacy Policy →
How to Import Subitems in Monday.com: Step-by-Step
Step 1: Prepare your CSV file
Your CSV file needs at minimum three columns:
- Parent Item — the name (or ID) of the parent item the subitem belongs to
- Subitem Name — the name of each subitem
- Any other subitem columns you want to populate (status, assignee, date, etc.)
Here's an example of a valid flat CSV format for subitem import:
Parent Item,Subitem Name,Status,Assignee,Due Date "Website Redesign","Write homepage copy","Working on it","Alex Johnson","2026-04-15" "Website Redesign","Design mockups","Done","Jordan Smith","2026-04-10" "Website Redesign","Developer handoff","Not started","","2026-04-20" "Mobile App v2","Fix login bug","In Progress","Taylor Brown","2026-04-12" "Mobile App v2","Update UI components","Not started","Alex Johnson","2026-04-18"
If your CSV column names exactly match the column names in your monday.com board (case-insensitive), the tool will auto-match them. This saves time on column mapping.
Step 2: Install Monday.com Inspector
If you haven't already, install the extension from the Chrome Web Store:
After installing, you'll be prompted to enter your monday.com API token. You can find this in monday.com → Profile (avatar) → Admin → API. The token is stored locally in your browser and never sent anywhere except the monday.com API.
Step 3: Choose your importer — inline panel or full-page
Monday.com Inspector ships with two import surfaces. Pick the one that fits the job:
- Inline Inspector panel — slides in on the right side of your board. Best for quick imports while you're already inside monday.com.
- Full-page Importer (v1.4+) — opens in its own browser tab with a clear 4-step stepper (Connect → Upload → Map → Run), a sticky footer with import counts, and room for big mapping tables. Best for medium-to-large imports where you want all the room you need.
Both routes share the same code path (parsers, column-type resolution, retry logic, Connect Boards name→ID lookups), so the result is identical. The full-page Importer just gives you more breathing room for spreadsheets with 30+ columns.
To open the full Importer: click the extension icon → Importer. Or, if you've already started inside the inline panel, click ↗ Open Importer at the top of the Import tab — it hands off your current board context via URL param.
To open the inline panel: navigate to the monday.com board, click the extension icon, then Open Inspector Panel.
Step 4: Upload your file and map columns
Drop your CSV or XLSX onto the upload area, or click to browse. Once parsed, the column mapper appears.
What you'll see:
- For flat CSV files: pick the column that identifies the parent item (by name or ID), pick the subitem-name column, then map the rest.
- For monday.com classic XLSX exports: the layout is auto-detected. Groups, parent items, and subitem sections are parsed without any extra steps. The Name column is auto-mapped to the item name and shown as a green confirmation row at the top of the mapping table.
Read-only board columns (mirror, formula, auto-number, lookup, last_updated, item_id, button, file, and Creation log) are silently filtered out from both the mapping table and the dropdown — they can't be written via the API, so showing them would just create dead rows. The skipped columns are listed under a disclosure so nothing disappears without notice.
Connect Boards (board_relation) and Dependency columns ARE writable — see the dedicated section below.
Multi-level boards heads-up: on multi-level boards, parent items' column values are computed rollups from their children. If you map a column to a parent row that ends up with children, monday.com keeps its rolled-up value and the write silently no-ops. Map the leaf items instead.
Step 5: Start the import and track live progress
Click Start Import. You'll see a live progress view with:
- A percentage progress bar that updates in real time
- Counts of succeeded, failed, and remaining rows
- An estimated time remaining (ETA) based on current processing rate
- A rows/sec rate indicator
- A scrollable row-by-row list showing the status of each item (✓ success, spinner in progress, ✕ error)
If any rows fail, the error message is displayed next to each row so you can identify and fix the issue. You can re-run the import for just the failed rows after fixing the data.
Install Monday.com Inspector for free and import your first batch of subitems in under 5 minutes.
Supported Column Types for Subitem Import
Monday.com Inspector covers every writable monday.com column type. The Importer formats your CSV value into the JSON shape that monday's API expects (so you don't have to). Here's the cheat sheet:
| Column Type | CSV Format | Example |
|---|---|---|
| Text | Plain text string | Any text |
| Long Text | Plain text, multi-line OK | Notes go here… |
| Numbers | Numeric value | 42 or 3.14 |
| Status | Label name (case-insensitive) | Done, Working on it |
| Dropdown | Single label, or comma-separated for multi-select | High Priority or Bug, Backend |
| People | Person's full name OR email (auto-resolved against your workspace) | Alex Johnson or alex@x.io |
| Date | YYYY-MM-DD (also accepts DD/MM/YYYY and MM/DD/YYYY) | 2026-04-15 |
| Timeline | Start–End date range | 2026-04-01 - 2026-04-15 |
| Checkbox | true/false, yes/no, 1/0, x, ✓ | true |
Address, optional |Display Name suffix | user@example.com|Sam K | |
| Phone | Number, optional |XX ISO-2 country suffix | +44 20 1234 | GB |
| Link | URL, optional |Display Text suffix | https://x.io|Our site |
| Rating v1.5 | Number 1–5 (or stars: ★★★★) | 4 |
| Country v1.5 | ISO-2 code, or CC:Country Name | US:United States |
| Hour v1.5 | 24h or 12h time | 14:30 or 2:30 PM |
| Week v1.5 | Week range as Start–End | 2026-04-01 - 2026-04-07 |
| Location v1.5 | Address, optional |lat,lng | 221B Baker St|51.5237,-0.1585 |
| World Clock v1.5 | IANA timezone | America/New_York |
| Connect Boards v1.5 | Item names from the linked board, item IDs, or a mix (comma-separated) | Project Atlas, 1234567890 |
| Dependency v1.5 | Item IDs (numeric, comma-separated) | 1234567890, 1234567891 |
| Tags | Tag IDs (numeric, comma-separated) | 123, 456 |
Connect Boards (board_relation): match by name or ID
Connect Boards columns reference items on a different board. monday.com's API needs the linked items' numeric IDs, but humans usually only have item names in their CSV. The Importer handles both:
- If the cell contains numeric IDs (e.g.
1234567890,1234567891) — they're sent as-is. - If the cell contains item names (e.g.
Project Atlas, Project Beta) — the Importer fetches items from the linked board(s), builds a name → id map, and resolves your names automatically. The lookup is cached per board for the lifetime of the import, so a 200-row CSV does ONE round-trip per linked board, not 200. - Mixed values are fine — numeric tokens pass through, names are resolved.
If a name doesn't match any item on the linked board, that token is silently skipped (rather than failing the row). The Importer's per-row error reporter will tell you which rows ended up empty.
Two things that DO fail loudly:
- Linked board is unreadable — if your API token doesn't have access to the linked board, the row's per-row error says: "Connect Boards: cannot read the linked board(s) [9999] — your API token may not have access. Map this column with numeric monday item IDs, give your token access to the linked board, or unmap the column."
- Column has no linked board configured — the per-row error says: "Connect Boards column ... has no linked board configured in its settings — name lookup is impossible. Use numeric monday item IDs in this cell, or unmap the column from your import."
Escape hatch: if the Connect Boards columns on your board cause every row to fail, tick the "Skip Connect Boards / Dependency columns on this import" checkbox at the top of step 3. Items still get created with all OTHER mapped columns — just without the linking. Use this when you don't have access to the linked board(s) or the link can be added later by hand.
If your import shows errors — smart recovery (v1.6.2+)
You don't have to get every column mapping perfect on the first try. When an import finishes with failures, Monday.com Inspector shows a recovery banner at the top of the progress panel that:
- Names the column(s) most likely causing the failures — parsed from the actual per-row error messages monday.com returned.
- Offers a one-click "Skip these column(s) & re-run" button — it un-maps the flagged columns and re-imports everything else immediately. The rows that failed only because of those columns now succeed.
- Gives a "Back to column mapping" shortcut that scrolls you to step 3 so you can adjust mappings by hand.
- Keeps the full per-row error table + a "Copy all errors" button so you can diagnose anything that's still failing.
The simple rule: if you see errors during import, unmatch the flagged columns and run again. A column that monday.com rejects (a value format it doesn't like, a Connect Boards column you can't resolve, a status label that doesn't exist on the board) never has to block the rest of your data.
Read-only column types we filter out
The following types are computed by monday.com and can't be written via the API. The Importer filters them out automatically — both the file headers (e.g. a "Creation log" column from a monday export) and the board-side dropdown options:
- mirror — pulls values from a linked board's items
- formula — computed from other columns
- auto_number — monday-assigned sequence
- lookup — calculated rollup
- creation_log / last_updated — auto-stamped
- item_id — monday's internal id
- button, color_picker — UI-only
- file — needs a separate upload mutation; not handled by CSV import
- subtasks — metadata, not a real column
Skipped columns are listed under a disclosure in the column-mapper UI so you can verify why something doesn't appear.
Multi-level boards: a separate beast
monday.com's multi-level boards support up to 5 nested levels on the same board (parents and children share one column schema). Two important things to know before importing:
- Parent column values are computed rollups. On a multi-level board, only LEAF items (the rows with no children) accept column-value writes. monday silently keeps the rolled-up value on parents — your write looks like it succeeded but the display value doesn't change.
- monday's native multi-level XLSX exports lose hierarchy. The export flattens every level into a single list with only the root prefix preserved (intermediate parents disappear). Monday.com Inspector explicitly refuses these exports with a clear error so you don't end up with duplicated top-level items. To bulk-import into a multi-level board, use a flat CSV with a
Parentcolumn containing each leaf's parent name.
The Importer auto-detects multi-level boards (via monday's hierarchy_type field on API version 2026-04+) and surfaces a MULTI-LEVEL badge so you always know which model you're working with.
Tips for a Successful Import
- Use exact status label names. Status column values must match the label names in your monday.com board exactly (case-insensitive). Check your board's status column settings to see the available labels.
- For people columns, use the person's full name as it appears in monday.com. The tool matches by name automatically. If a name doesn't match, the person column will be left empty for that row.
- For timeline columns, the format is
YYYY-MM-DD to YYYY-MM-DD. If your spreadsheet has separate start date and end date columns, combine them into one column with this format. - Test with a small batch first. Before importing 1,000 rows, test with 10–20 rows to make sure column mappings and data formats are correct.
- Importing from a monday.com export? Just upload the XLSX file directly — no reformatting needed. The tool auto-detects the monday.com export structure.
- Parent items must exist or be imported together. If you're using flat CSV import and the parent items don't exist on the board yet, use the "Create parent items" option to create them during the same import.
Frequently Asked Questions
Can monday.com import subitems natively?
What CSV format do I need to import subitems into monday.com?
Can I import parent items and subitems at the same time?
Does Monday.com Inspector work with monday.com board exports?
Is there a row limit for importing subitems?
What happens if some rows fail during import?
Can I import into a Connect Boards (board_relation) column?
Can I import into a multi-level board?
What's the difference between the inline panel and the full-page Importer?
Why doesn't my "Creation log" / mirror column show up in the mapping?
Related Guides
Looking for more monday.com import and automation resources? These guides cover related topics: