Skip to main content

Attaching files

Most of what QRY queries is a database. But sometimes the data lives in a file someone emailed you, dropped in a shared drive, or exported from another tool. You can drag-drop those files into a conversation and ask questions about them right away — no import to a database, no schema setup.

Goal​

You finish this page with a file attached to a conversation and at least one answer that uses its content.

Prerequisites​

Supported formats​

TypeExtensionsNotes
Tabular.csv, .tsv, .xlsx, .xls, .parquet, .json (records or arrays)Loaded as a DataFrame; queryable via Python or natural language
Text.txt, .mdIndexed for retrieval
Image.png, .jpg, .jpeg, .gif, .webpSent to multimodal-capable models for inspection
PDF.pdfText and embedded images extracted

The file size limit is 100 MB per file by default. Multiple files per conversation are supported.

Steps​

1. Attach the file​

In the prompt area, click the paperclip icon (📎) or drag-drop the file directly onto the prompt input. The file appears as a chip below the prompt with its name, size, and a remove button.

2. Ask about it​

Reference the file by name or just by what's in it:

What columns does this CSV have?
Compare the customers in customers_export.csv to the ones in our
customers table — who's in the file but not in the database?
This image is a screenshot of last quarter's dashboard. What was
revenue in November?

For tabular files, QRY typically uses Python to load the DataFrame and either runs SQL-against-DataFrame or pandas operations. The query path is shown in Processing Details.

3. Combine with database tables​

You can mix attached files and database tables in the same query. QRY handles the join in Python (pulls a sample from the database and joins to the file's DataFrame in memory) or, for big database tables, uploads the file's contents to a temp table on the database side. The choice is automatic based on size.

Lifetime and visibility​

  • Attached files live for the duration of the conversation session. They survive the conversation being saved and reopened, but they're not accessible from other conversations unless you re-attach.
  • Files attached to a conversation inside a workspace are not automatically added to the workspace's RAG context. To make a file workspace-wide, upload it to the workspace's Files tab instead — see Shared files and memory.
  • Sensitive files: anything you attach is processed by the LLM. If your tenant's models include external providers (Claude, Gemini, OpenAI), the content traverses their inference infrastructure subject to their respective data-handling policies. Don't attach what you wouldn't send to those providers.

Common issues​

Upload fails with "file too large". Default limit is 100 MB. Either split the file or load it from a database table instead — for anything multi-million-row, the database route is faster anyway.

QRY doesn't seem to read the file. Either the format isn't supported (check the table above) or the file is corrupted / encoding-broken. Open it in a text editor and confirm it's readable. CSV files with weird encodings (Windows-1252, cp850) sometimes need explicit "this file is encoded in latin-1" in your prompt.

Attaching a multi-sheet Excel file picks the wrong sheet. By default QRY uses the first sheet. Specify in the prompt: "Use the 'Q3 results' sheet, not the default."

An image attachment is ignored. Your conversation's model isn't multimodal-capable. Switch to one of Claude / Gemini / GPT-4o models in the model picker.

See also​

QRYA product of IXEN.