Understanding Whoop Activity Data and Common Integration Issues
Last updated: November 4, 2025
Whoop integration works differently from other fitness providers due to limitations in Whoop's API. This article explains how Whoop activity data is processed and addresses common issues you may encounter.
How Whoop Activity Data Works
Unlike other fitness providers, Whoop doesn't have a native concept of daily activity summaries in their API. Instead, we create activity summaries by:
Matching workouts to the user's Physiological Cycle data
Calculating metrics based on available workout information
Waiting for cycle completion to ensure accurate data boundaries
Activity Data Timing
You will receive activity summaries on the day of the activity, containing data from the Physiological Cycle. These summaries are then updated after the cycle is finished with additional fields computed from workouts.
This approach ensures you get timely data while maintaining accuracy once complete cycle information becomes available.
Steps and Distance Data
Steps data from Whoop has specific limitations:
Steps are only calculated for
walkingandrunningactivitiesStep counts are approximations based on the
distance_meterfield from workoutsIf a workout doesn't include distance data, no steps will be calculated
Calories Data
Since Whoop doesn't return calories directly with workouts, we calculate calories based on a kilojoules conversion from the available energy data.
Troubleshooting Missing Data
If you're experiencing missing activity data:
Check your webhook configuration: Ensure webhook URLs in the Whoop developer portal are correct and unique to your team and environment
Verify BYOO credentials: Make sure your Bring Your Own OAuth credentials are properly configured
Confirm app approval status: Ensure your app has received production approval from Whoop if you're experiencing issues in production
If you're receiving some data (like sleep events) but missing activity data, the integration is likely configured correctly, and the issue may be related to how the specific activity data is being processed.
Expected Data Types
From Whoop integrations, you can expect to receive:
daily.data.sleep.createdanddaily.data.sleep.updatedeventsdaily.data.workout.createdanddaily.data.workout.updatedeventsdaily.data.activity.createdanddaily.data.activity.updatedevents (normalized data across providers)