Lifestack
docs

Oura Ring Integration

Connect Oura Ring for sleep, readiness, and biometric data.

Your body knows things your calendar does not. The Oura Ring integration brings that biological intelligence into Lifestack, so you can make decisions informed by how you actually feel, not just what you planned.

Overview

Connect your Oura Ring to Lifestack and nine data types sync automatically every hour, including sleep stages, readiness scores, activity metrics, heart rate, SpO2, stress levels, and more. This data feeds into your Biological Capacity score, powers the insight engine's collision detection and pattern analysis, and drives the Physical and Energy rings on the Event Horizon.

How It Works

  1. OAuth 2.0 Connection: You authorize Lifestack through Oura's secure OAuth flow. We never see your Oura password.
  2. Automatic Sync: Data syncs every hour via a scheduled cron job. No manual refreshing needed.
  3. Token Refresh: Oura tokens expire after 24 hours. Lifestack handles refresh automatically so your connection stays active.
  4. Encryption at Rest: Your OAuth tokens are encrypted before storage using AES-256-GCM via the Web Crypto API.

What We Sync

Data TypeWhat It Captures
SleepScore, total hours, deep/REM/light/awake stages, sleep contributors
ReadinessDaily readiness score, HRV balance, temperature deviation, recovery index
ActivityActivity score, steps, calories, active/sedentary time breakdown
Heart RateMin/max/avg/resting BPM, raw intraday heart rate samples
Sleep TimeOptimal bedtime window recommendations
SessionsMeditation, breathing, nap, and rest sessions with HR/HRV data
TagsCustom tags you create in the Oura app
SpO2Blood oxygen saturation averages, breathing disturbance index
Daily StressTime in high stress vs. high recovery, day summary

For a complete breakdown of every metric and field, see the Oura Metrics Reference.

On Your Dashboard

Your Oura data powers the Health domain card, which displays your Biological Capacity score. This score combines HRV Balance (40%), Sleep Score (30%), and Readiness Score (30%) against your personal 30-day baseline to give you a single number reflecting available energy today.

When capacity drops below concerning levels, a warning appears on the card (Critical below 15, Low below 30, Depleted below 40).

On the Event Horizon

Oura data appears on two rings of the Event Horizon radial clock:

  • Physical Ring: Sleep periods appear as gray arcs, workouts as green arcs, and recovery sessions (meditation, breathing, naps) as cyan arcs. Hover for duration, score, and metadata.
  • Energy Ring (innermost): Heart rate samples power the biological energy curve. In heart-rate or hybrid mode, lower heart rate relative to your daily range indicates higher available energy. Sleep and readiness scores shape the model-based energy curve used to fill gaps.

Data Explorer

Browse your full Oura history in the Health section at /health/data. Filter by data type, navigate through historical records, and export data as CSV or JSON for your own analysis.

Connecting Your Ring

  1. Go to Settings > Integrations
  2. Find Oura Ring and click Connect
  3. You will be redirected to Oura's authorization page
  4. Grant Lifestack access to your data
  5. You will be redirected back and your first sync begins immediately

Sync Details

  • Frequency: Every hour, automatically
  • Backfill: On first connection, the last 30 days of data are synced
  • Sync Window: Each hourly sync fetches the last 24 hours of data to catch any delayed Oura processing
  • Error Recovery: If a sync fails due to network issues or token expiry, exponential backoff retries on subsequent cycles (1, 2, 4, 8, 12, 24 hours between retries)

Data and Privacy

  • What we access: Only the nine data types listed above via Oura's official API. We do not access your personal profile, email, or any data outside the granted scopes.
  • Encryption: OAuth tokens are encrypted at rest using AES-256-GCM.
  • No third-party sharing: Your health data is never shared with third parties.
  • Deletion: Disconnect your Oura Ring from Settings > Integrations and all synced data is permanently deleted.

See the Privacy and Security page for complete details.