Google Health ACTION
Get Nutrition and Hydration Logs
Get the user's logged food and water intake, with aggregate calorie, macro and water totals. Example: startDate="2026-08-24" →
entries: [{ time, foodDisplayName: "Greek yogurt", mealType: "BREAKFAST", calories: 180, totalFatG: 4.5, totalCarbohydrateG: 9 }], hydration: [{ time, milliliters: 500, liters: 0.5, flOz: 16.9 }], and totals. totals is one object covering the whole requested range, not per-day figures — call a single day at a time if daily breakdowns are wanted. Entries have no date-range limit, but totals are server-aggregated and cap the range at 90 days — set includeTotals=false to read entries over a longer span, which makes totals null. At most 1000 food entries and 1000 hydration entries come back per call (five pages of 200); truncated: true means there were more, so check it before treating the entry list as complete and narrow the range if it is set. Only food the user logged manually appears here; nothing is inferred from activity, so an empty result means nothing was logged, not that nothing was eaten. See the documentation- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Google Health account once, then configure and run Get Nutrition and Hydration Logs 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_health-get-nutrition-and-hydration",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
google_health: { authProvisionId: "apn_xxxxxxx" },
startDate: "Start Date",
endDate: "End Date",
},
})
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_health-get-nutrition-and-hydration",
"configured_props": {
"google_health": { "authProvisionId": "apn_xxxxxxx" },
"startDate": "Start Date",
"endDate": "End Date"
}
}'// 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_health",
},
},
},
)
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_health-get-nutrition-and-hydration",
arguments: {
startDate: "Start Date",
endDate: "End Date",
},
})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 |
|---|---|---|
startDate Start Date | string | Start date in YYYY-MM-DD format (e.g. 2026-08-24), in the user's own timezone. Defaults to today in UTC, which can be a day off from the user's local date late at night — pass an explicit date when the exact day matters. Optional |
endDate End Date | string | End date in YYYY-MM-DD format, inclusive. Defaults to Start Date, i.e. a single day. For a whole week, set Start Date to the Monday and End Date to the Sunday. Optional |
includeTotals Include Totals | boolean | Include aggregated calorie, macro, and water totals for the range. Defaults to true. Totals are server-aggregated and cap the range at 90 days; set this to false to read entries over a longer span. Optional |
fields Fields | string[] | Field names to keep on each food entry. Defaults to a compact set: time, foodDisplayName, mealType, calories, totalFatG, totalCarbohydrateG, servingAmount, servingUnit. Also available: nutrients (the full forty-nutrient breakdown), energyFromFatKcal, foodResourceName, utcOffset. 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_health-get-nutrition-and-hydration
- Version
- 0.0.3
- App
- Google Health
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗