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.