Skip to content
Try Free →

File uploads to the knowledge base

Last updated: · 4 min read

Supported file types by plan

File-type support scales with plan, so a higher tier unlocks additional formats — each tier includes everything below it:

  • Free. PDF, TXT, Markdown, CSV.
  • Starter. + DOCX / DOC (Microsoft Word).
  • Growth. + HTML, and images (PNG, JPEG, WebP, GIF) — text extracted via OCR.
  • Business. + XLSX (Excel), PPTX (PowerPoint), and video (MP4, MOV, WebM, MKV, M4V) — audio transcribed automatically.
  • Enterprise. Every supported format.

Uploading a file your plan doesn't support returns an error naming the format and pointing at an upgrade. There's no need to convert PPTX to PDF or XLSX to CSV on Business and above — both are parsed natively.

Format notes:

  • PDF. Text-based PDFs index fully; scanned (image-only) PDFs need OCR pre-processing on plans below Growth (Growth+ can instead upload the scan as an image and let AskVault's built-in OCR handle it).
  • DOCX. Tables and headings preserved.
  • CSV / XLSX. Parsed as a table; column headers preserved. Each row becomes a queryable chunk.
  • Images. Extracted via multimodal OCR — useful for whiteboard photos, screenshots, architecture diagrams.
  • Video. Audio transcribed via multimodal transcription; the transcript is what gets indexed.

Uploading a file

Two paths.

Via the dashboard.

  1. Open Knowledge Hub > Add Source > File Upload.
  2. Drag and drop one or more files into the upload area.
  3. Optionally pick an audience tag before upload.
  4. Click Upload. Indexing starts within 10 seconds.

Via the API.

Terminal window
curl -X POST https://api.askvault.co/v1/documents/upload \
-H "Authorization: Bearer ak_xxx" \
-F "file=@/path/to/handbook.pdf" \
-F "audience=internal" \
-F "workspace_id=ws_xxx"

Returns the document ID and indexing-status URL.

What happens during indexing

The pipeline:

  1. File received. Stored encrypted at rest immediately.
  2. Parser runs. Format-specific extractor pulls text, headings, tables.
  3. Chunker splits content into semantic chunks (typically 200 to 500 tokens each).
  4. Embedder generates vectors for each chunk.
  5. Vectors stored in the workspace's index.
  6. Document marked ready. Available for retrieval.

Total time: about 30 seconds per MB of content. A 10 MB PDF indexes in about 5 minutes.

Watch progress under Knowledge Hub > [document] which shows "Queued > Indexing > Ready" with a percentage.

Per-file size limit

The per-file cap follows your plan:

  • Free. 5 MB per file.
  • Starter. 15 MB per file. Starter+
  • Growth. 40 MB per file. Growth+
  • Business. 100 MB per file. Business+
  • Enterprise. 500 MB per file.

For files at or above your plan's limit:

  • Split into smaller files. PDF tools can split by chapter.
  • Compress images in the source document before uploading.
  • Convert to text-only. A scanned PDF can be 10x larger than the OCR-extracted text equivalent.
  • Upgrade the plan for a higher per-file cap.

If a file exceeds your plan's limit at upload, the dashboard rejects it and shows the limit. The API returns HTTP 413 with the same message.

Workspace storage cap

Total content size per workspace varies by plan:

  • Free. 5 MB. Roughly 50 to 100 pages of typical text.
  • Starter. 15 MB. Roughly 150 to 300 pages. Starter+
  • Growth. 40 MB. Roughly 400 to 800 pages. Growth+
  • Business. 100 MB. Roughly 1,000 to 2,000 pages. Business+
  • Enterprise. Custom, negotiated to your content volume.

When you hit the cap, new uploads fail with HTTP 413. Either delete unused documents or upgrade the plan.

Check current usage under Knowledge Hub > Storage Usage.

File-type indexing details

How each format is handled:

PDF (text-based). Pages extracted in order. Headings detected from font-size heuristics. Tables converted to inline text with cell separators.

PDF (scanned/image). Indexing produces empty results without OCR. Pre-process via Adobe Acrobat (File > OCR), Tesseract (free CLI), or an online tool. Then re-upload.

DOCX. Headings, paragraphs, tables, bullet lists structurally preserved. Tracked changes and comments stripped.

TXT. Indexed line-by-line. No structural inference; chunks split at paragraph breaks.

Markdown. Headings (H1-H6) used for chunk boundaries. Code blocks indexed as code; fenced language preserved.

CSV / XLSX. First row treated as column headers. Each subsequent row becomes a chunk with column context. Useful for FAQ tables, product catalogs, or structured data. XLSX requires Business or above.

PPTX. Slide text indexed per slide. Requires Business or above.

HTML. Indexed like a saved web page. Requires Growth or above.

Images (PNG, JPEG, WebP, GIF). Text extracted via multimodal OCR. Requires Growth or above.

Video (MP4, MOV, WebM, MKV, M4V). Audio transcribed via multimodal transcription; the transcript is indexed. Requires Business or above.

Audience tagging on upload

Tag files at upload time:

  1. In the upload modal, click "Set audience" before clicking Upload.
  2. Pick a tag (or type a new one).
  3. All uploaded files inherit the tag.

Override per file later under Knowledge Hub > [document] > Audience.

See audience tags for how the bot uses these.

Replacing or updating a file

When the source document changes:

Replace option. Under Knowledge Hub > [document] > Replace, upload the new version. The system swaps content while preserving the document ID. Existing citations remain valid.

Re-upload as new. Upload a fresh copy and delete the old one. Use only if the document fundamentally changed and old citations should break.

Replace is the safer default. Document IDs and citation links stay stable.

Citations in bot responses

When the bot answers from an uploaded file:

Per the Employee Handbook, PTO accrues at 1.5 days per month for full-time staff. [Source: Employee Handbook 2026.pdf, page 14]

Citations include:

  • File name as the human-readable label.
  • Approximate page number for PDFs (best-effort, can drift by 1 to 2 pages on layout-heavy PDFs).
  • Click-through link to download the source file (visible to authorized visitors only).

OCR pre-processing for scanned PDFs

Many older PDFs are scanned images, not text. Without OCR, AskVault indexes nothing useful.

Three OCR options:

  • Adobe Acrobat Pro. File > Recognize Text. About 30 seconds per 10 pages.
  • Tesseract (free CLI). tesseract input.pdf output -l eng pdf. Open-source, runs locally.
  • Online tools like ilovepdf.com or smallpdf.com.

After OCR, upload the OCR'd PDF (now text-searchable) to AskVault.

Bulk upload

For uploading many files:

Dashboard. Drag-and-drop up to 50 files at once. Each indexes in parallel.

API. Loop through files calling /v1/documents/upload per file. Concurrency cap 5 files in flight per workspace.

Zip archives. Today, AskVault doesn't auto-extract zip files. Unzip first, then bulk-upload.

Planned features (on the roadmap)

Documented for accuracy:

  • Zip archive auto-extract. Today, unzip manually and upload the contents. Auto-extract planned.
  • Table-extraction improvement. Today, table parsing is best-effort. Improved table-to-CSV conversion planned for complex layouts.

Limits

  • Per-file size. Plan-dependent — 5 MB (Free) up to 500 MB (Enterprise). See per-file size limit.
  • File types. Plan-dependent — see supported file types by plan. No file-count cap; only total indexed content counts against your plan's storage cap.
  • Total content per workspace. Plan-dependent (5 to 100 MB on paid tiers below Enterprise; custom on Enterprise).
  • Indexing speed. About 30 seconds per MB.

Common pitfalls

PDF uploaded but no answers reference it. Scanned PDF without OCR. Run OCR and re-upload.

Indexing stuck at "Queued". Workspace hit the indexing rate limit. Wait 5 minutes; queue catches up.

Workspace hit storage cap. Free plan covers 5 MB. Either delete old documents or upgrade.

Table content garbled in answers. Complex PDF tables lose structure during extraction. Upload the source CSV alongside for better table queries.

File rejected as "unsupported format". Either the extension isn't supported at all (check the supported types), or it's gated to a higher plan than yours — e.g. DOCX needs Starter+, XLSX/PPTX need Business+.

FAQ

Can I upload files larger than my plan's limit?

Not per single file. Split into multiple files, each under your plan's per-file cap, or upgrade for a higher cap.

Do I need to OCR PDFs myself?

For scanned PDFs on Free or Starter, yes. On Growth and above, upload the scan as an image instead (PNG/JPEG/etc.) and AskVault's built-in OCR extracts the text automatically.

How long does indexing take?

About 30 seconds per MB. A 10 MB PDF indexes in roughly 5 minutes.

Can I bulk upload via API?

Yes. Loop through files calling /v1/documents/upload. Concurrency cap 5 per workspace.

What happens to my files if I delete the workspace?

The workspace and its indexed files are removed. This can't be undone, so export anything you need before deleting.

Was this page helpful?