Productivity
Google Drive
A Google Drive integration creates Drive push-notification channels for specific Google Sheets and Docs files, then turns Drive callbacks into Mobius source events.
Use Google Drive when a loop should start after a shared spreadsheet or document changes. Drive callbacks tell Mobius that the file changed; the event does not contain cell-level or paragraph-level diffs.
For the shared Google credential model, see Google integrations.
Capability map
| Capability | Value |
|---|---|
| Provider ID | google_drive |
| Auth kind | oauth2_user |
| Connect flow | Google OAuth user grant with file IDs |
| Actions | No |
| Events | Yes |
| Webhook delivery | Yes |
| Event samples | No |
| Live status | Yes |
Connect Google Drive
| Surface | Support |
|---|---|
| App | Open Govern > Integrations, choose Google Drive, enter Google Sheets or Docs file IDs, then continue through Google OAuth. |
| CLI | The mobius CLI does not connect Google Drive integrations yet. Use the app or API. |
| API | Call POST /v1/projects/{project}/integrations/providers/google_drive/connect with file_ids or files, then redirect the user to the returned Google OAuth URL. |
Google expires Drive channels, so Mobius stores channel state and renews watches before expiration. The webhook endpoint must be reachable over public HTTPS for Google to deliver callbacks.
Permissions
Mobius requests Drive metadata and drive.file access by default. drive.file
keeps access scoped to files the connected user opens with or shares with the
app, while Drive metadata lets Mobius verify file names, MIME types, and watch
state.
Use the Google account that can access every Sheet or Doc you want to watch. Mobius verifies each file before creating the watch.
Events
google_drive.sheet.updated
google_drive.document.updatedEach event payload includes the Drive file ID, file name, MIME type, Drive
resource state, changed facets from X-Goog-Changed, and the channel metadata
used for deduplication.
Drive sends an initial sync notification when a channel is created. Mobius
acknowledges that callback without emitting a source event, so loops only start
on later file updates.
API shape
{
"file_ids": ["<google-sheet-or-doc-file-id>"]
}Use the expanded form when you want to document the expected file kind:
{
"files": [
{ "file_id": "<spreadsheet-id>", "kind": "sheet" },
{ "file_id": "<document-id>", "kind": "document" }
]
}Mobius verifies the MIME type with Drive before creating the watch. If a file is not a native Google Sheet or Google Doc, the connect request fails before any loop can depend on it.
Troubleshooting
The file ID is rejected
Use the ID from a native Google Sheet or Google Doc URL. Uploaded Excel, Word, PDF, or binary files are not valid watch targets for this integration.
The first callback does not start a run
Drive sends an initial sync notification after Mobius creates a channel.
Mobius records it without emitting a source event. Update the file after the
watch is active to test the run trigger.
A spreadsheet changed but no cell values are in the event
Drive events say that the file changed. Read the exact values inside the run with Google Sheets.
Next
- Use
google_drive.sheet.updatedin triggers. - Read spreadsheet contents with Google Sheets.
- Inspect recent callbacks from integrations.