# New Files (Instant) — Google Drive

> Emit new event when a new file is added in your linked Google Drive

- Key: `google_drive-new-files-instant`
- Type: Trigger (Polling)
- Version: 0.2.13
- App: Google Drive (`google_drive`) — https://pipedream.com/apps/google-drive.md
- This page (HTML): https://pipedream.com/apps/google-drive/triggers/new-files-instant
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/google_drive/sources/new-files-instant/new-files-instant.mjs

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `drive` | `string` | Yes | 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. Options are loaded from the connected account. |
| `timer` | `$.interface.timer` | Yes | 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. |
| `changesPageSize` | `integer` | No | 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. |
| `folders` | `string[]` | No | (Optional) The folders you want to watch. Leave blank to watch for any new file in the Drive. Options are loaded from the connected account. |
| `includeLink` | `boolean` | No | 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. |
| `includeSubfolders` | `boolean` | No | Whether to watch for new files in subfolders of the parent folder |
| `dir` | `dir` | No | Dir |

## Returns

Events emitted by Google Drive.

## Run it

**TypeScript**

```ts
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-files-instant",
  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**

```bash
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-files-instant",
    "webhook_url": "https://example.com/webhooks/google-drive",
    "configured_props": {
      "google_drive": { "authProvisionId": "apn_xxxxxxx" },
      "drive": "Drive",
      "timer": { "intervalSeconds": 900 }
    }
  }'
```

**MCP**

MCP servers expose Google Drive actions as on-demand tools.

New 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.

## Event delivery

Every event is sent to the HTTP endpoint you choose when you deploy the source. Or: no webhook required — your app or agent can fetch recent events from the [trigger events API](https://pipedream.com/docs/connect/api-reference/list-trigger-events.md) instead.

---

- App: https://pipedream.com/apps/google-drive.md · All apps: https://pipedream.com/apps
