Connect WHOOP
Authorize VitalTrends to read your WHOOP data in a few clicks. Once connected, recovery, sleep, strain, and HRV sync automatically in the background.
Steps
An active subscription is required to connect integrations. Go to Pricing to get started.
After logging in, go to Settings → Connections. You will see a WHOOP card showing "Not connected".
You will be redirected to WHOOP's OAuth authorization page. Log in with your WHOOP credentials if prompted.
Review the permissions and click Authorize. VitalTrends requests read-only access to your health data, nothing is written back to WHOOP.
After authorization, a background job imports up to 6 months of historical data, and attempts to pull as far back as your WHOOP account allows. This may take a minute or two. Refresh the dashboard once the sync banner clears.
How data stays fresh
VitalTrends uses two mechanisms to keep your WHOOP data current:
Webhooks (real-time)
WHOOP sends a push notification whenever a new cycle, sleep, workout, or recovery is recorded. VitalTrends processes these events immediately, so your dashboard typically updates within seconds of WHOOP finalizing a metric.
Catch-up sync (background)
Every 6 hours, VitalTrends checks whether your data is stale (no new records in 36 hours). If so, it fetches the last 48 hours from the WHOOP API as a safety net. Users with working webhooks cost zero extra API calls.
Disconnecting WHOOP
Go to Settings → Connections and click Disconnect next to WHOOP. This revokes the OAuth token and stops all future syncs. Your historical data remains in VitalTrends unless you delete your account.
Force sync
Force sync re-imports the last 6 months of your WHOOP data from scratch, replacing any incomplete or outdated records. You can trigger it from Settings → Connections by clicking the Force Sync button on the WHOOP card.
Use force sync when:
- Your dashboard is missing data that already appears in the WHOOP app.
- You see gaps in your charts that should have data.
- You recently resolved a connection issue and want to backfill missed records.
Troubleshooting
Dashboard shows no data after connecting
The initial sync is still running. Wait 1-2 minutes and refresh. If data still does not appear, disconnect and reconnect to trigger a fresh sync.
Data is a few hours behind
WHOOP finalizes recovery and sleep scores on their own schedule, often 1-2 hours after you wake up. VitalTrends displays data as soon as WHOOP publishes it.
Connection shows "Reconnection needed"
Your OAuth token has expired or was revoked. Click Reconnect on the Connections page to re-authorize.