Skip to main content

How does ROOK’s User Profile work?

User Profile transforms synchronized wearable data into a structured profile across Activity, Sleep, Cardio, Recovery, and Body, with scores, trends, data coverage, and personalized insights.

Written by JP Gomez

What is User Profile?

User Profile transforms the data already synced to ROOK into a structured profile that gives applications a broader view of a user's health and wellness.

Instead of working with individual metrics from different wearable sources, ROOK organizes the available data into five key areas:

  • Activity

  • Sleep

  • Cardio

  • Recovery

  • Body

Each profile can include aggregated metrics, scores, health levels, trends, data coverage, and personalized insights.

The profile is generated on demand and delivered asynchronously through the webhook configured for your ROOK integration.

Important: User Profile is designed to organize, summarize, and interpret available health and wellness data. It does not provide medical diagnoses, treatment, or medical recommendations.

How does User Profile work?

The process follows four main steps:

Wearable data synced to ROOK

Your application requests a profile

ROOK processes the available health data

ROOK sends the profile to your webhook

ROOK primarily analyzes the user's last seven days of data. Some Recovery calculations may use up to 14 days of sleep data.

The profile is built from data that has already been synced and stored in ROOK. It does not connect directly to the user's wearable during profile generation.


What does the profile include?

The profile contains five sub-profiles:

Area

What it represents

Activity

Available activity and movement information

Sleep

Available sleep-related information

Cardio

Cardiovascular-related metrics

Recovery

Indicators related to recovery

Body

Available body measurements

Depending on the available data, each sub-profile can include:

  • Aggregated metrics

  • A score from 0 to 100

  • A health level

  • A trend

  • Data coverage or confidence

The profile also includes:

  • An overall score

  • Insights generated from predefined rules

  • Available demographic information

How are scores interpreted?

Scores are grouped into five levels:

Score

Level

80–100

Optimal

65–79

Good

50–64

Moderate

30–49

Poor

Below 30

Critical

These scores provide context about the available data. They are not medical diagnoses.

The overall score combines the five areas using these weights:

  • Activity: 20%

  • Sleep: 25%

  • Cardio: 25%

  • Recovery: 20%

  • Body: 10%

Sub-profiles without usable data are not treated as negative results.


How does ROOK handle missing data?

Missing data does not mean that a user's profile result is poor.

For example, a low step count can contribute to a lower activity score, but having no step data does not produce the same result.

When a metric is unavailable, ROOK uses the other available metrics when possible and reflects the reduced data availability through coverage or confidence.

If there is not enough information to calculate a sub-profile, its values may be returned as null:

{ "score_int": null, "level_string": null, "trend_string": null }

A null value should not be interpreted as zero or as a negative result.

If there is not enough information to generate any sub-profile, ROOK does not generate or send an empty profile.

How can I integrate User Profile?

User Profile is available through the ROOK API and follows an asynchronous workflow.

At a high level:


Request profile → ROOK processes the data → Profile delivered via Data Webhook

Before requesting a profile, make sure that:

  • The user has connected at least one supported data source through ROOK Connect.

  • The user's wearable data has been synchronized.

  • A Data Webhook is configured.

  • User Profile is activated for your organization.

The profile is not updated automatically when new wearable data becomes available. If new data is synchronized after a profile has been generated, you must request a new profile to have ROOK process the updated data.


Interested in trying User Profile?

If you are interested in trying User Profile feature, contact Customer Success team to enable the feature for your organization.

For complete integration details, including API requests, authentication, webhook configuration, payloads, retries, rate limits, and error handling, see the User Profile technical documentation

Did this answer your question?