Devices Updated April 3, 2026

Connect Withings

Link your Withings account to Omnio via OAuth to sync body composition, blood pressure, SpO2, and sleep data from Withings scales, BPMs, and sleep mats.

What data syncs

Omnio pulls the following from the Withings API:

CategoryMetrics
Body compositionWeight, body fat %, fat mass, fat-free mass, muscle mass, bone mass, hydration %, pulse wave velocity
Blood pressureSystolic, diastolic, pulse, SpO2
SleepTotal sleep, deep/REM/light hours, sleep efficiency, onset latency, wakeup latency, wakeup count

On first connect, Omnio fetches recent historical data so your baselines and trends are populated immediately.

Supported devices

Any Withings device that syncs to the Withings Health Mate app will work, including:

Scales — Body, Body+, Body Cardio, Body Comp, Body Scan Blood pressure monitors — BPM, BPM+, BPM Core, BPM Pro Sleep trackers — Sleep Analyzer, Sleep+ Watches — ScanWatch, ScanWatch Light, ScanWatch Nova (sleep + SpO2)

You don’t connect individual devices to Omnio — you connect your Withings account, and all device data flows through automatically.

How to connect

  1. Go to SourcesAccounts tab in your dashboard, or visit /accounts.
  2. Click Connect Withings.
  3. You’ll be redirected to Withings to authorise Omnio.
  4. Grant the requested permissions (body metrics and activity data).
  5. After authorising, you’re redirected back to Omnio. Your first sync begins automatically.

Behind the scenes, Omnio subscribes to Withings webhooks so new data arrives within minutes of your device syncing to the Withings cloud.

Sync frequency

Withings uses webhooks for real-time data delivery. When you step on your scale or take a blood pressure reading, Withings pushes a notification to Omnio as soon as the data reaches Withings Cloud. Omnio then fetches the new data immediately.

There are three webhook categories:

CategoryTriggered by
Body metricsScale measurements (weight, body composition)
Blood pressureBPM readings (systolic, diastolic, pulse, SpO2)
SleepSleep mat or watch sleep sessions

You don’t need to configure anything — webhook subscriptions are set up automatically when you connect your account.

Token refresh

Withings OAuth tokens expire periodically. Omnio automatically refreshes them using the stored refresh token. If a refresh fails (e.g. you revoked access in Withings), the account status changes to disconnected and you’ll see a banner prompting you to reconnect.

How the data is used

  • Body composition metrics feed into composite scores and the body composition dashboard. Weight and body fat % are key inputs for BMR calculation and caloric balance tracking.
  • Blood pressure data appears alongside Omron and Garmin readings (differentiated by source). Trends, 7-day and 30-day averages are computed automatically.
  • Sleep data from Withings sleep mats and watches contributes to your Sleep score. If you also have an Oura Ring, Omnio keeps both sleep sources separate so you can compare them.

Troubleshooting

  • “OAuth state invalid” error — This happens if you waited too long on the Withings authorisation page. Go back to Sources and try connecting again.
  • No data after connecting — Check that your Withings device has synced recently in the Health Mate app. Omnio can only pull data that the Withings cloud has received.
  • Missing body composition metrics — Not all Withings scales measure every metric. Basic scales only report weight. Body Comp and Body Scan include the full breakdown (fat %, muscle mass, etc.).
  • Sleep data not appearing — Sleep tracking requires a Sleep Analyzer mat, Sleep+, or a ScanWatch. Basic scales don’t track sleep.
  • Disconnected status — Go to Sources → Accounts and click Reconnect. This starts a fresh OAuth flow and re-subscribes to webhooks.