Intervals.icu and Zwift Integration is live!

Intervals.icu now uploads planned workouts to Zwift and downloads completed activities! Look for the Zwift box in /settings and click the “Connect” button:

Screenshot 2024-12-04 at 14.07.01

This will send you to Zwift to allow Intervals.icu to connect. Make sure you are logged in to the correct Zwift account, accept the permissions and you are all set!

Screenshot 2024-12-04 at 14.06.39

You can chose to only download specific types of activities and only upload particular workouts (e.g. Ride’s but not Runs).

Workouts for the next week are uploaded. Zwift shows workouts for today on the home page:

You can also go to Workouts → Custom and select “Intervals.icu” to see what is coming up:

Completed activities appear on Intervals.icu very quickly and link back to Zwift (“View on Zwift”).

If you have Strava connected and are getting Zwift activities from Strava, then these will be replaced by ones coming directly from Zwift.

You can’t download historical activities from Zwift (yet?) and you need to make sure your FTP on Zwift matches your FTP on Intervals.icu. I am hoping Zwift will extend their API to support settings sync.

Thanks very much to the team at Zwift for making this happen!

64 Likes

Well done David!

1 Like

Amazing, thanks.

Well done :star_struck::star_struck::star_struck:

Well done :+1:
Possible to Link to Rouvy?

1 Like

Great work @david! :clap:t2:

This IS indeed brilliant, particularly workout sync, so great work and congratulations.

However I have one slight issue which is entirely down to Zwift, but wonder if there’s a workaround, which is that they count a warm-up ride and then the race or group ride as two separate activities. And I think it still doesn’t even record watts you put out in the start pen. For that reason I tend to prefer to upload / sync the single activity on my Wahoo.

Is there any way to reconcile these things? It seems pretty tricky, and I will probably just have to continue as I’m doing, just use the integration to upload planned workouts and then renaming the activity manually from my Wahoo, but worth asking.

1 Like

Can you further explain about this? Can we also plan workouts with HR and cadence?

Well done, thanks for the integration!

Tx. The workouts are specified as % of FTP or % of threshold pace. So if your FTP on Intervals.icu is different to your FTP on Zwift then the workout power will be different. You can specify cadence targets but not heart rate.

I am not sure how Intervals.icu could help with that. The main Zwift and Wahoo file will be quite a bit different.

1 Like

Long shot, but is there a way of integrating Zwift workouts from Zwift (e.g. 30 mins to burn) into the workout library in Intervals rather than having your (poorly created) workouts in Intervals being uploaded to Zwift? I hope that makes sense, it is just Zwift workouts contain all the extra info e.g. cadence etc. and is easier to just click it rather than make your own. Thanks, keep up the great work

you can import those workouts to your OWN workout library intervals.

Excellent, thank you!

Question, will the past week’s workouts be removed so the folder doesn’t get overloaded?

Yes. That happens every day so its a “rolling week” of stuff.

2 Likes

Looks like there’s an issue with intervals where no power (or anything else) is set:

Error validating the workout file: Could not validate workout file due to: cvc-complex-type.4: Attribute ‘Power’ must appear on element ‘SteadyState’.

This from a workout that simply has a number of simple intervals like “- 2m20s” and similar (which I would think should be <FreeRide Duration="140" FlatRoad="1"/>)

I recognise those error-messages as Java schema-validation errors, so perhaps Zwift could be so kind as to share the zwo XSD they obviously have.

Thanks. I do have the xsd. It is a great deal more fussy than Zwift itself.

What should I use for “Power” for those? I have to put something in or leave the step out.

Is <FreeRide /> not an option? That’s what Zwift itself generates if you add an interval without a power target. I’m not sure what a good alternative is if not. Maybe just 0? Not sure what will happen if you have ERG mode enabled and try that. Or perhaps something low but “real” like 25% (0.25). Seems like an oversight if they don’t have FreeRide in there.

Or are you saying that FreeRide needs a power attribute? That would seem very contradictory. I’d just set it to 0 and see what happens and maybe let Zwift know they messed up because that can’t possibly be on purpose.

Awesome! Thanks

image
i feel like zwift is worthy of a icon spot here :rofl:

So if there is no power target I should spit out FreeRide instead of SteadyState? I can do that.

1 Like

indeed, but please david make all icons in that sidebar more small? Thanks