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

# Upload files

> Add PDFs, Word documents, spreadsheets and other files to the agent's knowledge, with the supported types and size limits.

Upload a file when the facts the agent needs aren't on your website: a price list, a returns policy, a product spreadsheet, a service guide. WireDesk turns the file into text and indexes it like any other source.

## Upload a file

<Steps>
  <Step title="Open Knowledge">
    Go to **Agents → your agent → Knowledge**.
  </Step>

  <Step title="Choose the file">
    Click **Upload a file** and pick one file. The upload starts as soon as you choose it.
  </Step>

  <Step title="Wait for processing">
    The file appears in the list under its file name, showing "processing…". When it's ready, the row shows how many passages were indexed.
  </Step>

  <Step title="Check the result">
    Click the file to read its passages and make sure the text came through as expected, then try a question in [Test a question](/docs/knowledge/test-a-question).
  </Step>
</Steps>

Files are uploaded one at a time. Each file becomes its own source.

## Supported files

| Type                    | Extensions      |
| ----------------------- | --------------- |
| PDF                     | `.pdf`          |
| Word                    | `.doc`, `.docx` |
| Excel                   | `.xls`, `.xlsx` |
| CSV                     | `.csv`          |
| HTML                    | `.html`, `.htm` |
| Plain text and Markdown | `.txt`, `.md`   |

The type is decided by the file's extension, so make sure it has the right one.

## Limits

| Limit                 | Value                                                         |
| --------------------- | ------------------------------------------------------------- |
| File size             | 8 MB per file                                                 |
| Text read from a file | The first 400,000 characters. Anything after that is dropped. |
| Files per agent       | No limit                                                      |

## How files are processed

Plain text and Markdown files are read as they are. Every other type is converted to text first. After that, a file is treated like any other source: it's split into passages of about 1,200 characters and indexed for search.

Only the extracted text is kept, not the file itself. You can't download a file back from WireDesk, so keep your own copy.

<Tip>
  Before uploading, check the text in the file can be selected and copied. If the words are only in images, WireDesk may not be able to read them. The source then fails with "no readable text in the file". In that case, type the key facts into a [note](/docs/knowledge/notes).
</Tip>

## Replace a file

A file can't be updated in place. To replace one, upload the new version, then remove the old one with the bin icon on its row and confirm with **Remove**. If you remove the old one first, the agent can't answer from either file until the new one is ready.

If two versions of the same document are both in the list, the agent can find passages from either, including the outdated one.

## Errors

| Error                                              | What it means                                                                                |
| -------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `files up to 8 MB`                                 | The file is over the size limit. Split it, or remove pages or sheets the agent doesn't need. |
| `supported: pdf, doc, xls, csv, html, txt, md`     | The extension isn't one of the supported types.                                              |
| `attach a file`                                    | The file was empty.                                                                          |
| `no readable text in the file`                     | The file converted, but contained no text.                                                   |
| `indexing was interrupted — add this source again` | Processing stopped before it finished. Remove the source and upload the file again.          |

## Related

* [Knowledge overview](/docs/knowledge/overview)
* [Notes and text](/docs/knowledge/notes)
* [Keep it current](/docs/knowledge/keep-it-current)
