Strava elements missing

I’m using the Strava to google sheets workflow and there are some elements from the Strava workouts that are. Missing from the available elements. Cadence (a big thing for cyclists) is not available, and a few other ones. I know that Strava did something to their API a month or two ago so did that change impact it?
If not can anyone help define what fields are available?
Thanks so much

@johnreeve68 Thanks for reaching out. Could you visit your workflow’s Settings (click on the menu at the top-right of your workflow) and enable the Allow Pipedream Support to access or edit this workflow setting. Then, just copy the URL of your workflow from your browser’s address bar and share it here.

Once I see your workflow configuration, I should be able to point you in the right direction. Strava’s API still appears to return cadence data for activities, so I bet we can get you what you need.

Thanks Dylan - I put in a dummy to try and pull cadence as you will see

Thanks

https://pipedream.com/@johnreeve68/strava-pull-p_ezCJ7Dq/edit‘

Great thanks. Try this:

  1. Click the + button below the trigger step, above the step where you add data to Google Sheets.
  2. Search for the Strava app and select the option to Use Any Strava API.
  3. Replace the sample code with the following:
return await require("@pipedreamhq/platform").axios(this, {
  url: `https://www.strava.com/api/v3/activities/${steps.trigger.event.details.id}?include_all_efforts=true`,
  headers: {
    Authorization: `Bearer ${auths.strava.oauth_access_token}`,
  },
})

This should return the full data for your activity (including the cadence data). See this Strava API doc.

In your Google Sheets step, you should then be able to reference the data returned by that step.

Let me know if that helps.

Man you rock. That looks like it works. Awesome

1 Like

That’s great. Let us know if you have any other questions or any feedback about how to improve that integration. I’ll see if we can incorporate the cadence data into the original event so that you don’t have to make the additional API request.

1 Like

Hi Folks - I seem to be getting an error when trying to run this - the error below.

I see no issues when it is a ride from Peloton - seems all the required data is there and pulled in, when I do a weight session that data goes to strava from apple watch and somehow I get this error.

Now, that may be totally unrelated but its what I have is not consistently working to pull strava data into the google sheet.
I’m doing it in to Google sheets so I can utilize google data studio - maybe there is a more robust solution for that??

TypeError: Cannot read property ‘0’ of undefined
at eval (eval at _pd_deep_evaluate (/var/task/params_evaluator.js:57:18), :1:29)
at _pd_deep_evaluate (/var/task/params_evaluator.js:57:18)
at MessagePort. (/var/task/params_evaluator.js:11:9)
at MessagePort.[nodejs.internal.kHybridDispatch] (internal/event_target.js:399:24)
at MessagePort.exports.emitMessage (internal/per_context/messageport.js:18:26)

Now I just finished a run and get this error:
TypeError: Cannot read property ‘elapsed_time’ of undefined
at eval (eval at _pd_deep_evaluate (/var/task/params_evaluator.js:57:18), :1:33)
at _pd_deep_evaluate (/var/task/params_evaluator.js:57:18)
at MessagePort. (/var/task/params_evaluator.js:11:9)
at MessagePort.[nodejs.internal.kHybridDispatch] (internal/event_target.js:399:24)
at MessagePort.exports.emitMessage (internal/per_context/messageport.js:18:26)

I do not have elapsed time in the fields I have defined to pull - this seems odd and possibly points to somewhere else - any thoughts