Google Sheets ACTION
Find Rows
Search for rows matching a value in a specific column. Use Get Spreadsheet Info to discover column header names. Returns matching rows as objects with row numbers (useful for subsequent Update Rows calls). For simple reads without filtering, use Read Rows instead.
- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Google Sheets account once, then configure and run Find Rows 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_sheets-find-rows",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
google_sheets: { authProvisionId: "apn_xxxxxxx" },
spreadsheetId: "Spreadsheet ID",
sheetName: "Worksheet Name",
},
})
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_sheets-find-rows",
"configured_props": {
"google_sheets": { "authProvisionId": "apn_xxxxxxx" },
"spreadsheetId": "Spreadsheet ID",
"sheetName": "Worksheet Name"
}
}'// 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_sheets",
},
},
},
)
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_sheets-find-rows",
arguments: {
spreadsheetId: "Spreadsheet ID",
sheetName: "Worksheet Name",
},
})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 |
|---|---|---|
spreadsheetId Spreadsheet ID | string | The spreadsheet ID from the Google Sheets URL. Required |
sheetName Worksheet Name | string | The worksheet (tab) name. Use Get Spreadsheet Info to discover worksheet names. Required |
column Column | string | Column header name (e.g., Name, Email) or column letter (e.g., A, B). Required |
searchValue Search Value | string | The value to search for. Required |
matchType Match Type | string | How to match: exact (case-insensitive exact match), contains (substring match), starts_with. Default: contains. 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_sheets-find-rows
- Version
- 0.0.5
- App
- Google Sheets
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗