# Add examples

Examples are inputs, and the right answers when you have them. They show Facet what the job looks like in your app. You don't need many: Facet writes more on its own.

## Where to add them

- **When you make a Task:** under the description, paste inputs or upload a file. Facet uses them to draft the Task and its Expectations.
- **On an Expectation:** open it and choose **Upload JSONL or CSV** to add examples to that one statement. Turn on **Hide these** to keep them for checks only.
- **From your agent:** the `add_examples` tool adds examples to an Expectation.

## Formats

**CSV** with a header row. Facet reads the input from a column named `input`, `prompt`, `text` or `question`, and the answer from `output`, `completion`, `expected`, `answer` or `label`. Without an input column, the whole row is the input.

```csv
input,output
"I was charged twice this month",billing
"The export button does nothing",bug
```

**JSON lines**, one object per line, with the same field names. Any other object is taken whole as the input.

```json
{"input": "I was charged twice this month", "output": "billing"}
{"input": "The export button does nothing", "output": "bug"}
```

A JSON array of the same objects works too, as does plain text with one input per line. An upload reads up to 500 rows.

**Answers with several fields.** When a Task returns fields, the answer is the whole object: an object in JSON lines, or the same JSON as text in the CSV cell.

```json
{"input": "I was charged twice this month", "output": {"label": "billing", "urgent": true}}
```

```csv
input,output
"I was charged twice this month","{""label"": ""billing"", ""urgent"": true}"
```

## How many

- **To start:** 5 to 20 real inputs. More helps only if they show something new.
- **Per Expectation:** a few that show what it means, including the hard cases.
- **Answers:** optional. Without them Facet writes its own and checks them; with them, Facet matches yours.

Facet writes examples until each Expectation has about 200 to build from, and keeps some hidden to check with. You see every example it writes, and you can edit or remove any of them.

## What to leave out

- Personal data you don't need. Facet treats everything you upload as private, but a Task rarely needs real names or account numbers to learn the job.
- Examples that disagree with each other. If two tickets that read the same have different labels, Facet can't know which one you mean.

## Next steps

- [Write good Expectations](/docs/expectations): what to say about your examples
- [Privacy and data](/docs/privacy): who sees what you upload
