Read and edit Google Docs, Google Sheets, and Google Slides, and read/write plain text files, stored in the user's Google Drive. Nothing is stored on Imperal โ content is fetched live and written straight back to the source.
index_filesreadIndex the user's picked Drive files (extract text + build the search index) so they can be read and searched. Runs in the background and indexes files in parallel โ you'll get a message when done. Call after picking new files, or if a file reports it's still being prepared.
connect_google_docsreadStart Google Drive OAuth โ returns an authorisation URL to open in the browser. Connecting again adds another Google account (each keeps its own pool of picked files).
open_file_pickerreadGet a link to the Google Picker where the user selects which Drive files/folders Google Drive may access (for a specific connected account, default the active one). Picked items register automatically; call list_files afterwards.
register_picked_fileswriteManual fallback: register files from the JSON the Picker page showed, ONLY if it displayed a copy-paste box instead of confirming automatically (rare). Skips files already registered.
list_filesreadList the Drive files AND folders the user connected โ name, type, size and indexing status (pending/indexing/ready/failed/cold). Folders can be opened with open_folder. Automatically picks up items just selected in the Picker. Does not return file content.
open_folderreadList the contents of a connected Google Drive folder (files + subfolders) by its folder_id from list_files. Read a file inside it with read_file.
disconnect_fileswriteRemove ONE OR MORE files from the connected list and delete their cached indexes (Postgres+Nextcloud), in parallel. Pass one file_id or several. The files in Google Drive itself are untouched.
list_accountsreadList the Google accounts connected to Google Drive โ each account's email, which one is active, and how many files are in its own pool. Use when the user asks which Google accounts are connected or which one is in use.
switch_accountwriteChange the active Google account. Subsequent file listing, picking, reading and editing use this account's own pool of picked files until switched again.
disconnect_accountdestructiveDisconnect a Google account from Google Drive and forget its pool of picked files. Nothing is deleted in Google Drive itself; the OAuth grant can be fully revoked by the user at myaccount.google.com/permissions.
read_filesreadRead the text of ONE OR MANY Drive files at once โ pass a single file_id or several and they are read in PARALLEL. Works for any type (Doc/Sheet/Slides/PDF/PPTX/DOCX/XLSX/text). One file โ full window; several โ a preview of each. A file still indexing comes back marked 'preparing' (indexing is kicked automatically โ ask again shortly). Use offset/limit to page a long single file.
file_overviewreadQuick, cheap overview of ONE OR MANY files at once (type, size, indexing status, short preview) โ pass one or several file_ids. Use to decide which files to actually read.
search_filesreadSearch the user's Drive files. Omit file_ids to search ALL of them at once by MEANING (semantic โ one pass over everything, token-cheap) โ this is the way to 'study all my files'. Give file_ids to grep exact text across those specific files (in parallel). Prefer this over reading whole files when you just need to find something.
edit_documentwriteEdit a Google Doc OR Google Slides presentation (auto-detected from the file's type): op=replace (exact find-and-replace โ fails if find_text has no match; ALSO fails if find_text matches more than once in the live document, since a wider match than intended silently corrupts unrelated text โ pass replace_all=true only when every occurrence really should change), op=append (Docs only โ add text to the end), or op=overwrite (Docs only โ replace the whole document). Slides supports replace only (no single body to append to/overwrite). Changes the live document immediately.
edit_spreadsheetwriteWrite a 2D array of values into a Google Sheet range (A1 notation, e.g. 'Sheet1!A1:D10'). Overwrites only that range on the live sheet.
get_spreadsheet_inforeadList a Google Sheet's tab names and dimensions (rows/columns). Call this FIRST when you need to read a specific range or figure out where to write/append โ there's no way to guess the sheet name or size otherwise.
read_spreadsheet_rangereadRead a range of cells from a Google Sheet (A1 notation, e.g. 'Sheet1!A1:D20', or a bare sheet name for the whole sheet). Returns the raw 2D values โ structured access for understanding the layout before editing/appending.
append_spreadsheet_rowswriteAppend new rows AFTER the existing data in a Google Sheet โ it auto-finds the table, so you DON'T need to compute the target range. Use this to ADD records/rows (e.g. new companies). Defaults to the first sheet; pass a sheet name to target another tab.
spreadsheet_computereadCompute an EXACT sum/count/average/min/max over a Google Sheet range (A1 notation), calculated in code โ not estimated from a text dump. Use for totals instead of reading raw cells.
write_text_filewriteOverwrite a genuinely text-based Drive file (text/JSON/XML/YAML) with new content. Binary formats (PDF/DOCX/XLSX/PPTX) are read-only and will be refused.
file_bulk_actionwritePanel UI bulk dispatcher for the multi-selected files in the file list โ called by the panel's bulk toolbar, not LLM chat. From chat use disconnect_files() or index_files() instead.
Install Google Drive Connector and let Webbee use it across your workflow.
Open in panel