Create Activity

strava.create_activity
ActionBusiness appsconnection required

Calls the Strava API with the connection's credentials.

Record a manual activity on the authorised athlete's account.

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, 4 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
name
Title of the activity, as it will appear in the athlete's feed.
stringYes——Morning Run
sport_type
Which of Strava's sports this activity is. This replaces the deprecated 'type' field, which Strava ignores whenever sport_type is present.
stringYes—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"—
start_date_local
When the activity started, in the athlete's local time, as an ISO 8601 timestamp such as '2026-09-01T08:30:00Z'.
stringYes—iso8601 format2026-09-01T08:30:00Z
elapsed_time
Wall-clock duration of the activity, in seconds.
numberYes—≥ 01800
description
Free text shown under the activity in the feed.
stringNo———
distance
Distance covered, in metres.
numberNo—≥ 05000
trainer
Mark the activity as recorded on a training machine.
booleanNo———
commute
Mark the activity as a commute.
booleanNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "distance": 5000,
  "elapsed_time": 1800,
  "name": "Morning Run",
  "start_date_local": "2026-09-01T08:30:00Z"
}

Output

One shape.

result

FieldTypeExample
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 Create 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.