AI assistant can’t find an uploaded document: troubleshooting runbook
For customers who uploaded a file and can see it in storage or the app, but the AI assistant still says it cannot find or use it. This runbook helps you check the most common causes in the right order: upload completion, indexing (building searchable text), permissions, file contents, and stale caches.
TL;DR — If the AI assistant cannot find a document you definitely uploaded, the most common cause is that the file exists in storage but has not finished indexing (building searchable text and metadata). Start by checking the document’s status in your app or provider dashboard, then confirm the assistant is pointed at the correct knowledge base, workspace, or folder. Reading time: ~6 min
The scenario
It’s 3:40 PM on a Tuesday. You uploaded the latest pricing PDF and an updated onboarding guide this morning, and you can see both files sitting in the dashboard. But when you ask the AI assistant, “What’s our current enterprise pricing?” it replies with something like “I couldn’t find that document” or gives an old answer from last week. Your team is sure the upload happened, your client is already testing the bot, and now you need to work out whether this is an indexing delay, a permissions issue, or the wrong content source.
Symptoms
- The file appears in the app, storage bucket, or document list, but the AI assistant answers as if it does not exist.
- The assistant says things like:
I couldn't find any relevant document.No sources found for this query.I don't have access to that file.The requested document is unavailable.
- Search in the document UI returns nothing for text you know is inside the file.
- The document shows a status such as:
ProcessingIndexingQueuedFailed
- The assistant cites an older version of the document instead of the one you uploaded today.
- A scanned PDF opens fine for humans, but searches for exact phrases return no matches.
- In logs or activity history, you may see lines like:
ingestion completed, extraction=0 pagesindex job failedpermission denied for documentworkspace mismatch
Likely causes
| Cause | How common | Quick check |
|---|---|---|
| The file uploaded, but indexing is still running or failed | Very common | In your app or provider dashboard, open the document and check its status: Documents/Knowledge Base → [document] → Status |
| The assistant is searching the wrong workspace, knowledge base, folder, or collection | Very common | In the assistant settings, open Assistant/Chatbot → Data sources and compare the selected source to where the file lives |
| The document is not readable text (for example, a scanned PDF image) | Common | Open the file and try to select/copy one sentence from the page |
| Permissions or sharing rules block the assistant from reading the file | Common | Open the document details and check Access/Permissions/Sharing for the assistant’s workspace or service account |
| A newer upload exists, but the assistant is using a stale index or cached version | Sometimes | Re-upload a tiny text file with a unique phrase, then search that exact phrase in the app |
| The file type, size, or parsing step is unsupported or partially failed | Sometimes | Open the document details and check Processing details or Activity for parse/extraction errors |
Step-by-step diagnosis
-
Check whether the document finished indexing
- Dashboard path:
Documents or Knowledge Base → open the document → Status/Activity - If you have an API or admin tool, look for fields like
status,indexed_at,pages_extracted, orerror. - This is your problem if: the status is
Queued,Processing,Indexing, orFailed, or if extraction shows0 pagesor0 characters. - Jump to:
### File uploaded but indexing is still running or failed
- Dashboard path:
-
Confirm the assistant is connected to the same content source where the file lives
- Dashboard path:
Assistant/Chatbot settings → Data sources/Knowledge sources - Compare that source with the document’s location, such as the workspace, project, folder, collection, or knowledge base shown on the document details page.
- This is your problem if: the assistant points to a different workspace, collection, or folder than the uploaded file.
- Jump to:
### Assistant is searching the wrong workspace, folder, or collection
- Dashboard path:
-
Test whether the file contains selectable text
- Open the document in your browser or desktop viewer.
- Try to highlight one sentence and copy it.
- Paste it into a plain text editor.
- This is your problem if: you cannot select text, or the pasted result is blank or gibberish. That usually means the file is an image-only scan and needs OCR (optical character recognition, turning images into text).
- Jump to:
### Document is image-only or otherwise not readable as text
-
Check access and sharing rules
- Dashboard path:
Documents → [document] → Access/Permissions/Sharing - Look for whether the file is limited to a person, team, private folder, or a service account the assistant does not use.
- This is your problem if: the document is private to a user or team that does not include the assistant’s workspace or integration identity.
- Jump to:
### Permissions block the assistant from reading the document
- Dashboard path:
-
Rule out stale index or cache
- Create a tiny test file named something like
kb-cache-test-2026-08-10.txtwith one unique line such as:
- Create a tiny test file named something like
purple-lighthouse-48291
- Upload it to the same place as the missing document.
- Search that exact phrase in your app’s document search or ask the assistant for it.
- This is your problem if: the test file does not appear after indexing says complete, or the assistant still returns older content after a replacement upload.
- Jump to:
### Stale index or cached version is being used
- Inspect processing details for file type or parser failures
- Dashboard path:
Documents → [document] → Activity/Processing details - Look for messages about unsupported file types, encrypted PDFs, oversized files, timeouts, or parse errors.
- This is your problem if: you see errors like
unsupported media type,encrypted document,parse timeout, orextraction failed. - Jump to:
### File type, size, or parsing failed
- Dashboard path:
Fixes
File uploaded but indexing is still running or failed
- In your dashboard, open the document and click
Retry processing,Reindex, or the nearest equivalent in your provider’s UI. - If there is no retry button, delete only the document record from the app and upload the file again.
- If the file is large, split it into smaller files by section before re-uploading.
If you have an API-based workflow, re-send the ingestion job after confirming the upload completed successfully.
⚠️ If you delete the document from the app before re-uploading, users may temporarily lose access to that content until indexing finishes again.
Verify it worked: the document status changes to Indexed, Ready, or similar, and a search for an exact sentence from the file returns that document.
Assistant is searching the wrong workspace, folder, or collection
- Open the assistant settings:
Assistant/Chatbot → Data sources/Knowledge sources. - Add or select the exact workspace, folder, collection, or knowledge base where the file lives.
- Save the settings.
- If there is a source priority order, move the correct source above older or test sources.
If your app supports per-environment content, also check whether you uploaded to staging but the assistant is running against production.
Verify it worked: ask for a unique phrase from the document and confirm the answer cites the correct file or folder.
Document is image-only or otherwise not readable as text
- Run OCR on the file using a document tool you already use, such as your scanner software, Adobe Acrobat, or your cloud drive’s OCR/export option.
- Save the output as a searchable PDF or plain text.
- Re-upload the searchable version.
- If tables are important, also export a
.txtor.docxversion because some parsers handle those more reliably than scanned PDFs.
If you have command-line access and use OCRmyPDF, the command is:
ocrmypdf input.pdf output-searchable.pdf
Verify it worked: you can highlight and copy text from the PDF, and the app’s search finds an exact sentence from the document.
Permissions block the assistant from reading the document
- Open
Documents → [document] → Access/Permissions/Sharing. - Grant access to the workspace, team, or service identity used by the assistant.
- If the file sits in a private folder, move it to the shared knowledge folder the assistant is allowed to read.
- Save changes, then trigger
Reindexif your app requires permissions changes to refresh search visibility.
If your provider uses a service account for connectors, look for an identity name in the integration settings and grant that identity read access.
Verify it worked: the document appears in search results for users of the assistant, not just for the uploader.
Stale index or cached version is being used
- In the document details page, use
Reindex,Refresh, orSync now. - If you replaced a file with the same name, upload it again with a new filename such as
pricing-2026-08-10.pdfto force a fresh document ID. - Remove the old version from the knowledge base if both versions are present.
- Ask the assistant for a phrase that exists only in the new file.
If your app has a cache or sync interval setting, reduce it temporarily and run a manual sync.
Verify it worked: the assistant returns the new wording, not the previous version, and cites the new filename or upload time.
File type, size, or parsing failed
- Check the processing error in
Activity/Processing details. - If the file is encrypted, export an unencrypted copy and upload that version.
- If the file is very large, split it into smaller files by chapter or section.
- If the file format is unusual, convert it to one of the most reliable formats for text extraction:
.pdf(searchable),.txt,.docx, or.md. - Re-upload and reindex.
If you have command-line access, common conversions include:
libreoffice --headless --convert-to pdf myfile.docx
pdftotext input.pdf output.txt
Verify it worked: processing details show successful extraction with non-zero pages or characters, and search finds text from the file.
Prevention
- Add a post-upload check that searches for a known phrase
- After every upload, search for one exact sentence from the document before telling users it is live.
Example check phrase: "Enterprise plan invoices are due within 30 days."
- Use unique filenames for new versions
- Instead of replacing
pricing.pdf, upload versioned names:
- Instead of replacing
pricing-2026-08-10.pdf
onboarding-guide-v17.pdf
- This avoids stale references to older document IDs.
-
Prefer searchable PDFs or plain text exports
- For scanner workflows, turn on OCR by default in the scanner or PDF tool.
- For important docs, keep a
.txtor.mdexport alongside the PDF.
-
Create an indexing status checklist for your team
- Before announcing a document is available to the assistant, confirm:
Status = Indexed/Ready
Pages extracted > 0
Exact phrase search returns the document
Assistant data source matches the document location
- Separate staging and production content clearly
- Use distinct folder names or collections such as:
knowledge-base-prod
knowledge-base-staging
- Then verify the assistant points to the correct one in
Assistant → Data sources.
- Track failed ingestion jobs
- In your provider’s dashboard, enable alerts or email notifications for document processing failures if available.
- If no alert exists, review the
ActivityorProcessingpage daily forFailedjobs and retry them before users notice.
If you work through the checks above in order, you will usually find the issue before you need vendor support. If you do need to escalate, send them the document name, upload time, document status, extraction count, the assistant’s data source setting, and one exact phrase that should have matched.
This article was written by an AI system and published pending human review. Verify anything you intend to act on.
Have a project in mind?
Get an instant AI price estimate for it, or talk directly to our team.
One email a month on what we learn building with AI