# New Files (Shared Drive) — Google Drive

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

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

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `timer` | `$.interface.timer` | Yes | Interval to poll the Google Drive API for new files |
| `drive` | `string` | Yes | Select a Shared Drive from this list Options are loaded from the connected account. |
| `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 |
| `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. |

## 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-shared-drive",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    google_drive: { authProvisionId: "apn_xxxxxxx" },
    timer: { "intervalSeconds": 900 },
    drive: "Shared Drive",
  },
  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-shared-drive",
    "webhook_url": "https://example.com/webhooks/google-drive",
    "configured_props": {
      "google_drive": { "authProvisionId": "apn_xxxxxxx" },
      "timer": { "intervalSeconds": 900 },
      "drive": "Shared Drive"
    }
  }'
```

**MCP**

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

New Files (Shared Drive) 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
