Productivity

Google Sheets

A Google Sheets integration connects spreadsheets to Mobius so loops can read metadata, fetch values, append rows, update ranges, and clear ranges.

Use Google Sheets when the spreadsheet is a shared operational surface and the run needs structured rows or cells. Prefer table actions when Mobius should own the durable data model.

For the shared Google credential model, see Google integrations.

Capability map

CapabilityValue
Provider IDgoogle_sheets
Auth kindoauth2_user
Connect flowOAuth2 user grant or Google service account JSON
ActionsYes
EventsVia Google Drive
Webhook deliveryVia Google Drive
Event samplesNo
Live statusNo

Connect Google Sheets

SurfaceSupport
AppOpen Govern > Integrations, choose Google Sheets, then use OAuth or a service account key.
CLIThe mobius CLI does not connect Google Sheets integrations yet. Use the app or API.
APICall POST /v1/projects/{project}/integrations/providers/google_sheets/connect. Send an empty body for OAuth or service_account_json for service-account mode.

Service-account mode is best for shared team spreadsheets. OAuth mode is best when the spreadsheet access should follow one user's Google permissions.

Permissions

OAuth mode requests spreadsheet read/write access plus Drive metadata so Mobius can list spreadsheets for pickers and reference lookup. Service-account mode mints a token for the spreadsheet scope from the uploaded service account JSON.

Share target spreadsheets with the connected Google user or service account before a run calls Sheets actions. Google Sheets scopes apply to a spreadsheet file, not to one tab inside the spreadsheet.

Actions

google_sheets.spreadsheet.get
google_sheets.values.append
google_sheets.values.batch_get
google_sheets.values.batch_update
google_sheets.values.clear
google_sheets.values.get
google_sheets.values.update

Use A1 ranges explicitly. Use append for log-like rows and update for stable cells. google_sheets.values.clear removes cell contents, so keep it behind a check or interaction when the range is dynamic.

Events

Use Google Drive when a loop should start after a spreadsheet changes:

google_drive.sheet.updated

The Drive event says that the spreadsheet changed. For precise cell values, call google_sheets.values.get or google_sheets.values.batch_get inside the run.

Troubleshooting

spreadsheet_id is rejected or not found

Check that the connected user or service account can open the spreadsheet. For service accounts, share the spreadsheet with the service account email address.

A sheet-change trigger does not appear

Sheet-change events are provided by Google Drive. Connect Google Drive and watch the spreadsheet from the Sheets integration page or the Google Drive page.

A write action repeats after a retry

values.update and values.batch_update replace specific ranges and are safer to retry. values.append adds new rows each time it runs, so add an interaction or an idempotency check when duplicate rows matter.

Next