Document Loaders
A document loader is the bridge between where your content lives and the store that will search it. Flowera ships 38 of them.
What a loader does
Three jobs, in order:
- Fetch the content — read a file, crawl a page, call an API.
- Extract text from it, handling the format's quirks.
- Split that text into chunks, using the splitter you choose.
The output is a set of chunks belonging to the store. One store can hold many loaders, and each keeps its own configuration — a PDF manual and a scraped FAQ page can live side by side and be searched together.
Choosing a loader type
| If your content is… | Use |
|---|---|
| A PDF, Word, Excel, PowerPoint, EPUB, CSV, or plain text file | Pdf File, Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Epub File, Csv File, Text File |
| A folder of mixed files | File Loader, which takes several files at once |
| A public web page | Cheerio Web Scraper (fast) or Playwright / Puppeteer (for JavaScript-heavy pages) |
| A whole site | Apify Website Content Crawler, FireCrawl, or Spider |
| In a SaaS tool | Notion, Confluence, Jira, Github, GitBook, Airtable, Figma |
| In Google Workspace | Google Drive, Google Sheets |
| In cloud storage | S3, S3 Directory |
| Behind your own API | API Loader, or Custom Document Loader for logic the others can't express |
Web-scraping and SaaS loaders need a credential for the service. File loaders don't.
Configuring a loader
Press Add Document Loader in the store, pick the type, and fill in its fields. Most loaders ask for three kinds of thing:
- The source — a file to upload, a URL, a Notion database, an S3 bucket.
- A text splitter — how to cut the extracted text into chunks. See Chunking. Leaving it empty stores each document as one chunk, which is only right for content that's already short.
- Metadata — optional key/value pairs attached to every chunk from this loader. Useful for recording where a passage came from, so an answer can cite it.
Previewing chunks before saving
Every loader has Preview Chunks. Use it. Every time.
The preview shows exactly what will be stored — the actual text of each chunk, in order, with the total count. Thirty seconds here catches the problems that are otherwise invisible until a customer gets a bad answer:
- A PDF that extracted as gibberish — it's a scan, and needs OCR before Flowera can read it.
- Chunks that cut mid-sentence — the splitter or the chunk size is wrong for this document.
- A web page that loaded the cookie banner and nothing else — the page needs a JavaScript-capable scraper.
- One enormous chunk — no splitter was selected.
Chunks that look wrong in the preview will retrieve badly, and no amount of prompt engineering downstream will fix them.
After saving
A saved loader is processed in the background — the store shows Stale until that finishes, then Sync. Either way the content isn't searchable until you upsert it.
Related
- Chunking — choosing a splitter and a chunk size
- Vector store — turning chunks into something searchable
- Document stores — the container the loaders belong to