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

# Upload CSV

> Make Digital Humans from a spreadsheet.

Use this type when your test cases are already in a spreadsheet.

## Set it up

**1. Select the card**

[Create a simulation](/test/simulations/create.md#create-a-simulation) and select the **Upload Digital Humans** card.

![Upload Digital Humans card in the Create Simulation type picker](https://mintcdn.com/bluejay/EeUk0hD_moG9tWmI/images/create-simulation-card-upload-digital-humans.png?fit=max\&auto=format\&n=EeUk0hD_moG9tWmI\&q=85\&s=6ff6b9feacce7e789fe2cb8745d8f9a0)

**2. Fill in the CSV**

Download the **Sample CSV** and write one Digital Human in each row, with the [columns](#columns) below. Bluejay creates each row exactly as you wrote it and does not generate anything.

**3. Upload the CSV**

Check any error before you go on, because Bluejay imports a row without the fields that are not valid.

![The Upload CSV step with the Sample CSV button, a drop zone for the CSV file, and a CSV format panel that lists the reserved columns](https://mintcdn.com/bluejay/eKcFBkjZX47pI8Ss/images/upload-digital-humans.png?fit=max\&auto=format\&n=eKcFBkjZX47pI8Ss\&q=85\&s=1f6a40abefac45997ec0d5298ca2302f)

## Columns

* Column headers are not case-sensitive.
* Bluejay ignores columns that it does not know.
* A blank behavior cell uses the values on the **Default Generation Settings** tab.

| Column | Values |
| - | - |
| `Name` | Text. If blank, Bluejay generates a name. |
| `Intent` | Text |
| `Success Criteria` | Text |
| `Role Description` | Text |
| `Phone Number` | A number your organization owns. If the number is not owned or cannot be read, Bluejay skips the row. If blank, Bluejay assigns a number. |
| `Scripted Responses` | A JSON object or array |
| `Scripted Responses In Order` | `true` or `false` |
| `Creativity` | 0 to 1 |
| `Patience` | Seconds |
| `No Response Timeout` | Seconds |
| `Voice` | A voice key, for example en\_british\_feminine |
| `Interruptions` | JSON, see below |
| `Speaks First` | JSON, for example `{"speaks_first": true, "mode": "custom", "message": "Hi, I am calling about my bill."}` |
| `TC_<tool>` | An expected tool call. A string is the expected output. |
| `CT_<trait>` | The value of a [trait](/test/simulations/digital-humans.md#traits) |

These columns take the same values as the [behavior fields](/test/simulations/digital-humans.md#behavior):

* `Voice Speed`
* `Background Noise`
* `Background Noise Volume`
* `Audio Quality`
* `Verbosity`
* `Fluency`

The `Interruptions` cell is a JSON object with `interruptions_type`:

* `{"interruptions_type": "none"}`
* `{"interruptions_type": "probabilistic", "probability_of_default_interrupt": 0.5}`, with a value from 0 to 1
* `{"interruptions_type": "keyword", "keyword_responses": {"refund": {"response": "Yes, the refund!", "probability": 0.8}}}`
* `{"interruptions_type": "llm", "llm_prompt": {"user_prompt": "Interrupt when the agent talks too long."}}`

> [!WARNING]
>
> If a JSON cell has unescaped quotes, Bluejay repairs it and shows an "Auto-corrected" message. A repaired cell can have the wrong value. Check those Digital Humans before you run the simulation.

## Related

* [Digital Human Reference](/test/simulations/digital-humans.md)
* [Digital Humans API](/api-reference/endpoint/create-digital-humans.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.