Devices Updated April 3, 2026

Connect Whoop

Link your Whoop account to Omnio via OAuth to sync recovery, sleep, strain, and workout data.

What data syncs

Omnio pulls the following from the Whoop API:

CategoryMetrics
SleepTotal sleep, deep/REM/light hours, efficiency, respiratory rate, SpO2, sleep score
RecoveryRecovery score, HRV (RMSSD), resting heart rate, skin temperature
StrainDaily strain, active calories, max HR
WorkoutsDuration, type, average/max HR, calories, strain
BodyHeight, weight, body measurements

On first connect, Omnio fetches 30 days of historical data.

How to connect

  1. Go to SourcesAccounts tab.
  2. Click Connect Whoop.
  3. You’ll be redirected to Whoop’s authorisation page.
  4. Sign in to your Whoop account and grant the requested permissions (recovery, cycles, workout, sleep, profile, body measurement).
  5. After authorising, you’re redirected back to Omnio. Your first sync begins automatically.

Sync frequency

After the initial backfill, Whoop data syncs periodically (roughly every 2 hours).

Token refresh

Whoop OAuth tokens are automatically refreshed by Omnio. If a refresh fails (e.g. you revoked access in the Whoop app), the account status changes to disconnected and you’ll see a prompt to reconnect.

Troubleshooting

  • “OAuth state invalid” error — The authorisation page timed out. Go back to Sources and try again.
  • No data after connecting — Ensure your Whoop strap has synced recently in the Whoop app. Omnio pulls data from Whoop’s cloud, not directly from the device.
  • Recovery score shows ”—” — Whoop sometimes delays recovery score calculation. If it’s not yet available in the Whoop app, it won’t appear in Omnio either.
  • Disconnected status — Go to Sources → Accounts → Reconnect to start a fresh OAuth flow.