Google Drive ACTION
Search Files
Search for files and folders in Google Drive using the Drive query language. This is the primary tool for finding files, folders, spreadsheets, forms, and any other Drive item. Returns matching files with their IDs, names, MIME types, and parent folder IDs.
Query syntax — pass a Drive search query string. Examples:
- Find by name:
name contains 'Budget' - Exact name match:
name = 'Q4 Report' - Folders only:
mimeType = 'application/vnd.google-apps.folder' - Google Docs:
mimeType = 'application/vnd.google-apps.document' - Spreadsheets:
mimeType = 'application/vnd.google-apps.spreadsheet' - Files in a folder:
'FOLDER_ID' in parents - Not trashed:
trashed = false - Modified after date:
modifiedTime > '2024-01-01T00:00:00' - Combine with AND:
name contains 'Report' and mimeType = 'application/vnd.google-apps.document' - Owner filter:
'user@example.com' in owners
When the user says 'my files', use Get User Details first to get the owner email. To scope to a shared drive, pass the driveId from List Shared Drives. See the documentation
- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Google Drive account once, then configure and run Search Files from your backend or agent.
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 result = await pd.actions.run({
id: "google_drive-search-files",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
google_drive: { authProvisionId: "apn_xxxxxxx" },
query: "Query",
driveId: "Drive ID",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-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-search-files",
"configured_props": {
"google_drive": { "authProvisionId": "apn_xxxxxxx" },
"query": "Query",
"driveId": "Drive ID"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "google_drive",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "google_drive-search-files",
arguments: {
query: "Query",
driveId: "Drive ID",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
query Query | string | A Drive search query string. See the tool description for syntax examples. Common queries: name contains 'keyword', mimeType = 'application/vnd.google-apps.folder', 'FOLDER_ID' in parents, trashed = false. Required |
driveId Drive ID | string | Optional. Scope the search to a specific shared drive. Use List Shared Drives to find available drive IDs. Omit to search My Drive. Optional |
includeItemsFromAllDrives Include Items From All Drives | boolean | If true, include results from all drives (My Drive and shared drives). Defaults to false. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- google_drive-search-files
- Version
- 0.0.4
- App
- Google Drive
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗