Productivity & TasksDocumentedScanned

withings-health

Fetches health data from the Withings API including weight, body composition (fat, muscle,.

Share:

Installation

npx clawhub@latest install withings-health

View the full skill documentation and source below.

Documentation

This skill allows you to interact with the user's Withings account to retrieve comprehensive health metrics from Withings devices (smart scales, sleep analyzers, activity trackers, etc.).

When to Use This Skill

Use this skill when the user:

  • Asks about their weight or weight history

  • Wants to see their body composition (fat %, muscle mass, bone mass, hydration)

  • Requests their daily activity (steps, distance, calories burned)

  • Asks about their sleep data (duration, quality, deep sleep, REM)

  • Mentions "Withings" or any Withings device (Body+, Sleep Analyzer, ScanWatch, etc.)

  • Wants to track their health progress over time


Setup: Creating a Withings Developer App

Before using this skill, you need to create a free Withings developer application to get your API credentials.

Step 1: Create a Withings Developer Account

  • Go to [Withings Developer Portal]()

  • Click Sign Up or Log In if you already have a Withings account

  • Accept the Developer Terms of Service
  • Step 2: Create Your Application

  • Navigate to My AppsCreate an Application

  • Fill in the application details:

  • - Application Name: Choose a name (e.g., "My Clawdbot Health")
    - Description: Brief description of your use case
    - Contact Email: Your email address
    - Callback URL: (required for OAuth) - **Application Type**: Select "Personal Use" or appropriate type 3. Submit the application ### Step 3: Get Your Credentials Once your application is created: 1. Go to **My Apps** and select your application 2. You'll find: - **Client ID** → Set as WITHINGS_CLIENT_ID environment variable - **Client Secret** → Set as WITHINGS_CLIENT_SECRET environment variable ### Step 4: Configure Environment Variables Add these to your Clawdbot environment: __CODE_BLOCK_0__ Or create a .env file in the skill directory (this file will be ignored by git): __CODE_BLOCK_1__ ## Configuration The skill uses a wrapper.js script located in {baseDir}. Before any data retrieval, check if the user is authenticated. If an error mentions "No token found", guide the user through the initial authentication process. ## Available Commands ### 1. Authentication First-time setup - generates the OAuth URL: __CODE_BLOCK_2__ After the user visits the URL and gets the authorization code: __CODE_BLOCK_3__ ### 2. Get Weight Retrieve the latest weight measurements: __CODE_BLOCK_4__ Returns the 5 most recent weight entries in JSON format. **Example output:** __CODE_BLOCK_5__ ### 3. Get Body Composition Retrieve comprehensive body metrics (fat, muscle, bone, water, BMI): __CODE_BLOCK_6__ Returns the 5 most recent body composition measurements. **Example output:** __CODE_BLOCK_7__ ### 4. Get Activity Retrieve daily activity data (steps, distance, calories): __CODE_BLOCK_8__ Optionally specify the number of days (default: 7): __CODE_BLOCK_9__ **Example output:** __CODE_BLOCK_10__ ### 5. Get Sleep Retrieve sleep data and quality: __CODE_BLOCK_11__ Optionally specify the number of days (default: 7): __CODE_BLOCK_12__ **Example output:** __CODE_BLOCK_13__ ## Error Handling Common errors and how to resolve them: | Error | Cause | Solution | |-------|-------|----------| | "No token found" | First time use, not authenticated | Run node wrapper.js auth and follow the OAuth flow | | "Failed to refresh token" | Token expired and refresh failed | Re-authenticate with node wrapper.js auth | | "API Error Status: 401" | Invalid or expired credentials | Check your CLIENT_ID and CLIENT_SECRET, re-authenticate | | "API Error Status: 503" | Withings API temporarily unavailable | Wait and retry later | | Empty data | No measurements in the requested period | User needs to sync their Withings device | ## Notes - Tokens are automatically refreshed when they expire - Withings API scopes used: user.metrics, user.activity`
    • Data availability depends on which Withings devices the user owns

    • Some metrics (like body composition) require a compatible smart scale