Connect Strava

Connect Strava and your activities (rides, runs, swims, and the rest) become queryable by Claude. Ask things like "what was my normalized power on yesterday's ride", "summarize last week's training load", or "compare this week's weekly mileage to last month".

Strava data also combines with everything else you've connected. If you have Oura sleep, Polar HRV, or Withings weight in Freddy, Claude can pull from all of them together for cross-source training-load and recovery analysis. That blend is the whole point of Freddy.

Early-access beta

Strava is in early-access beta right now. Access is limited to allowlisted accounts while Strava processes our app's capacity bump (we have applied for the 999-athlete tier).

If "Connect Strava" is not visible on your dashboard, that is why. Find the Strava row in your integrations list and click "Request access" to join the waitlist. We grant access in batches as Strava approves capacity, and we will email you when your account is enabled.

Connecting (once allowlisted)

  1. From your Freddy dashboard, find the Strava row in the integrations list.
  2. Click Connect. You will be redirected to strava.com/oauth/authorize.
  3. Approve the requested scopes: read, activity:read_all, and profile:read_all. These let Freddy read your activities, stats, and zones. There is no write access and we do not request anything social.
  4. You will be returned to Freddy. Initial sync runs in the background. The first full pull of your activity history takes a couple of minutes.

What we cache

Strava's API terms require us to refresh data regularly rather than persist it long-term. Freddy keeps each Strava activity in our cache for up to 7 days from when we received it. New activities arrive via webhook within about 30 seconds; older history is whatever Freddy ingested in the last week.

In practice that means Claude has detailed visibility into the activities Freddy has seen in the past 7 days. Right after you connect, that includes the full activity history we pull on first sync (potentially years of training, depending on how long you've used Strava); in steady state it tracks the rolling last week. For anything older, your full activity log still lives in your Strava account at strava.com/athlete/training, and Claude can still reason about long-term trends using data from your other connected sources (Polar, Oura, Withings, and so on) which are not subject to the same cache window.

Webhooks

When you rename, edit, or delete a Strava activity, the change reflects in Freddy within about 30 seconds. No manual sync needed.

Troubleshooting

"Authorization failed" on the Strava OAuth page. Strava sometimes asks you to log in first. Complete login on strava.com, then click Connect again from your Freddy dashboard.

My activities are not showing up. Trigger a manual sync from the dashboard using the Sync button on the Strava row. Check the "Last synced" timestamp to confirm the sync ran. New activities also arrive automatically via webhook within ~30 seconds of being uploaded to Strava.

"Connection expired". Re-connect from the dashboard. Strava OAuth tokens occasionally need re-authorization, and re-connecting issues a fresh token.

Disconnecting

Click Disconnect on the Strava row in your dashboard. Freddy removes all stored Strava activity data immediately and stops syncing, well within the 48-hour window required by Strava's terms. We also call Strava's deauthorize endpoint at the same time so the OAuth grant is revoked on the Strava side. In the rare case that call doesn't go through (Strava is down, or a network blip), you can clean up the leftover authorization at strava.com/settings/apps. Most of the time you won't need to.

Need help?

Email support@freddy.coach, or message us in-app at freddy.coach/app/chat.