Back to blog

Open Wearables 0.5.1: Oura & Strava Webhooks, Live Sync Status, RMSSD HRV

Open Wearables Team · · 2 min read

Open Wearables 0.5.1 is out. This release ships webhook support for Oura and Strava, live sync status via SSE, RMSSD HRV in Body Summary, and a redesigned Admin Panel dashboard.

No breaking changes. Upgrade with docker compose pull && docker compose up -d.

Webhooks for Oura and Strava

Both providers previously synced on a periodic pull schedule. 0.5.1 adds webhook support as an opt-in alternative.

Enable it per provider in Settings > Providers. Periodic pull remains the default and continues to work independently of webhook configuration.

Webhooks are useful when data freshness matters. A user finishes an Oura sleep session or logs a Strava activity, the provider fires an event, Open Wearables processes and stores it. No waiting for the next pull cycle.

Oura's webhook implementation was refactored to align with the new internal webhook pattern. Strava was built on the same pattern. Both should behave consistently.

Requirements:

  • Your deployment needs a publicly reachable endpoint
  • The provider developer portal must be pointed at your webhook URL
  • Webhook delivery is per-provider, not global

Docs: docs.openwearables.io

Live Sync Status

Sync status is now available in three places: the Admin Panel, outgoing webhook events, and the API.

Admin Panel: There's a new global Syncs tab. Per-user sync history is also visible in individual user profiles. Useful for debugging data gaps or answering support questions.

API (SSE): Subscribe to the sync status stream to get real-time updates as syncs progress. Integration guide: openwearables.io/docs/api-reference/guides/sync-status-stream

Outgoing webhook events: Sync statuses are also dispatched as outgoing webhook events. Use this if you need to persist sync state beyond 24 hours. The Redis-backed status store clears after 24 hours; outgoing webhooks allow saving sync logs in your database.

RMSSD HRV in Body Summary

RMSSD is now included in the /body-summary endpoint. It sits alongside the existing metrics. No endpoint change required on your side, just an additional field in the response.

Recovery scores were also migrated from data_point_series to health_score in this release. If you're querying recovery data directly, check your queries against the updated docs before upgrading.

Redesigned Admin Panel Dashboard

The dashboard layout has been rebuilt. The new design surfaces sync state across users and integrations more clearly. If you use the Admin Panel to investigate sync issues, the new layout makes that faster.

No API changes, frontend only.

Other Changes

  • Sleep score is recalculated after session merge (previously it reflected only the first segment)
  • Apple Health percent-based metrics: the x100 unit conversion is now scoped to Apple only, not applied globally
  • TypeScript upgraded to 6.0.2

Getting Started

Existing deployments:

            docker compose pull
docker compose up -d
          

After upgrading, enable webhooks in Settings > Providers if you want them. They are off by default.

New to Open Wearables? Start at docs.openwearables.io/quickstart. Docker Compose setup takes under 15 minutes.

Community

1,631 stars on GitHub. 258 forks. 40 contributors.

The full changelog is on GitHub. Open issues and feature requests: github.com/the-momentum/open-wearables/issues.

If you run into anything after upgrading, open an issue or find us on Discord.

Never miss an update

Stay updated with the latest in open wearables, developer tools, and health data integration.

Join our Community. No spam ever.