Skip to content

Importing threads from CSV

The CSV importer turns a spreadsheet into Threads — one Thread per row. It lives at Threads → Import Threads and walks you through choosing a template, mapping columns to fields, picking a destination folder, and running the import with live progress.

Prepare a header row, one Thread per row, and keep a column for the Thread name. The sidebar’s CSV Format panel suggests example columns (Name, Description, Status, Owner), and Download Example CSV gives you a starting file. Only .csv files are accepted (“CSV files only”), and “this importer expects each row in the CSV file represents a single thread.”

Two more format tips:

  • One column supplies the Thread name, and it must have a value in every row you want imported. DICE suggests a Name/Title column when it finds one, and otherwise picks the first column.
  • Column types (text, date, number) are detected automatically from the data when generating a template, so keep each column’s values consistent.

The Import mode section offers two paths:

  • Create a new template and import — “Upload a CSV, auto-generate a template, review, then import.” Best for a first-time import: DICE infers a template from your columns.
  • Import into an existing template — “Choose a template first, then map fields and import threads.” Available once you have at least one template; Download Sample produces a CSV matching the selected template’s fields.
  1. Upload CSV — click to upload or drag and drop. The file is parsed in place and the row count appears (“N rows ready to map”).
  2. Review the Template Builder — the inferred template is shown with a Template Name and Template Description pre-filled from the file name, plus the detected Data Fields.
  3. Under Thread name & description, confirm the Name column and optional Description column. Those columns are listed in Data Fields as Thread name / Thread description and marked Not created as a field, because each Thread already carries them.
  4. Click Create Template. The template is saved to your Team and you move on to destination and import (“Template created. Continue to destination and import.”).

Because the template was generated from your CSV, column mapping is applied automatically (“This template was generated from the uploaded CSV, so field mapping is applied automatically.”). The Automatic Column Mapping panel restates the name and description sources; use Back to Template to change them.

  1. Under Select Template, pick the template that should receive the imported rows.
  2. Upload CSV — “Upload a CSV file to start mapping and import.” The panel shows your CSV Rows next to the selected template’s Template Fields.
  3. Click Continue to Field Mapping.

The Destination & Field Mapping step is where you control what gets created:

  • Folder — the destination folder for every imported Thread. The picker pre-fills your most recently used folder; you must select one before importing.
  • Field Mapping — “Map each template field to the CSV column that should populate it.” Suggested mappings are applied by column-name match; fields left as No column are simply not populated. (Skipped when the template was auto-generated from the CSV.)
  • Thread name & description — the CSV column each Thread takes its name from (required) and, optionally, its description. These are properties of the Thread, so the columns are not stored as field data.
  • Also store these columns as fields — off by default. Turn it on to keep the name and description values in each Thread’s field data as well. A mapped field that is skipped says so under its name, including a Required one — the Thread’s own name and description carry the value instead.

Below the mapping, the Imported Threads Preview shows the first rows as they will import, a readiness count (“N rows ready to import”), and flags rows that would fail (“N rows currently failing”) — typically rows missing a required value. Fix the CSV or the mapping until the rows you care about show Ready.

Each preview row reads like the Thread page it becomes: the name, its template, its description, then the organization, team and folder it will belong to. That last line is worth a glance before you import — a folder shared with you belongs to another team, and Threads created in it belong to that team, not yours.

Click Import N Threads. The import runs in batches with a live Import Status (“Processing X of Y rows. Batch A of B.”), then reports a summary: “Imported N threads.” and, if applicable, “N rows failed.”

A successful import also records an Imported Thread activity group per Thread in the activity feed, and the created template remains available for future imports.

Separately from CSV import, DICE can import an Assembly Import Package — a JSON file describing Threads, assemblies, part attachments, and relationship links in one structure. It lives at Assemblies → Import assembly package.

  1. Paste the package JSON or Load file.
  2. Click Validate package. The package is dry-run into an Import plan: counts of Threads, Assemblies, Non-assembly Threads, Thread attachments, and Thread links to be created, plus any Blocking issues and Warnings. Referenced folders, categories, and relationships are matched against what already exists and marked reuse existing, create new, or flagged as ambiguous.
  3. When the plan reads “This package is ready to import.”, click Commit import.

Unlike CSV import, the assembly package import is transactional: “nothing is written until you commit, and the import is all-or-nothing.” Resolve any blocking issues before committing. See Assemblies for what assemblies and parts are.