# Strava AI integration on Definable

> Strava is a social fitness network and app designed for cyclists and runners.

## What this connects

Strava is a social fitness network and app designed for cyclists and runners.

Vendor: https://strava.com

## Tools available

**33** tools available. First 12:

- `STRAVA_CREATE_AN_ACTIVITY` — Create an Activity — Creates a manual activity for an athlete. Requires activity:write scope. This endpoint is for manually entered activities only. To upload activity files (FIT, TCX, GPX), use the Upload Activity endpoint instead. Required parameters: name, sport_type, start_date_local, elapsed_time. Optional parameters: type (deprecated), description, distance, trainer, commute.
- `STRAVA_EXPLORE_SEGMENTS` — Explore segments — Explore segments within a geographic bounding box. Returns the top 10 segments matching the specified geographic boundary and optional filters. Segments are sections of roads or trails where Strava athletes can compete for times. The response includes segment details like: - id: Unique segment identifier - name: Segment name - climb_category: Climbing difficulty (0=NC/flat to 5=HC/hardest) - avg_grade: Average gradient percentage - distance: Segment length in meters - elev_difference: Elevation gain in meters - start_latlng/end_latlng: Start and end coordinates - elevation_profile: URL to elevation profile image
- `STRAVA_EXPORT_ROUTE_GPX` — Export Route as GPX — Exports a Strava route as a GPX (GPS Exchange Format) file. GPX files can be used to import routes into GPS devices, other fitness apps, or mapping software. Requires read_all scope for private routes.
- `STRAVA_EXPORT_ROUTE_TCX` — Export Route as TCX — Exports a Strava route as a TCX (Training Center XML) file. TCX format is widely supported by GPS devices, fitness watches, and training software like Garmin Connect and TrainingPeaks. The exported file contains the route's waypoints, distance, and elevation profile. Requires read_all scope for private routes.
- `STRAVA_GET_ACTIVITY` — Get Activity — Retrieves detailed information about a specific activity by its ID. Returns a DetailedActivity object containing comprehensive data including distance, time, elevation, speed, heart rate, power data (if available), segment efforts, laps, splits, and more. Permissions required: - activity:read scope for activities with visibility set to 'everyone' or 'followers_only' - activity:read_all scope for activities with visibility set to 'only_me' The activity must be owned by the authenticated athlete.
- `STRAVA_GET_ACTIVITY_STREAMS` — Get activity streams — Retrieves time-series stream data for a specific activity. Streams are the raw spatial and sensor data recorded during an activity, including GPS coordinates, speed, heart rate, power, etc. Each stream type returns an array of values that correspond to specific time points during the activity. All requested streams have the same number of data points, aligned by index. Common use cases: - GPS track visualization: request 'latlng', 'altitude', 'time' - Performance analysis: request 'heartrate', 'cadence', 'watts', 'time' - Pace/speed analysis: request 'velocity_smooth', 'distance', 'time' Requires activity:read scope. Requires activity:read_all scope for Only Me (private) activities.
- `STRAVA_GET_ACTIVITY_ZONES` — Get Activity Zones — Returns the heart rate and power zones of a given activity. This is a Summit/Premium feature that provides zone distribution data showing time spent in each training zone. The response includes an array of ActivityZone objects, typically containing: - Heart rate zones: Time distribution across heart rate training zones - Power zones: Time distribution across power training zones (for cycling with power meter) Requirements: - Strava Summit/Premium subscription for the athlete who owns the activity - activity:read scope for Everyone and Followers visibility activities - activity:read_all scope for Only Me (private) activities Common errors: - 404: Activity not found or not accessible - 403: Insufficient permissions to view activity - 402: Summit subscription required
- `STRAVA_GET_ATHLETE_STATS` — Get athlete stats — Returns the activity stats of an athlete, including ride, run, and swim totals for recent (last 4 weeks), year-to-date, and all-time periods. Only includes data from activities set to 'Everyone' visibility. Use get_authenticated_athlete to obtain the required athlete ID.
- `STRAVA_GET_AUTHENTICATED_ATHLETE` — Get authenticated athlete — Retrieves the profile of the currently authenticated Strava athlete. Returns athlete information including name, location, account status, profile photos, and social connections. The level of detail depends on the OAuth scope: - With 'profile:read_all' scope: Returns detailed representation (resource_state=3) including follower counts, measurement preferences, FTP, weight, and equipment. - Without 'profile:read_all' scope: Returns summary representation (resource_state=2) with basic profile information only. This is a read-only endpoint that requires no input parameters.
- `STRAVA_GET_CLUB` — Get Club — Retrieves detailed information about a specific Strava club by its ID. Returns comprehensive club details including name, description, location (city/state/country), member count, sport type, activity types, club type (casual, racing team, company, etc.), privacy settings, and the authenticated athlete's membership status. Use STRAVA_LIST_ATHLETE_CLUBS to get club IDs for clubs the authenticated athlete belongs to, or use a known club ID from a Strava club URL. Returns a 404 error if the club does not exist.
- `STRAVA_GET_EQUIPMENT` — Get equipment — Retrieves detailed information about a specific piece of gear/equipment. Returns comprehensive details about bikes or shoes including name, brand, model, total distance, and status (primary/retired). The requesting athlete must own the gear - you cannot view other athletes' equipment. Use Cases: - Get detailed specs and usage statistics for a specific bike or shoe - Check if gear is retired or still in active use - View total distance traveled with specific equipment - Retrieve brand and model information for gear inventory Prerequisites: - Gear ID can be obtained from: 1. Get Authenticated Athlete (bikes/shoes arrays in detailed response) 2. Get Activity (gear_id field shows equipment used for that activity) Note: Gear IDs use prefixes: 'b' for bikes (e.g., 'b12345678'), 'g' for shoes (e.g., 'g12345678').
- `STRAVA_GET_ROUTE` — Get route — Retrieve detailed information about a specific Strava route. A route is a planned path that athletes can follow, created via the Strava Route Builder. This endpoint returns comprehensive route data including: - Basic info: name, description, activity type (Ride/Run), sub_type - Geographic data: distance (meters), elevation_gain (meters), start/end coordinates - Map data: polyline for rendering the route path, map_urls - Metadata: created_at, updated_at, estimated_moving_time, private status - Segments: list of segments included in the route - Waypoints: custom waypoints added to the route Note: Requires read_all scope to retrieve private routes.

## Auth

Auth schemes: `OAUTH2`. Managed by Definable: `OAUTH2` — no client credentials required from the user.

## How agents use Strava

Inside a Definable workflow, Strava is one of the tools the **Distributor specialist** can call. Example coordination patterns:

- **Researcher → Strava** — the Researcher (GPT-5.5) pulls context from Strava (records, threads, documents), synthesises findings, and briefs the rest of the team.
- **Writer → Distributor → Strava** — the Writer (Claude Opus 4.7) drafts copy in brand voice, the Verifier passes it, then the Distributor writes the result into Strava (create record, post message, draft email).
- **Designer / Engineer → Distributor → Strava** — the Designer ships an asset or the Engineer ships a code change, the Distributor delivers it via Strava (attach file, open PR comment, post status).

The Verifier checks every Strava call. On rate limit, schema drift, or auth refresh it self-heals and retries — the workflow completes without manual intervention.

## Categories

- fitness — https://definable.ai/apps/category/fitness/

## Related

- HTML page: https://definable.ai/apps/strava/
- Same category (fitness): https://definable.ai/apps/category/fitness/
- All integrations: https://definable.ai/apps/
- Workflow (multi-agent loop): https://definable.ai/workflow/
- Apps llms.txt index: https://definable.ai/llms-apps.txt
