Withings Sync for Raycast
Sync your Withings health data (weight, blood pressure, body composition) to Garmin Connect directly from Raycast.
Screenshots
Features
- 📊 View Measurements: View your recent Withings measurements including weight (lb or kg), body fat, blood pressure, and heart rate
- ⬆️ Sync to Garmin: Upload your Withings data to Garmin Connect with one click
- 📅 Sync Today's Data: Quick action to sync all measurements from today
- 🏋️ Complete Body Composition: Syncs weight, body fat, body water, bone mass, and skeletal muscle mass
- 🔐 Secure Authentication: OAuth-based authentication with automatic token refresh for Withings, session-based auth for Garmin
- 🩺 Blood Pressure Support: Optionally include blood pressure readings in your sync
- ⚡ Fast & Lightweight: Built with TypeScript and React for optimal performance
Installation
For End Users
Install directly from the Raycast Store by searching for "Withings Sync"
For Developers
If you want to build or modify this extension locally:
npm install
npm run dev # Development mode with hot reload
npm run build # Build for distribution
Setup
1. Register Withings OAuth App
REQUIRED: You must register your own Withings OAuth application:
- Go to https://developer.withings.com/ and create an account
- Create a new OAuth 2.0 application
- Set the Redirect URI to:
https://raycast.com/redirect?packageName=Extension
- Copy your Client ID and Client Secret
2. Configure in Raycast Preferences
- Open Raycast and press
⌘ + , (Command + Comma)
- Find "Withings Sync" in the extensions list
- Configure your credentials:
- Withings Client ID: Your OAuth Client ID from step 1
- Withings Client Secret: Your OAuth Client Secret from step 1
- Garmin Username: Your Garmin Connect email
- Garmin Password: Your Garmin Connect password
- Weight Unit: Choose pounds (lb) or kilograms (kg) - defaults to pounds
- Include Blood Pressure: Enable/disable blood pressure sync
- Default Lookback Days: Number of days to fetch measurements for (default: 7)
3. Authorize Withings
- Open Raycast and search for "Configure Withings & Garmin"
- Click "Authorize Withings"
- Sign in to your Withings account in the browser
- Grant permissions to Raycast
Commands
View Withings Measurements
Browse your recent health measurements from Withings including:
- Weight (configurable: lb or kg)
- Body fat percentage
- Blood pressure (systolic/diastolic)
- Heart rate
- Bone mass
- Skeletal muscle mass
Sync to Garmin
Upload your Withings measurements to Garmin Connect with multiple sync options:
- Sync Today's Data: Upload all measurements from today in one action
- Sync All Recent: Batch sync the most recent days with data
- Smart Sync Since Last Garmin Entry: Automatically sync only measurements newer than your last Garmin entry (⌘S)
- Custom Date Range Sync: Choose specific start and end dates to sync (up to 90 days)
- Check Garmin for Existing Data: View what's already in Garmin and sync only new measurements (⌘N)
- Individual Sync: Sync specific measurements one at a time
- Sync Forward: Select any measurement and sync it plus all newer ones (⌥Enter)
- Includes weight, body fat, body water, bone mass, muscle mass, and optionally blood pressure
Configure Withings & Garmin
Manage your account connections and view configuration status.
Preferences
All credentials are configured in Raycast preferences (⌘ + ,):
- Withings Client ID: Your Withings OAuth Client ID from https://developer.withings.com/
- Withings Client Secret: Your Withings OAuth Client Secret
- Garmin Username: Your Garmin Connect email address
- Garmin Password: Your Garmin Connect password
- Weight Unit: Display weight in pounds (lb) or kilograms (kg) - defaults to pounds
- Include Blood Pressure: Whether to sync blood pressure measurements
- Default Lookback Days: Number of days to fetch measurements for (default: 7)
Privacy & Security
- All credentials are stored securely in Raycast's encrypted storage
- OAuth tokens are automatically refreshed
- No data is sent to third parties
- Garmin password is stored locally and never transmitted except to Garmin
Troubleshooting
"Not authenticated" error
Run the "Configure Withings & Garmin" command and click "Authorize Withings"
Garmin sync fails
- Verify your Garmin credentials in preferences
- Check that you can log in to connect.garmin.com
- Try disconnecting and reconnecting in the configure command
No measurements showing
- Ensure you have recent measurements in your Withings account
- The extension shows measurements from the last 7 days by default (configurable in preferences)
Contributing
Contributions are welcome! Feel free to:
- Report bugs or request features via GitHub Issues
- Submit pull requests for improvements
- Share feedback on the extension
Credits
Based on withings-sync by Jaroslaw Hartman.
License
MIT License