# Importing from CSV

If you already keep answers somewhere else — a spreadsheet, Notion, or any
system you can export from — a CSV import brings them into your knowledge base in
one go.

You need write access to your account to import.

## The file format

Your CSV must follow the expected structure.
[Download the sample file](https://app.responsehub.ai/response_hub_knowledge_base_import_example.csv)
to see every available column with example rows.

| Column | Required | Notes |
|---|---|---|
| `question` | Yes | The only required column. |
| `answer` | No | See auto-answering below. |
| `explanation` | No | |
| `auto_answer` | No | `yes` or `no` — sets [sync](/knowledge-base/writing-and-updating/#sync) on the imported item. |
| `framework` | No | Only use this if the items come from that framework. |
| `code` | No | The framework's own code for the question. |

### How `auto_answer` decides what happens

- If `answer` is empty and `auto_answer` is `yes`, the item is answered
  automatically after import.
- If `answer` is populated, the item is not auto-answered — your wording is kept.
- If `auto_answer` is `no`, the item is not auto-answered.

It accepts `yes`, `true`, or `1` for on, and `no`, `false`, or `0` for off.
Anything else, including an empty cell, is treated as off.

### Framework and code

`framework` accepts `NIST-CSF-2.0`, `HECVAT-3.06`, and `HECVAT-4.1`. Values are
matched regardless of case.

`code` is for the framework's own question codes, such as `GV.OC` under
NIST CSF 2.0. Supplying codes can improve accuracy when the same framework comes
up in a questionnaire, so include them where you have them.

### Duplicate rows

Rows are skipped when the same question already exists in your knowledge base,
and when the same question appears twice in the file you are importing.

## Import the file

1. Go to **Knowledge Base** and select **Import / Export**, then **Import**.

2. Drop your file onto **Upload Knowledge Base CSV**, or select **Choose CSV file**.

3. Set the processing options — see below.

4. Select **Import CSV**.

Importing runs in the background, and the import history on the same screen
records what happened, including any rows that were skipped.

## Processing options

### Sanitize question and answer text

Removes references to specific customers, so an answer written for one customer
can be reused for the next.

A question that reads "Is ACME's data encrypted in transit and at rest?" is
imported as "Is the customer's data encrypted in transit and at rest?"

This is worth switching on whenever your existing answers were written for named
customers. It generally does a good job, though it can occasionally struggle to
tell a customer name apart from a product or third-party name, so it is worth
spot-checking the results.

### Auto categorize items

Files each imported item into the standard taxonomy, so your knowledge base
arrives organised rather than as a flat list. This is on by default. See
[how items are categorised](/knowledge-base/categorisation/).

## Next steps

- [Importing from completed questionnaires](/knowledge-base/importing-from-completed-questionnaires/) — the other way to build your knowledge base
- [How items are categorised](/knowledge-base/categorisation/)