Skip to content

Running Tech & App Comparisons · 2026-09-20 · Runwiv Editorial Team

Understand Strava activity webhooks before building an import

A Strava webhook tells an authorised application that a supported change occurred. It is not a continuous live GPS feed and it does not carry a complete workout.

All running guides

Published and reviewed by Runwiv. Source checks are not independent clinical review or hands-on product testing. How this content is made.

A Strava webhook tells an authorised application that a supported change occurred. It is not a continuous live GPS feed and it does not carry a complete workout. That distinction matters when planning an activity import, a club integration or a live spectator experience.

Separate notification from retrieval

Strava documents notifications for activity creation, deletion and certain updates, as well as athlete deauthorisation. The event identifies the affected object; an application decides whether it needs to retrieve permitted details separately. See the official Webhook Events API for the current contract.

For a product specification, draw these as separate steps: the athlete authorises access, an event arrives, the service checks what access remains, then permitted information is refreshed. Do not promise live race positions from a post-activity import mechanism.

Make repeated delivery harmless

The official documentation requires a prompt acknowledgement and describes retries. It also notes that one athlete save can produce several events. A reliable design should therefore separate event receipt from slower processing and make duplicate delivery harmless.

Define what happens when a fetch is delayed or the source activity changes again. A useful review question is whether processing the same notification twice changes the result unexpectedly. Keep developer credentials on the server and use a dedicated test athlete's authorised data when checking the workflow.

Treat privacy changes as part of the feature

An imported record is not permanently public merely because it was visible during its first import. Include activity deletion, changes in permitted visibility and disconnected accounts in the design. Check Strava's documentation and applicable agreement for the precise handling required by the access granted.

Write down which information the integration genuinely needs. A leaderboard, personal activity archive and club attendance screen have different purposes. Avoid requesting broader access simply because it may make an implementation easier.

Verify a small lifecycle

Use a test activity to check creation, a title change, a visibility change, repeated delivery and deletion. Disconnect the test integration and verify that the product handles the change. Record observed results rather than treating a successful connection screen as a complete test.

For ordinary users moving workouts between services, start with the Apple Health and Strava sync guide. Runwiv's product facts distinguish planned integration from confirmed public availability. This article explains a design checklist; it does not certify a deployed Runwiv integration.

Run together when Runwiv launches

Get email updates when the iOS and Android apps become available. The waitlist is free; no payment required.

Try the spectator demo · Check product availability

Plan your next session with the free pace calculator and club-run brief builder. No signup needed.

Explore running with friends, live tracking and Club OS. Product availability · Editorial policy · Privacy