Connect Oura
Authorize VitalTrends to read your Oura data and view ring metrics alongside your other health sources. Once connected, sleep, readiness, activity, stress, and workout data 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 and open the Oura connection card.
You will be redirected to Oura's OAuth authorization page. Log in with your Oura account if prompted.
Review the permissions and approve access. VitalTrends reads your Oura health data and does not write anything back to Oura.
After authorization, a background job imports up to 6 months of Oura history. This may take a minute or two. Refresh the Oura dashboard once the sync banner clears.
How data stays fresh
Webhooks
Oura sends updates when supported data changes. VitalTrends processes those events and fetches the changed records so your dashboard stays current without waiting for a manual sync.
Catch-up sync
An hourly catch-up job checks Oura-connected accounts for stale or missing data. If a source looks stale, VitalTrends fetches recent Oura records as a safety net.
Supported data
| Category | Data |
|---|---|
| Sleep | Sleep score, total sleep, awake, deep, light, REM, efficiency, latency, HRV, heart rate, and respiratory rate |
| Readiness | Readiness score, temperature deviation, HRV balance, recovery index, and contributor scores |
| Activity | Activity score, steps, calories, distance, active minutes, sedentary minutes, and activity contributors |
| Workouts | Activity type, intensity, source, start/end time, calories, and distance |
| Vitals | SpO2, breathing disturbance index, stress, resilience, and VO2 max where available |
Disconnecting Oura
Go to Settings → Connections and click Disconnect next to Oura. This revokes the OAuth token and stops future syncs. Your historical Oura data remains in VitalTrends unless you delete your account.
Force sync
Force sync re-imports recent Oura data and can fill gaps caused by missed webhook events or temporary Oura API errors. Trigger it from Settings → Connections on the Oura card.
Troubleshooting
No data after connecting
The initial sync may still be running. Wait 1-2 minutes and refresh the Oura dashboard. If data still does not appear, try force sync from the Connections page.
Connection shows "Reconnection needed"
Your OAuth token expired or was revoked. Click Reconnect on the Connections page to authorize Oura again.