DocsIntegrations

Google Sheets

Google Sheets connects spreadsheet read and write actions to Mobius assistants.

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

Use Google Sheets when the spreadsheet is a shared operational surface and the assistant 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 Build > 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/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.

For OAuth, the account choice defaults to My account and an organization administrator may choose Shared account for a Google account the team shares. A team member's own account can only be connected as theirs. A service-account connection is always team-managed and requires an organization administrator. After connecting, open the exact account and use Assistant access to grant it to Scout or any other assistant that should work in those spreadsheets.

If an assistant can use several Sheets accounts, name the account in the request or save an account preference. A routine such as Northwind's morning brief saves its exact Sheets account instead. It will not switch to another person's spreadsheet connection later.

Permissions

OAuth mode requests drive.file plus the connected account email. It can use only spreadsheets chosen with Picker or created by Mobius; the authorized-file list is therefore not an account-wide browser. Picker must be signed into the Google account shown on the connection. Service-account mode mints a token for the spreadsheet and Drive metadata scopes from the uploaded service account JSON.

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

Choose spreadsheets

For OAuth accounts, Files available to assistants lists spreadsheets selected in Google or created by Mobius. Choosing spreadsheets makes them available to assistants already allowed to use this exact account. The manager must sign into Google as the connected account; direct browsing uses your own personal connection. Team content needs an eligible assistant in a saved chat, rather than account management alone.

Google keeps the selected spreadsheets authorized until you change the app's access in Google account connections. Selection does not save a Library copy or start change notifications. Use the separate Spreadsheet change notifications setup to watch a Sheet through Google Drive. Stopping a watch leaves spreadsheet access intact.

Actions

google_sheets.spreadsheet.create
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. Creating a spreadsheet, appending, updating, or clearing values changes Google data without an automatic Mobius confirmation. The exact Sheets account, file scope, and assistant grant are still rechecked immediately before dispatch.

Events

Use Google Drive when Mobius should know that a spreadsheet changed:

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

For OAuth, choose the spreadsheet with Picker while signed into the connected account. Pasting an ID or URL does not grant access. For service accounts, share the spreadsheet with the service account email address.

Sheet-change events do 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. If your own workflow retries later, check for the row first when duplicates matter.

Next