Google Drive TRIGGER
New or Modified Files (Instant)
- Trigger
- Polling
- OAuth
- Webhook delivery
IMPLEMENTATION
Deploy this event source
Connect the user's Google Drive account, configure the source, and choose the webhook where your backend receives events.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const deployed = await pd.triggers.deploy({
id: "google_drive-new-or-modified-files",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
google_drive: { authProvisionId: "apn_xxxxxxx" },
drive: "Drive",
timer: { "intervalSeconds": 900 },
},
webhookUrl: "https://example.com/webhooks/google-drive",
})
console.log(deployed.id)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/triggers/deploy \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "google_drive-new-or-modified-files",
"webhook_url": "https://example.com/webhooks/google-drive",
"configured_props": {
"google_drive": { "authProvisionId": "apn_xxxxxxx" },
"drive": "Drive",
"timer": { "intervalSeconds": 900 }
}
}'MCP servers expose Google Drive actions as on-demand tools.
New or Modified Files (Instant) is an event source, so your application deploys it
with the Connect SDK or API and then either receives each event at a
webhook URL or retrieves events on demand with the trigger events API.MCP exposes on-demand actions. Event sources are deployed through the Connect SDK or API because they continue listening after the initial request.
SCHEMA
Configuration
These inputs define which events the source watches. Dynamic options are loaded from the connected account.
| Property | Type | Description |
|---|---|---|
drive Drive | string | Defaults to All Drives (My Drive and all Shared Drives you have access to) when no selection is made. To limit to your personal drive or a Shared Drive, select it from this list. Required Dynamic |
timer Push notification renewal schedule | $.interface.timer | The Google Drive API requires occasional renewal of push notification subscriptions. This runs in the background, so you should not need to modify this schedule. Required |
changesPageSize Changes Page Size | integer | Maximum number of changes to fetch per API call (1-1000). Lower values reduce memory usage and the risk of execution timeouts or out-of-memory errors on active drives. Optional |
folders Folder(s) | string[] | The folder(s) to watch for changes. Leave blank to watch for any new or modified file in the Drive. Optional Dynamic |
watchForPropertiesChanges Watch for changes to file properties | boolean | Watch for changes to custom file properties
in addition to changes to content. Defaults to false, watching only for changes to content. Optional |
includeLink Include Link | boolean | Upload file to your File Stash and emit temporary download link to the file. Google Workspace documents will be converted to PDF. See the docs to learn more about working with files in Pipedream. Optional |
dir Dir | dir | Optional |
perFileInterval Minimum Interval Per File | integer | How many minutes to wait until the same file can emit another event. If set to Optional |
LIFECYCLE
Event delivery
01
Connect
Your user authorizes Google Drive through Pipedream managed auth.
02
Deploy
Your backend deploys this source with that user's own configuration.
03
Webhook delivery
Every event is sent to the HTTP endpoint you choose when you deploy the source — after each poll.
OR
On-demand retrieval
No webhook required. Your app or agent can fetch recent events from the trigger events API.
REFERENCE
Trigger details
- Registry key
- google_drive-new-or-modified-files
- Version
- 0.4.13
- App
- Google Drive
- Authentication
- OAuth
- Delivery
- Polling source
- Output
- Events emitted by Google Drive.
- Source
- View on GitHub ↗