Connect Strava to OpenClaw on Operator.io
Strava is a social fitness network and app for cyclists and runners. It's perfect for tracking workouts, sharing progress, and joining active communities.
Automate Strava with AI
Hand Strava to an OpenClaw agent running on Operator. You write what you want in a chat and it turns that into real Strava actions like create an activity, explore segments, export route as gpx, without you opening the app.
Your agent reaches Strava directly or through connectors like Composio MCP and Pipedream MCP, which handle the sign in and token refresh for you, so there is nothing to wire up and no API keys to paste.
What your agent can do with Strava
Your agent can call any of these Strava actions by name as part of a larger task. Ask for the outcome you want and it picks the right ones.
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...
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 res...
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.
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, di...
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,...
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 tha...
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...
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...
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 'pr...
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 tea...
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 g...
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, descript...
Get route streams
Get detailed stream data for a route. Returns raw GPS coordinates, elevation, and distance data points along a route's path. This data can be used for mapping, elevation profiles, and route analysis. Available stream types for routes: -...
Get segment
Retrieve detailed information about a specific Strava segment. A segment is a portion of a road or trail where athletes can compete for times. This endpoint returns comprehensive segment data including: - Basic info: name, activity_type...
Get segment effort
Retrieves detailed information about a specific segment effort by its unique ID. A segment effort represents an athlete's attempt at a particular segment during an activity. This endpoint returns performance metrics including elapsed tim...
Get segment effort streams
Returns stream data for a segment effort completed by the authenticated athlete. Streams provide the raw time-series data associated with a segment effort, such as GPS coordinates, altitude, speed, heart rate, power, etc. All streams for...
Get segment streams
Get detailed stream data for a segment. Returns raw GPS, elevation, and distance data points along a segment's route. This data can be used for mapping, elevation profiles, and route analysis. Available stream types: - distance: Distance...
Get Upload Status
Retrieves the status of an upload by its ID. Use this endpoint to poll the processing status of an uploaded activity file. Uploads are processed asynchronously, so you should poll this endpoint (recommended: no more than once per second)...
Get zones
Retrieves the authenticated athlete's heart rate and power zones. This endpoint returns the athlete's configured training zones for both heart rate and power, including zone thresholds and time spent in each zone. Note: Requires the 'pro...
List activity comments
Retrieves comments on a specific Strava activity, sorted oldest first. Returns comment details including the comment text, author information, and timestamps. Supports cursor-based pagination for activities with many comments. Requires O...
List activity kudoers
Returns the athletes who kudoed an activity identified by an identifier. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
List activity laps
Retrieves lap data for a specific Strava activity. Laps represent segments of an activity, typically auto-generated during activities like running or cycling based on distance intervals, manual lap button presses, or course segments. Eac...
List athlete activities
Retrieves a paginated list of activities for the authenticated athlete. Returns activity summaries including name, type, distance, duration, elevation gain, speed, heart rate data, and timestamps. Use 'before' and 'after' parameters to f...
List athlete clubs
Retrieves a paginated list of Strava clubs the authenticated athlete is a member of. Returns club details including id, name, location, member count, sport type, and profile images. Use the club id from the response to fetch detailed clu...
List athlete routes
Lists routes created by a specific athlete. Returns an array of Route summaries including id, name, distance, elevation gain, and type. Private routes are filtered out unless the token has read_all scope. Only the authenticated athlete's...
List club activities
Retrieve recent activities from members of a specific club. IMPORTANT: The authenticated athlete must be a member of the requested club to access this endpoint. Use 'List Athlete Clubs' first to get club IDs the athlete belongs to. Pagin...
List club administrators
Returns a list of the administrators of a given Strava club. The response includes each administrator's first name, last name (possibly abbreviated), and resource state. For public clubs, this endpoint is accessible without membership. F...
List club members
Returns a list of the athletes who are members of a given club. The authenticated athlete must belong to the requested club to access this endpoint. Results are paginated and can be controlled using page and per_page parameters. Note: Du...
List segment efforts
List the authenticated athlete's efforts on a given segment. Returns all segment efforts for the authenticated athlete on the specified segment, optionally filtered by date range. Segment efforts represent each time an athlete has ridden...
List starred segments
Returns a list of the authenticated athlete's starred segments with summary details including segment name, distance, elevation, grade, and location. Private segments are filtered out unless requested by a token with read_all scope. Use...
Star segment
Stars/Unstars the given segment for the authenticated athlete. Requires profile:write scope.
Update Athlete
Update the currently authenticated athlete's profile. Currently only supports updating the athlete's weight. Requires profile:write scope.
Upload Activity
Uploads a new activity file (FIT, TCX, or GPX) to create an activity on Strava. The upload is processed asynchronously. This endpoint returns an upload ID immediately, which can be used with the Get Upload endpoint to check processing st...
How to connect Strava
You authorize Strava once from your dashboard. Operator holds the connection and refreshes the access tokens on its own, so your agent keeps working with Strava without you signing in again. The same setup unlocks every other app your agent can reach, so you only do it once.
When you are ready, the get started guide walks through standing up your OpenClaw agent.
Common questions about Strava
- How do I connect Strava to Operator?
- You authorize Strava once from your Operator dashboard. Operator holds the connection and refreshes the access token for you, so your agent keeps working with Strava without you signing in again.
- Can my agent publish and schedule content in Strava?
- Yes. It can draft posts, schedule them, and read back how they did once they are live. A common loop is draft, review, schedule, and publish, where you approve the copy and the agent handles the timing and the posting in Strava.
- Do I need to write code or manage Strava API keys?
- No code and no API keys. You authorize Strava through a normal sign in and Operator handles the connection, so there is nothing to wire up or host.
- Can my agent use Strava together with my other apps?
- Yes. The same agent reaches every app you connect, so it can move between Strava and tools like Twitter, Instagram, Dotsimple in one job, reading from one and acting in another without you wiring anything between them.
Connect Strava to another app
Your agent can run Strava together with any of these. Each page shows what it does across both apps in one job.
More apps to automate
Apps your agent runs alongside Strava, or browse all integrations.
Put your agent on Strava
Sign in, connect Strava, and hand your agent the work. Your first week is free.
Try for free