# CSV Import

CSV Import allows you to import data directly into Violet. Your imported data can then be visualized in Data Explorer, a Multisource Report, etc.

### Prepare your .csv file

The import process allows you to map spreadsheet columns to Violet *attributes*. The minimum required attributes are *ID* and *Name.* The ID is a unique identifier that Violet uses to match on for any subsequent imports, ensuring your data is updated intelligently.&#x20;

You'll first need to determine which columns you intend to use for these attributes or add new ones to support the import process.

If your data is hierarchical (BOMs, Requirements, etc.), you'll also need to establish parent/child information via one of these approaches:

* **Parent:** Your CSV includes a parent column that points to the ID or a delimited list of parent row IDs (e.g., ROW-1, ROW-2).
* **Level:** Your CSV uses a level column with a delimiter to indicate the hierarchy levels (e.g., 1.2.1).

### Import data into Violet

1. In [Violet](https://app.violetlabs.com/) (or [VioletGov](https://app.violetgov.com/)), navigate to **Integrations** and click  <img src="/files/IS4aq5Ad1Nr6RFUu4LLg" alt="" data-size="line"> to add a new integration.&#x20;
2. Select **CSV Import**
3. In the integration panel, provide a name for this sheet, and select the category of information contained in your sheet

<figure><img src="/files/HWCVquMJmKeWrwxBX8vd" alt="" width="362"><figcaption></figcaption></figure>

4. Click **Upload File** and select your .csv file from your file system.
5. Map Violet attributes to the columns of your spreadsheet using the pulldown menu
6. Under **Additional Properties,** select the entity type your data represents from the list and populate any relevant entity-specific attributes on the list (don't see what you need? contact us!)
7. Click **Save** to begin fetching the data into Violet

   <figure><img src="/files/O7ucmdmTFww6endIreZ0" alt="" width="362"><figcaption></figcaption></figure>

\[Optional] You can also provide a unique name for the connection based on the credentials you're using, and you can create **restricted permissions** to users or groups:

<figure><img src="/files/SpT8vIwBwWHZWTDqTFdP" alt="" width="375"><figcaption></figcaption></figure>

8. Click **Create** to complete the integration creation process.

### Updating the .csv

After your first import, you can upload new data at any time - Violet will use the ID attribute to match on and intelligently update your data (ie. it will not duplicate your data). Simply navigate to your *existing* .csv import in the **Apps** page and upload the latest file.

### Download the latest .csv import

To download the most recent version of your .csv file in Violet:

1. Navigate to the **Apps** page, find your .csv application, and select the **Edit** icon
2. Click the file listed as the **Existing Import** to download it

   <figure><img src="/files/wp84Gtut9RDdMKUp5b4N" alt="" width="371"><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.violetlabs.com/apps/c/csv-import.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
