# Google Health — Pipedream Connect

> Google Health offers personalized health coaching built with Gemini. Track your fitness, sleep, and health data with guidance that evolves with you.

- API slug: `google_health` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Productivity
- Website: https://healthapp.google/
- Managed OAuth scopes: `https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly` · `https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly` · `https://www.googleapis.com/auth/googlehealth.sleep.readonly` · `https://www.googleapis.com/auth/googlehealth.nutrition.readonly`
- This page (HTML): https://pipedream.com/apps/google-health
- Tools: 8 actions · 0 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: google_health`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
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 accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_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()

// e.g. run Get Body Measurements:
const result = await mcp.callTool({
  name: "google_health-get-body-measurements",
  arguments: {
    startDate: "Start Date",
    endDate: "End Date",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Google Health endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://health.googleapis.com/v4/users/me/dataTypes/steps/dataPoints

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9oZWFsdGguZ29vZ2xlYXBpcy5jb20vdjQvdXNlcnMvbWUvZGF0YVR5cGVzL3N0ZXBzL2RhdGFQb2ludHM?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```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 result = await pd.actions.run({
  id: "google_health-get-body-measurements",
  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",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (8)

### `google_health-get-body-measurements` — Get Body Measurements (Read-only)

Get the user's weight logs with computed BMI, their body-fat percentage logs, and their current height. Raw logs, so there is no date cap; at most 1000 weigh-ins per call, with truncated set when there were more. Example: startDate="2026-08-01", endDate="2026-08-25" → weightLogs: [{ time, weightKg…

Full schema: https://pipedream.com/apps/google-health/actions/get-body-measurements.md

### `google_health-get-daily-activity-summary` — Get Daily Activity Summary (Read-only)

Get a full day of activity at once: steps, distance, calories, active minutes by intensity, active zone minutes by heart rate zone, and floors. The right tool when the user wants an overall picture of a day rather than one metric — use Get Daily Step Count for steps alone or Get Heart Rate for…

Full schema: https://pipedream.com/apps/google-health/actions/get-daily-activity-summary.md

### `google_health-get-daily-steps` — Get Daily Step Count (Read-only)

Get the user's total step count per day — the tool for any "how many steps" question. Returns one pre-aggregated total per day, not raw samples. Use Get Daily Activity Summary instead when distance, calories, active minutes, or floors are wanted alongside steps. The range is inclusive and capped at…

Full schema: https://pipedream.com/apps/google-health/actions/get-daily-steps.md

### `google_health-get-heart-rate` — Get Heart Rate (Read-only)

Get the user's heart rate aggregated into time windows, plus their daily resting heart rate. Each window reports average, minimum, and maximum BPM; pick the window size with granularity. The range is inclusive and capped at 14 days, because the windows are server-aggregated. Example…

Full schema: https://pipedream.com/apps/google-health/actions/get-heart-rate.md

### `google_health-get-identity` — Get Identity (Read-only)

Get the connected user's Google Health identifiers: healthUserId and legacyUserId, the ID the same user had on the legacy Fitbit Web APIs. Use it to correlate records between a system that stored Fitbit IDs and one now on Google Health. Also the cheapest way to confirm the connection works, since…

Full schema: https://pipedream.com/apps/google-health/actions/get-identity.md

### `google_health-get-nutrition-and-hydration` — Get Nutrition and Hydration Logs (Read-only)

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…

Full schema: https://pipedream.com/apps/google-health/actions/get-nutrition-and-hydration.md

### `google_health-get-sleep-data` — Get Sleep Data (Read-only)

Get the user's sleep sessions with per-stage totals, time asleep and awake, and a derived efficiency figure. A session is attributed to the date the user woke up, matching Fitbit — asking for 2026-08-24 returns the night of the 23rd into the 24th. Example: startDate="2026-08-24" → sessions: [{…

Full schema: https://pipedream.com/apps/google-health/actions/get-sleep-data.md

### `google_health-list-data-points` — List Data Points (Read-only)

Read raw data points for any Google Health data type the dedicated tools do not cover — blood oxygen (oxygen-saturation), heart rate variability, respiratory rate, VO2 max, body temperature, exercise sessions, sedentary periods, altitude, swim lengths and more; see the dataType options for the full…

Full schema: https://pipedream.com/apps/google-health/actions/list-data-points.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
