File attachments

Attach a PDF, Word doc, spreadsheet or CSV to a chat message and any agent reads it — including scanned PDFs. Up to 20 MB per file, no copy-pasting.

Diese Seite ist in deiner Sprache noch nicht verfügbar — wir zeigen die englische Version.

Drop a PDF, a Word document, a spreadsheet or a CSV onto a chat message and the agent reads the actual content before it answers. No copy-pasting, no "summarise this for me first", no reformatting a table by hand.

This works with every agent — Maya reading a supplier contract, Blake crunching an export, Lucy pulling quotes out of a whitepaper, Alex prepping from a spec sheet. The file belongs to the conversation, not to one agent.

You hand it over — it isn't taken

An agent can only read a file you attach yourself. Unyo does not browse your computer, and it cannot browse your Google Drive either — the Drive permission we request only ever covers files you personally pick in Google's own picker, or files Unyo created. The paperclip is the deliberate handover.

What you can attach

FormatWhat the agent reads
PDF (.pdf)The text layer — or, if there isn't one, an automatic OCR pass
Word (.docx)The full text of the document
Spreadsheets (.xlsx, .xls, .ods)Every sheet, converted into readable tables
Data & text (.csv, .tsv, .json, .txt, .md, .log, .html)The raw content

Up to 20 MB per file. Up to 5 files are read into a single message's context; beyond that, ask the agent to read the extras one by one.

Not supported today

PowerPoint (.pptx, .ppt), legacy Word (.doc) and photographs are not readable as attachments — the agent will tell you plainly that it can't open that type rather than guess at the contents. For a slide deck, export it to PDF first and attach that.

How to attach a file

  1. Open a conversation with the agent that owns the job — Blake for data, Maya for anything inbox-adjacent, Lucy for writing.
  2. Click the paperclip in the message composer (or drag the file onto the composer).
  3. Wait for the file chip to appear under your message. Extraction starts immediately.
  4. Type what you actually want — not "read this file". Say what the file is for.
  5. Send. The agent announces a Reading <your file> step, then works from the content.

Here's our Q2 supplier invoice. Pull out every line item over €500 and give me the total.

Attached is the 2026 pricing PDF from a competitor. Compare it to our own pricing and tell me where we're exposed.

This is a scanned contract. What's the notice period, and is there an auto-renewal clause?

Scanned PDFs still work

A PDF that came out of a scanner or a phone camera has no text layer — most tools return an empty page and a shrug.

Unyo tries the fast text extraction first. If that comes back with essentially nothing, an OCR pass takes over automatically and reads the pages as images. The OCR result is only used if it actually recovers more text than the first attempt, so a normal PDF is never degraded by the fallback.

You don't switch anything on. It's the same paperclip.

One limit worth knowing

The OCR fallback handles files up to 14 MB. A larger scan needs to be split, or compressed, before it will go through that path — the regular text extraction still runs at the full 20 MB.

Big spreadsheets: structure, not every cell

A 40 000-row export will not fit in any model's context, and pretending otherwise is how you get a confidently wrong answer.

So Unyo is explicit about it:

  • Small sheets — up to 10 000 characters and 30 rows — are handed over in full as a table. The agent sees every value.
  • Large sheets are handed over as a schema plus sample rows: sheet name, dimensions, column headers, and a handful of real rows. The agent is told, in the same breath, that the data is too large to read cell by cell and that it must compute over it rather than eyeball it.

That's the honest trade. The agent knows the shape of your data and knows it hasn't seen all of it — which is exactly why it reaches for real computation instead of inventing a total.

For real maths on a big file, ask Blake

Blake runs actual Python (pandas, numpy, matplotlib) in an isolated, internet-disabled sandbox — he computes the sum, he doesn't estimate it. Other agents can hand the job to him. And any agent can turn the result back into a real multi-tab .xlsx you can download. See Data analysis and Spreadsheets.

Reading your file is a visible step

When an agent has to go and read a long file, you see it happen — the step appears in the run timeline rather than the work happening off-screen.

The same transparency applies on reload: the steps you watched live are the steps that are still there tomorrow.

Long files are read in pages

Short attachments get inlined into the conversation whole. Longer ones don't — the agent is handed a pointer instead and reads the file in pages of 12 000 characters, following the content until it has what your question needs. Up to 100 000 characters of extracted text are kept per file.

You'll occasionally see the agent read a long document across several steps. That's it working through the pages, not looping.

What it costs

Nothing, as a tool. Attaching a file, listing the attachments in a conversation and reading them are all zero-credit operations — like every read, search, draft and plan in Unyo. You're only billed for the model tokens the run actually consumes, at real cost.

See Credits and billing.

Where your files live

Attachments go into a private storage bucket. They aren't public, they aren't shared between accounts, and no permanent public link to them is ever created.

When you delete your account, your attachments are purged from storage along with everything else — account deletion sweeps every user-scoped bucket, not just the database rows. See Your data and deletion.

Which agents can read my attachments?

All of them. File reading is mounted for every agent, not gated to a specialist. Attach a file in a Maya conversation and Maya reads it; attach the same file to Blake and Blake reads it. The attachment belongs to the conversation it was posted in — an agent can list and read the files in that conversation, and no others.

Can an agent read a PDF that's sitting in my Google Drive?

Not directly — and this is a real boundary, not an oversight. Unyo holds the narrowest Google Drive permission available: it can only touch files you pick yourself in Google's own picker, or files Unyo itself created. On top of that, the Drive reader handles Google Docs, Google Sheets, text and JSON — not PDFs.

To have an agent read a PDF, attach it to the message. That path handles PDFs, Word files and spreadsheets, and it's the one to use. See Google Drive.

What happens if the file can't be read?

You get told, not guessed at. Unsupported types (.pptx, .doc, photos) come back with a clear "this type can't be read" and the agent says so instead of hallucinating contents. If extraction simply hasn't finished yet, the agent retries it once itself before answering — a file that arrived a second before you hit send usually just works.

Is there a limit on how many files I can attach?

Each file is capped at 20 MB. Up to 5 files are read into the context of a single message, and an agent can see up to 25 attachments from the current conversation when it goes looking. Attaching more than five at once isn't an error — the agent just reads them on request rather than all at once.

Are my attachments used to train AI models?

No. Every model Unyo runs is under a no-training guarantee, and your files are used only to answer the request you made. They're stored in a private bucket and purged with your account.

Troubleshooting

"The agent says it can't read the file type." Check the extension against the table above. PowerPoint, legacy .doc and images aren't supported — export to PDF and re-attach.

"It uploaded but the agent ignored it." Check that your message actually asked something about the file's contents — "summarise the attachment" works, a bare upload doesn't. If the answer looks like it missed the document, say "read the attached file first" and re-send.

"My scanned PDF came back empty." Scans over 14 MB fall outside the OCR path. Split the document or compress it, then re-attach.

"The agent got the total wrong on my spreadsheet." It's probably a large sheet, where the agent sees the schema and sample rows rather than every cell. Ask Blake to compute it — he runs real Python over the data instead of reading it.

"The file is over 20 MB." Split it. The 20 MB cap is enforced at upload; there's no override.