> ## Documentation Index
> Fetch the complete documentation index at: https://gleanfeed.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Import CSV data

> Prepare, preview, and import existing feedback requests, roadmap items, or changelog entries from a CSV file.

Workspace owners on Starter, Growth, or Plus can bring existing product records into Glean Feed from **Settings > Import**. Each import handles one type of data: feedback requests, roadmap items, or changelog entries. Free workspaces see an option to upgrade instead of the import flow.

Imports create records without sending customer emails or notifications.

## Before you start

* You must be the workspace owner.
* Your workspace must be on Starter or higher.
* Choose one import type for the file.
* Keep the file at or below 1 MB and 1,000 data rows.
* Start from the downloadable template so the column names match.
* For feedback, create the destination board first. The imported requests use that board's visibility.
* For changelog tags, create each tag in Glean Feed before referring to it in the CSV.

## 1. Choose what to import

Open **Settings > Import**, select **Start import**, then choose **Feedback requests**, **Roadmap items**, or **Changelog entries**.

For feedback, also choose:

* The destination board.
* Whether requests with a blank workflow status should start as **Approved** or **Pending review**.

## 2. Prepare the file

Download the template for the selected import type and replace its example rows with your data. Keep the header row unchanged. Only `title` is required; the [column reference](#column-reference) explains the optional fields.

Use `source_id` when your previous system provides a stable record ID. Glean Feed uses it to catch a record that was already imported. Duplicate `source_id` values within the file also block the import.

## 3. Preview the import

Upload the CSV and select **Preview**. Preview checks the file without creating records and reports:

* Source rows checked.
* Records that will be created.
* Blocking errors, including invalid values and duplicate rows.
* Warnings about source details that Glean Feed stores for reference but does not reproduce as product behavior.

Correct every error in the CSV, upload the corrected file, and preview it again. Warnings do not block the import, but review them before continuing.

## 4. Confirm and review

When preview shows no errors, confirm the import. A completion message reports how many records were created.

Open the matching area—**Feedback**, **Roadmap**, or **Changelog**—and check a few imported records. Confirm their titles, workflow stage, visibility, dates, and links before importing the next file.

<Tip>
  For a large migration, import a small representative file first. Check the result in the
  dashboard, then continue in batches of no more than 1,000 rows.
</Tip>

## Fix a failed preview

| Problem                              | What to check                                                                                                                                                         |
| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The file will not upload             | Use a CSV file no larger than 1 MB.                                                                                                                                   |
| A row has an invalid value           | Use the accepted values in the reference below and preview again.                                                                                                     |
| A row duplicates another row         | Give each record a unique `source_id`, or remove the repeated row. When `source_id` is blank, Glean Feed compares the import type, destination, and normalized title. |
| A feedback import has no destination | Create a feedback board, then restart the import and select it.                                                                                                       |
| A changelog tag is missing           | Create the tag in the workspace or remove it from the CSV, then preview again.                                                                                        |
| The file has more than 1,000 rows    | Split it into smaller files. Keep stable `source_id` values across the files.                                                                                         |

## Column reference

Custom header names are not mapped. Use the headers from the downloaded template.

| Column             | Applies to                   | Required | Accepted values and behavior                                                                                                                                                                                                                                                                                                                  |
| ------------------ | ---------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title`            | Feedback, roadmap, changelog | Yes      | Text.                                                                                                                                                                                                                                                                                                                                         |
| `description`      | Feedback, roadmap, changelog | No       | Text body or details.                                                                                                                                                                                                                                                                                                                         |
| `status`           | Feedback, roadmap            | No       | Feedback accepts `pending`, `in_review`, `planned`, `in_progress`, `completed`, or `closed`; `done` and `shipped` become `completed`, and `open` becomes `in_review`. Roadmap accepts `planned`, `in_progress`, `done`, or `closed`. Spaces and hyphens are normalized.                                                                       |
| `state`            | Changelog                    | No       | `draft` or `published`. Defaults to `published`.                                                                                                                                                                                                                                                                                              |
| `published_at`     | Changelog                    | No       | Date or timestamp beginning with `YYYY-MM-DD`. A published entry without this value uses `created_at`, then the import time.                                                                                                                                                                                                                  |
| `version`          | Changelog                    | No       | Version text such as `1.4.0`.                                                                                                                                                                                                                                                                                                                 |
| `category`         | Changelog                    | No       | Category text such as `Improvement` or `Fix`.                                                                                                                                                                                                                                                                                                 |
| `tags`             | Changelog                    | No       | Existing workspace tag names separated by commas or semicolons. A missing tag blocks the import.                                                                                                                                                                                                                                              |
| `votes`            | Feedback                     | No       | Whole number from `0` to `1000000`. This sets the request's vote count; it does not create individual voters.                                                                                                                                                                                                                                 |
| `source_id`        | Feedback, roadmap, changelog | No       | Stable ID from the previous system, used for duplicate checks.                                                                                                                                                                                                                                                                                |
| `source_url`       | Feedback, roadmap, changelog | No       | `http` or `https` URL for the original record.                                                                                                                                                                                                                                                                                                |
| `source_image_url` | Feedback, roadmap, changelog | No       | `http` or `https` URL stored as source information. Glean Feed does not fetch or copy the image.                                                                                                                                                                                                                                              |
| `created_at`       | Feedback, roadmap, changelog | No       | Date or timestamp beginning with `YYYY-MM-DD`. Used to backdate roadmap items and changelog entries.                                                                                                                                                                                                                                          |
| `updated_at`       | Feedback, roadmap, changelog | No       | Date or timestamp beginning with `YYYY-MM-DD`. Stored as source information.                                                                                                                                                                                                                                                                  |
| `visibility`       | Feedback, roadmap, changelog | No       | `public`, `private`, `internal`, or `invite_only`. A feedback request uses the destination board's visibility. If its status also creates a linked roadmap item, that item uses the CSV value, then the board's visibility when the value is blank. Standalone roadmap items and changelog entries use the CSV value and default to `public`. |

## Workflow mapping reference

### Feedback

If `status` is blank, the row uses the **Initial request status** selected in the import flow. Rows imported as `planned`, `in_progress`, `completed`, or `closed` also create a linked roadmap item. Closed requests remain dashboard-only.

### Roadmap

If `status` is blank, the item starts as `planned`. Supported values are `planned`, `in_progress`, `done`, and `closed`.

### Changelog

Changelog uses `state`, not `status`. If `state` is blank, the entry is imported as published. Use `draft` when the entry should not appear to customers yet.
