Update Activity
strava.update_activity
ActionBusiness appsconnection required
Calls the Strava API with the connection's credentials.
Change the title, description, sport, gear or flags of an activity.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- OAuth 2.0
- Providers
- Strava
- Secret shape
- {"client_id": "…", "client_secret": "…", "refresh_token": "…"}
- Resolved by
- config.connection_id, else node.connection_id
Configuration
8 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
activity_id Numeric id of the activity, as returned in the 'id' of a strava.list_activities row. | string | Yes | — | — | 12345678987654321 |
name New title for the activity. Left blank, the title is unchanged. | string | No | — | — | Evening Ride |
description New description for the activity. Left blank, it is unchanged. | string | No | — | — | — |
sport_type Reclassify the activity as another of Strava's sports. | string | No | — | one of "AlpineSki", "BackcountrySki", "Badminton", "Basketball", "Canoeing", "Cricket", "Crossfit", "Dance", "EBikeRide", "Elliptical", "EMountainBikeRide", "Golf", "GravelRide", "Handcycle", "HighIntensityIntervalTraining", "Hike", "IceSkate", "InlineSkate", "Kayaking", "Kitesurf", "MountainBikeRide", "NordicSki", "Padel", "PhysicalTherapy", "Pickleball", "Pilates", "Racquetball", "Ride", "RockClimbing", "RollerSki", "Rowing", "Run", "Sail", "Skateboard", "Snowboard", "Snowshoe", "Soccer", "Squash", "StairStepper", "StandUpPaddling", "Surfing", "Swim", "TableTennis", "Tennis", "TrailRun", "Velomobile", "VirtualRide", "VirtualRow", "VirtualRun", "Volleyball", "Walk", "WeightTraining", "Wheelchair", "Windsurf", "Workout", "Yoga" | — |
gear_id Id of the bike or pair of shoes to attach. The literal 'none' clears whatever gear is attached. | string | No | — | — | b1234567 |
commute Whether the activity is a commute. | boolean | No | — | — | — |
trainer Whether the activity was recorded on a training machine. | boolean | No | — | — | — |
hide_from_home Whether the activity is muted, meaning it stays off followers' feeds. | boolean | No | — | — | — |
- At least one of name, description, sport_type, gear_id, commute, trainer, hide_from_home must be set.
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"activity_id": "12345678987654321",
"gear_id": "b1234567",
"name": "Evening Ride"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
id The activity's Strava id. | number | — |
name The activity's title. | string | — |
sport_type The sport Strava recorded it under, such as 'Run'. | string | — |
distance Distance covered, in metres. | number | — |
moving_time Time spent moving, in seconds. | number | — |
elapsed_time Wall-clock duration, in seconds. | number | — |
total_elevation_gain Elevation gained, in metres. | number | — |
start_date When the activity started, in UTC ISO 8601. | string | — |
start_date_local The same instant in the athlete's local time. | string | — |
average_speed Average speed, in metres per second. | number | — |
kudos_count How many kudos the activity has. | number | — |
athlete.id Strava id of the athlete the activity belongs to. | number | — |
{
"athlete": {
"id": 0
},
"average_speed": 0,
"distance": 0,
"elapsed_time": 0,
"id": 0,
"kudos_count": 0,
"moving_time": 0,
"name": "",
"sport_type": "",
"start_date": "",
"start_date_local": "",
"total_elevation_gain": 0
}See Update Activity run in a workflow.
In a technical demo we add the Strava connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.