Back to Blog

Getting Started with Strava Integration

Sebastian Reinhard 10 min read

Why Connect Strava to 400WFTP?

You finished a hard interval session this morning. Your legs are still buzzing, your heart rate data tells a story of effort and recovery, and somewhere in those numbers is the signal that determines whether you are getting fitter or grinding yourself into dust. Strava captured every second of it. But the question is: what happens next?

For most athletes, Strava is where workouts go to live. You upload, you get your kudos, maybe you glance at the pace chart, and you move on. But that data — the heart rate curves, the power spikes, the cadence patterns — is far more valuable than a social feed can express. It holds the keys to understanding your Chronic Training Load, predicting your race-day form, and catching early signs of overtraining before your body forces a rest day on you.

That is exactly why 400WFTP integrates directly with Strava. Once connected, your activities flow automatically into a performance management system that transforms raw data into actionable insight. No manual uploads, no CSV exports, no guesswork. Just a clean pipeline from your watch to your training dashboard.

Connecting Your Strava Account: A Step-by-Step Walkthrough

The connection process takes about thirty seconds. Here is how it works.

Step 1: Navigate to your profile. Log into 400WFTP and head to your profile page. You will find the Strava Connection section with the familiar orange “Connect with Strava” button.

Step 2: Authorize 400WFTP on Strava. Clicking the button redirects you to Strava’s authorization page. You will be asked to grant 400WFTP permission to read your activities. The permission scope is activity:read_all, which means we can see your workout data — but we cannot post on your behalf, modify your activities, or access your social interactions. Read-only, nothing more.

Step 3: Strava redirects you back. After you approve, Strava sends you back to 400WFTP with an authorization code. Behind the scenes, that code is exchanged for a secure access token, which is encrypted and stored. You never have to think about tokens or credentials again — the system handles refresh cycles automatically.

Step 4: Your initial data loads. Immediately after connecting, 400WFTP queues a background job to pull your most recent activities. Within moments, your latest workouts appear in the system, complete with time-series data streams like heart rate, power, cadence, and GPS coordinates.

That is it. Four steps, and your Strava data now feeds directly into 400WFTP’s performance engine.

How Activity Sync Actually Works

One of the most common questions new users ask is: “Do I have to manually sync every time I finish a workout?” The answer is no. 400WFTP uses Strava’s webhook system to receive real-time notifications whenever you upload or update an activity.

Here is the flow:

  1. You finish a run, ride, or strength session and it uploads to Strava (either automatically from your device or manually).
  2. Strava sends a webhook event to 400WFTP’s servers, notifying us that a new activity exists for your account.
  3. 400WFTP processes the event in the background. It fetches the activity metadata — name, sport type, distance, duration, elevation — along with the full data streams.
  4. The activity is saved to your account, and metrics are computed immediately.

The entire process typically completes within seconds of your activity appearing on Strava. You can open 400WFTP and see your latest workout already analyzed, with training stress scores calculated and your fitness chart updated.

For activity updates (say you rename a workout or Strava recalculates GPS data), the webhook fires again and 400WFTP re-processes the activity to keep everything in sync.

Bulk Loading Historical Data

When you first connect, 400WFTP pulls your most recent activities automatically. But what if you want to bring in more history — say, an entire season of training?

Head to the Update Strava Activities section on your profile page. You can specify how many activities to load (5, 20, 100, or more) and whether to update existing datapoints. This is especially useful if you have been training on Strava for months or years and want your CTL/ATL chart to reflect your full training history rather than starting from zero.

A tip: if you are loading a large backlog, start with your most recent 50-100 activities. The system processes each one individually — fetching streams, computing metrics, saving datapoints — so larger imports run as background jobs to avoid blocking your session.

What Metrics Are Pulled and Why They Matter

When 400WFTP syncs an activity from Strava, it does not just store summary statistics. It pulls the full time-series data streams, which include:

  • Heart rate — second-by-second cardiac response, critical for computing heart-rate-based Training Stress Score (hrTSS)
  • Power (for cycling and power-meter-equipped runners) — the gold standard for computing TSS and rTSS
  • Cadence — pedal revolutions or steps per minute
  • Velocity — smoothed speed data
  • Altitude and grade — elevation profile and gradient percentages
  • GPS coordinates — latitude and longitude for route mapping
  • Temperature — ambient conditions during your session

From these raw streams, 400WFTP’s WorkoutMetricsService computes a suite of derived metrics:

  • TSS (Training Stress Score) — quantifies the overall training load of a session relative to your threshold
  • rTSS — running-specific stress score for activities without power data
  • hrTSS — heart-rate-derived stress score, useful when neither power nor pace-based scoring applies
  • Zone distributions — time spent in each heart rate or power zone
  • Peak values — best efforts across different durations

These per-activity metrics are then rolled up into the Performance Management Chart (PMC), where they feed the three numbers that matter most for long-term training management:

  • CTL (Chronic Training Load) — your 42-day exponentially weighted fitness level
  • ATL (Acute Training Load) — your 7-day fatigue accumulation
  • TSB (Training Stress Balance) — the difference between fitness and fatigue, indicating your current form

Every Strava activity you complete automatically updates these values. Over time, the PMC becomes a living map of your training trajectory — showing where you built fitness, where you recovered, and where you peaked.

Troubleshooting Common Sync Issues

Most Strava connections run without a hitch, but occasionally things can go sideways. Here are the most common issues and how to resolve them.

Activities Not Appearing

If a new activity does not show up within a minute or two:

  • Check your Strava connection status on your profile page. If the connection has lapsed (for example, after a password change on Strava), you may need to re-authorize by clicking “Connect with Strava” again.
  • Verify the activity type. 400WFTP processes standard endurance activities (runs, rides, swims, hikes, and more). Certain niche activity types may not trigger metric computation, though the activity itself will still be stored.
  • Try a manual sync. Use the “Update Strava Activities” form on your profile to pull recent activities explicitly. This bypasses the webhook pathway entirely.

Missing Heart Rate or Power Data

Sometimes an activity syncs but lacks certain data streams:

  • Device pairing issues — if your heart rate monitor disconnected mid-ride, Strava will not have HR data to send. Check the activity on Strava itself to confirm whether the data exists there.
  • Activity type mismatch — some indoor activities (like treadmill runs without a footpod) may not produce power or speed streams. 400WFTP will compute what it can from the available data and skip metrics that require missing streams.
  • Re-sync with updated datapoints — check the “Update existing datapoints” box in the sync form and reload the activity. This forces 400WFTP to re-fetch and reprocess the data streams from scratch.

Token Expiration

Strava access tokens expire periodically. 400WFTP handles this automatically — when your token nears expiration, the system uses your refresh token to obtain a new one without any action on your part. In rare cases where the refresh itself fails (usually due to revoking access on Strava’s side), you will need to re-authorize through the Connect button.

Privacy and Data Handling

Your data security matters. Here is how 400WFTP handles your Strava information:

  • Encrypted token storage — Your Strava access and refresh tokens are encrypted at rest using Fernet symmetric encryption. Even if someone accessed the database directly, the raw tokens would be unreadable without the encryption key.
  • Minimal permissions — We request only activity:read_all scope. We cannot post activities, follow people, or interact with Strava’s social features on your behalf.
  • Webhook security — Incoming webhook events are validated against a secret token embedded in the URL path. Events that fail validation are rejected immediately, preventing unauthorized data injection.
  • You control the connection — At any point, you can click “Remove Strava Connection” on your profile page to sever the link entirely. You can also revoke access from within Strava’s settings under “My Apps.”

Your training data is yours. 400WFTP uses it to compute metrics and power your dashboard — nothing else.

Getting the Most Out of Combined Strava + 400WFTP Data

Connecting Strava is just the beginning. The real power emerges when you start using the combined dataset to make smarter training decisions.

Watch your CTL trajectory, not individual workouts. A single hard session might spike your ATL, but it is the trend of CTL over weeks and months that determines whether you are actually getting fitter. The Performance Management Chart makes this visible at a glance.

Use TSB to time your rest. When your Training Stress Balance drops below -20 for more than a few days, you are accumulating debt. 400WFTP surfaces this clearly so you can schedule recovery before you are forced into it.

Leverage the AI coach. 400WFTP’s AI coaching layer sits on top of your synced data. It can analyze your recent training load, flag when you are approaching overtraining territory, and suggest adjustments based on your actual physiological response — not a generic plan.

Combine planned and completed workouts. The schedule calendar shows both your training plan and your synced Strava activities side by side. This makes it easy to see whether you are hitting your targets or drifting off plan, and adjust accordingly.

Dig into the details. Every synced activity stores full time-series data, which means you can drill into individual workouts to analyze pacing, heart rate drift, power distribution, and zone breakdowns. Over time, these details reveal patterns — maybe your heart rate creeps higher on back-to-back training days, or your power fades in the final quarter of long rides.

From Data to Decisions

Strava does an excellent job of capturing your training. 400WFTP does an excellent job of interpreting it. Together, they form a feedback loop that takes the guesswork out of training management.

Connect your account, let the data flow, and start paying attention to the numbers that actually predict performance. Your CTL chart a month from now will thank you.

Sebastian Reinhard

Sebastian Reinhard

Founder & Head Coach

Triathlete and software engineer building the future of AI-powered endurance coaching. Passionate about combining data science with training methodology.