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.