Skip to main content

Documentation Index

Fetch the complete documentation index at: https://lava.so/docs/llms.txt

Use this file to discover all available pages before exploring further.

Google Workspace APIs providing access to Google Drive, Docs, Sheets, and Calendar. Best for workflows that need to manage files, read/write spreadsheets, edit documents, or schedule calendar events — storage, documents, and scheduling in one provider, unlike Notion (structured knowledge only). Gmail is served separately by the Gmail provider. 14 example endpoints available through Lava’s AI Gateway. See the Google Workspace API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a catch-all provider — any valid URL under https://www.googleapis.com is supported. Drive, Docs, Sheets, and Calendar APIs. Multiple base URLs — use get_provider_docs for endpoint reference. The endpoints below are curated examples.

Endpoints

List Drive files

GET https://www.googleapis.com/drive/v3/files — Free
const data = await lava.gateway('https://www.googleapis.com/drive/v3/files', { method: 'GET' });

List calendar events

GET https://www.googleapis.com/calendar/v3/calendars/primary/events — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events', { method: 'GET' });

Get spreadsheet data

GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId} — Free
const data = await lava.gateway('https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}', { method: 'GET' });

Get document content

GET https://docs.googleapis.com/v1/documents/{documentId} — Free
const data = await lava.gateway('https://docs.googleapis.com/v1/documents/{documentId}', { method: 'GET' });

Create a folder or file metadata in Drive

POST https://www.googleapis.com/drive/v3/files — Free
const data = await lava.gateway('https://www.googleapis.com/drive/v3/files', {
  body: {
"name": "New Folder",
"mimeType": "application/vnd.google-apps.folder"
},
});

Update file metadata (rename, move, etc.)

PATCH https://www.googleapis.com/drive/v3/files/{fileId} — Free
const data = await lava.gateway('https://www.googleapis.com/drive/v3/files/{fileId}', { method: 'PATCH', body: {"name":"Renamed File"} });

Permanently delete a file from Drive

DELETE https://www.googleapis.com/drive/v3/files/{fileId} — Free
const data = await lava.gateway('https://www.googleapis.com/drive/v3/files/{fileId}', { method: 'DELETE' });

Apply updates to a document (insert text, format, etc.)

POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate — Free
const data = await lava.gateway('https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate', {
  body: {
"requests": [
  {
    "insertText": {
      "location": {
        "index": 1
      },
      "text": "Hello, world!"
    }
  }
]
},
});

Append rows to a spreadsheet

POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED — Free
const data = await lava.gateway('https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED', { body: {"values":[["Row 1 Col A","Row 1 Col B"]]} });

Update cell values in a spreadsheet

PUT https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}?valueInputOption=USER_ENTERED — Free
const data = await lava.gateway('https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}?valueInputOption=USER_ENTERED', { method: 'PUT', body: {"values":[["Updated value"]]} });

Create a calendar event

POST https://www.googleapis.com/calendar/v3/calendars/primary/events — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events', {
  body: {
"summary": "Team standup",
"start": {
  "dateTime": "2025-01-15T09:00:00-07:00"
},
"end": {
  "dateTime": "2025-01-15T09:30:00-07:00"
}
},
});

Replace a calendar event entirely

PUT https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId} — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId}', {
  method: 'PUT',
  body: {
"summary": "Updated meeting",
"start": {
  "dateTime": "2025-01-15T10:00:00-07:00"
},
"end": {
  "dateTime": "2025-01-15T11:00:00-07:00"
}
},
});

Partially update a calendar event

PATCH https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId} — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId}', { method: 'PATCH', body: {"summary":"Renamed event"} });

Delete a calendar event

DELETE https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId} — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId}', { method: 'DELETE' });

Next Steps

All Providers

Browse all supported AI providers

Forward Proxy

Learn how to construct proxy URLs and authenticate requests