You have ten functions so far — Gmail reads and sends, Calendar events, Tasks inserts. Every one returns a dict. Sheets and Docs follow the same contract. GOOGLESHEETS_BATCH_GET gives you a valueRanges key. GOOGLEDOCS_GET_DOCUMENT_BY_ID gives you a title and a body. Same three lines of Python, new action enum.
So a named range in Sheets — like the one I use every Monday for the KPI tracker — that comes back as what, a list of rows?
Exactly: [["Date", "Channel", "Revenue"], ["2026-04-14", "Paid search", "12400"]]. Your Monday tracker in Python is one call and a list comprehension. No browser, no copy-paste, no waiting.
And appending a row is just the reverse — I push a list and it lands in the Sheet? So the tracker could update itself after I run an analysis.
That's the week. Read a range, append a row, search for a spreadsheet by name, read a doc by id, create a new doc with a title. Five new action enums — the skeleton you already know handles the rest.
GOOGLESHEETS_BATCH_GETGOOGLESHEETS_SPREADSHEETS_VALUES_APPENDGOOGLESHEETS_SEARCH_SPREADSHEETSGOOGLEDOCS_GET_DOCUMENT_BY_IDGOOGLEDOCS_CREATE_DOCUMENTGoal: Turn your Sheets and Docs into programmable data stores you can read and write from Python.
Create a free account to get started. Paid plans unlock all tracks.
You have ten functions so far — Gmail reads and sends, Calendar events, Tasks inserts. Every one returns a dict. Sheets and Docs follow the same contract. GOOGLESHEETS_BATCH_GET gives you a valueRanges key. GOOGLEDOCS_GET_DOCUMENT_BY_ID gives you a title and a body. Same three lines of Python, new action enum.
So a named range in Sheets — like the one I use every Monday for the KPI tracker — that comes back as what, a list of rows?
Exactly: [["Date", "Channel", "Revenue"], ["2026-04-14", "Paid search", "12400"]]. Your Monday tracker in Python is one call and a list comprehension. No browser, no copy-paste, no waiting.
And appending a row is just the reverse — I push a list and it lands in the Sheet? So the tracker could update itself after I run an analysis.
That's the week. Read a range, append a row, search for a spreadsheet by name, read a doc by id, create a new doc with a title. Five new action enums — the skeleton you already know handles the rest.
GOOGLESHEETS_BATCH_GETGOOGLESHEETS_SPREADSHEETS_VALUES_APPENDGOOGLESHEETS_SEARCH_SPREADSHEETSGOOGLEDOCS_GET_DOCUMENT_BY_IDGOOGLEDOCS_CREATE_DOCUMENTGoal: Turn your Sheets and Docs into programmable data stores you can read and write from Python.