Upload files

Train your chatbot with PDF, DOCX, or TXT files — up to 10 MB each.

Files are the fastest way to seed a chatbot with existing content — help center PDFs, product sheets, policy docs, handbooks.

Supported formats

  • .pdf
  • .docx
  • .txt

Anything else is rejected by the file picker. There's no built-in OCR yet, so scanned-image-only PDFs won't extract any text.

Upload flow

In your chatbot, click KnowledgeFiles tab. The page shows a drag-drop zone.

┌─ Knowledge › Files ───────────────────────────────────────┐
│  Files (2)    URLs    Q&A    Text                         │
│  ─────────                                                │
│                                                           │
│    ┌─────────────────────────────────────────┐            │
│    │                                         │            │
│    │    Drop files here or click to upload   │ ← drop     │
│    │    PDF, DOCX, or TXT — max 10MB         │            │
│    │                                         │            │
│    └─────────────────────────────────────────┘            │
│                                                           │
│  handbook.pdf          84 KB   ● ready                    │
│  returns-policy.docx   12 KB   ● processing               │
└───────────────────────────────────────────────────────────┘

Drag files in or click to pick. The form accepts multiple at once.

The 10 MB limit

Each file is capped at 10 MB. The browser validates before upload — if you drop a bigger file you get:

File too large. Maximum size is 10MB.

No partial uploads, no chunking. If you have a bigger PDF, split it with any PDF tool and upload the parts separately.

How the upload actually runs

  1. The client asks Phoenix for a presigned S3 URL
  2. The file uploads directly from your browser to S3 (never touches Phoenix)
  3. The client notifies Phoenix that the upload is done
  4. Phoenix kicks off a background job that extracts text, chunks it, and embeds it

That's why the status briefly shows pending, then processing, before flipping to ready.

Plan limit errors

Two reasons an upload can be rejected:

  • Document count exceeded — your plan has a per-chatbot document cap. Message:

    File limit reached (N on your plan). Upgrade to add more.

  • Character budget exceeded — the file's text would push you past the total characters-trained cap. Message:

    This file would exceed your plan's training limit. Upgrade to add more content.

See Plans & pricing for the per-plan numbers.

Replacing a file

There's no in-place replace. Delete the old file (trash icon on its row), then upload the new one. Both actions flag the chatbot as needing a retrain — see Retraining.

Deleting a file

Click the trash icon next to the file. The file, its embeddings, and its contribution to the character budget all go away immediately. The chatbot is flagged for retrain so the other sources stay consistent.