Files

Every project can have files the agent can read, write, and edit. They're stored in Avi's cloud storage, scoped to your project. The agent can:

  • Search and list files across the project — one federated search that also covers a connected Google Drive.
  • Read any file. Text files (markdown, CSV, JSON, code, etc.) come through as text. Images and PDFs are read natively — Avi can see the contents of a PDF or screenshot directly, no extraction step. Word, Excel, and PowerPoint files (.docx/.xlsx/.pptx) are read as extracted text — spreadsheets come through sheet-by-sheet so Avi can reason over the rows. Avi can also check a file's size, checksum, and an image's pixel dimensions without reading it.
  • Write new files (text, or binary from generated bytes) and download files from the web by URL.
  • Edit parts of existing text files in place.
  • Create notes and structured documents (with pixel-accurate PDF export), and produce new files as it works — exported PDFs, converted or resized images.
  • Fill out fillable PDF forms, accurately and completely (see Filling PDF forms).
  • Move and rename files or whole folders (moving a file under the Google Drive root uploads it there).
  • Delete files.

All of this happens through the Drive app's tools — files, notes, and documents are one tree with one set of tools.

Getting files in

There are four ways to put a file into a project:

  • Drive panel: open the Drive app from the project sidebar and drag files in (or pick from your computer). They appear in the tree and are immediately readable by the agent.
  • Paste or drop in chat: paste a screenshot from the clipboard, or drag a file onto the chat composer. Attachments are saved into the project's Attachments/ folder automatically, so they show up in Drive and Avi can come back to them in later conversations. Limits: 8 attachments per message, 10 MB each. Very large images are automatically downscaled before they're shown to the model (the stored file keeps its full resolution).
  • Let the agent create them: Avi can write new files as it works (a generated report, a chart, a transformed CSV).
  • Pull them in from connected apps: with the Google app enabled, ask Avi to save an email attachment or a Google Drive file into the project — "grab the invoice PDF from Dana's email and review it". The file lands in the project's files (attachments default to an email-attachments/ folder), and since PDFs and images are read natively, Avi can review the contents right away. Files up to 10 MB.

Files persist for as long as the project exists.

Getting files out

Project files also travel the other way. With the Google app enabled, Avi can attach project files to emails it sends or drafts ("send the Q3 report to Dana as an attachment" — up to 18 MB of attachments per email) and upload project files to Google Drive byte-exact, including binary files like PDFs and images — optionally converting them into native Google Docs or Sheets on the way.

Editing files safely

When Avi edits part of a file in place, it has to point at a snippet that's unique in the file — otherwise the edit might land at the wrong copy of a common phrase. If your file has the same exact line in two spots, Avi will ask for more context to disambiguate, or you can tell it explicitly to replace every occurrence.

Edits and overwrites are also protected against collisions: if a file changed between Avi reading it and writing it back (say, a teammate re-uploaded it), the write is refused and Avi re-reads before retrying — so nobody's changes get silently overwritten.

Nothing is lost when a file is replaced. Whenever Avi overwrites, edits, or replaces one of your files, the previous version is kept in a hidden working area for about 7 days — open Working files from the Drive panel's root menu to see it, and ask Avi to restore it if a change should be undone. Avi also uses the same area to stage things it produces (a converted image, a filled PDF) so it can double-check the result before placing it in your tree; anything left unplaced cleans itself up after a week.

Notes get the same protection. Avi can't replace a note's whole body without having just read it — a blind rewrite is refused outright, and targeted edits only ever change the exact passage they name. Whenever a note's content does change, the previous body is kept in the same working area for about 7 days, so any edit can be undone by asking Avi to restore it.

Filling PDF forms

Avi can fill out fillable PDFs — tax forms, applications, intake forms, contracts with form fields — accurately and completely:

  • Inspection first. Avi reads the form's actual field list (every field's exact internal name, its type — text, checkbox, radio buttons, dropdown — its allowed options, and where it sits on the page) and reads the PDF itself to see the labels, so each value goes into the right field. It never guesses at field names.
  • Validated, all-or-nothing fills. Every value is checked against the field it's going into — a dropdown only accepts its real options, a checkbox only true/false, and text that exceeds a field's length limit is rejected rather than silently cut off. If anything doesn't line up, nothing is written and Avi fixes the mismatch first.
  • Nothing missed. After filling, Avi sees exactly which fields are still empty, and can re-read the finished PDF to double-check it visually.

Drop a blank form into the project (or paste it into chat) and ask — "fill out this W-9 with our company details". Avi can write the filled copy alongside the original so the blank template stays reusable, and can optionally flatten the result — baking the values in so the form can't be edited afterwards. Scanned or flattened PDFs without real form fields can't be filled this way; Avi will tell you when a fillable version is needed.

Signing. Avi can place your signature on a PDF the same way e-sign products do: type your name and it's rendered in a handwriting script, or upload a photo/scan of your real signature once (a PNG with a transparent background works best) and Avi stamps it wherever a document needs it — sized and positioned against the signature line, then visually double-checked. This is the standard "type or draw" electronic signature convention — legally effective for most everyday agreements in many jurisdictions — but it is a visual mark, not a cryptographic digital signature, and Avi only places your signature at your direction.

Protected forms. Many official forms — government, insurance, HR — are published with a protection flag: they open normally in any PDF viewer, but the publisher marked them against modification. Avi won't quietly work around that; it asks for your go-ahead first, then inspects and fills the form as usual. If a PDF needs an actual password to open, give Avi the password — it's used only to open the file, though like anything sent in chat it remains part of the conversation. Either way, the filled copy comes out without the protection — which is what you want for a form you're submitting — and the untouched original stays in your files when Avi writes the filled copy alongside it.

One thing to expect with a protected form: Avi can't look at it the way it looks at an ordinary PDF, so it reads the form's text and fields with your go-ahead instead. Same for a PDF that's corrupt or was cut short mid-upload — Avi says so and keeps working from the file's text rather than leaving you with a dead reply.

Signed documents. Filling or editing a PDF that already carries a digital signature would invalidate that signature, so Avi stops and asks before touching one.

Scanned and flat forms. When a PDF has no real form fields — a scanned form, a flattened copy — Avi can still complete it by writing text directly onto the page: it reads the page layout, places each value next to its printed label, and double-checks the result visually. The same trick adds a date next to a signature line or an X in a printed checkbox.

International text. Names and answers in Cyrillic, Greek, or extended Latin alphabets (ł, ő, đ…) fill correctly — Avi embeds a suitable font automatically when the form's own font can't display them.

Page operations. Avi can also combine PDFs into one, pull out or reorder specific pages, and rotate pages ("merge these three PDFs", "extract pages 2–4 into a new file", "the scan is sideways — fix it"). The originals are never modified; the result is always written as a new file.

Finding files

Avi's project-wide search covers files too — by name, and by content for text files. "Find the Q3 budget spreadsheet" works even when the filename doesn't say Q3.

Large files

Avi can read very large text files (logs, big CSVs) in pages — by byte range — rather than swallowing the whole thing at once. You don't have to think about this — Avi will page through automatically when a file is big.

Browsing files

Your project's files live in the Drive app alongside your notes, documents, and connected cloud storage — one tree for everything. Open Drive from the project sidebar to browse folders, preview files inline (images and PDFs render right in the panel), download, upload by drag-and-drop, and manage folders. See Drive's own docs for the full tour.

The Attachments/ folder is special: chat uploads land there and messages reference those paths permanently, so it can't be renamed or deleted.

Custom metadata on files

Every file carries a freeform metadata JSON object — the same extensibility surface Tasks, Notes, and Contacts have (Data Types). Use it to attach cross-system identifiers (stripe.invoice_id, hubspot.attachment_id), workflow state (reviewed_by, team_owner), or any tag you'll later want to filter on. Two systems writing different top-level keys never clobber each other.

You can read or write a file's metadata from the agent (Avi sets keys as part of a file write, patches them alone, sees each file's bag in listings, and filters listings by metadata containment), from apps, or from the HTTP API directly. See the Data Types page for the full merge semantics and query shape.

When you list a directory with a metadata filter, directories with no matching files inside are hidden — the filtered view is focused, not a tree of empty folders. List without a filter to see the full structure.