Wasn’t sure where to post this, seemed like the best place.
I just released my first version of a chrome extension to sync Wahoo SYSTM workouts from the SYSTM calendar to an intervals account.
It’s functionality people have wanted for a while on the wahoo forums (and that I’ve wanted too), but as it’s primarily for intervals, I thought this would be the best place for feedback.
It’s pretty basic right now, instructions for setup and use are on the store page.
Any questions or feed back gratefully received. Not a full time project though so answers won’t be instant!
Known Issues
- You may have to refresh the page to get the sync button back if you navigate using the systm buttons rather than browser forward/back. Looking at what I can do to sort that without needing loads of extra permissions.
- Note that currently your developer key is used to authenticate. This is equivalent to giving full permissions to your intervals account via oauth (oauth coming soon, see below)
Coming Soon
- More user friendly pop-up for user defined date ranges and sync/delete
- Define target ranges for outdoor workouts
- Block move workouts in SYSTM calendar by date range (i.e. move all workouts forward by X days)
- Integrate to intervals as an authorised app using oauth, rather than individual API keys
About Me
Been a programmer/developer for a loooooong time now. Front end isn’t really my thing though, and to be honest I hate JavaScript
but wanted to try out something new and had a need so…
3 Likes
Hello,
This is great and I appreciate your efforts. I am, however, stuck. When I click the sync button I get the following message “No SYSTM login token. Go to the calendar page in SYSTM and login.” However, I do not see a place for login on the calendar page in Systm. Nor do I see it as an available app in the settings page. Could you please share with me how to do this?
I apologize for my ignorance.
Thank you
Craig W.
Only just saw this, need to turn notifications on!
It should work if you go to the calendar page and do a refresh. This should make the plugin trigger it’s “init” procedure to get the required details into it’s cache and sync should then work.
If you still get issues let me know what OS/browser/version and I’ll take a look.
EDIT: I’ll change that message as it isn’t very obvious what to do.
Thank you for setting this up. It has been an enhancement that I have been interested in. It synced my calendar but put them one day earlier than in the plan. I tried to “Shift” the workouts and that did not move them. Is there a time zone option?
Hi Chris! I did set up the process to pay attention to time zones. Only with limited testing though admittedly. Is your time zone in intervals.icu set correctly? I can’t seem to see where SYSTM takes it from to be honest so maybe thats where the clash is.
If you still have issues when you confirm that its right in intervals.icu I’ll take another look.
Hello, the time zone is correct in Intervals - America/Chicago.
OK. I think see where the issue is on my side anyway. I’ll have a fix out in a day or two 
@Chris_Spooner I’ve sent you a PM
Just installed this to upload my future Systm training programme to Intervals, so that I could look at (and modify) the ramp rate (age >60!). Worked perfectly first time round, after I’d worked out how to access the Systm training programme through Chrome web, rather than the app. After that, smooth sailing. Thanks so much @Iliketurtles - I said on the Chrome Extension feedback that I wanted to supply the customary “cup-of-cofee” to you the developer, but I’m not sure you’ve set that up!
1 Like
Thanks for the feedback! I should probably make that message have a link to the SYSTM web interface. I don’t really do much work on it now as it’s quite stable but I’ll try to find the time over the next few weeks.
At LAST the ability to export to something useful. Thank you, so much.
Before I sign off on your cup of coffee (well deserved) could you comment on this option?
Once I’ve imported the calendar into Google it displays each of the activities as an All Day event. This cannot be edited, directly. I’ve then individually copied each to another calendar in Google where I can set a time, that I’m committing to training.
Is it possible/would it be possible to have the event, by default, have a 1 hour duration? that sort of event would then be editable.
Hi Ross, next time I get around to doing any changes to it I’ll be sure to fit this in. 
That would be awesome. Coffee already signed off. Loving your work.
Ross aka @ffolliet
1 Like
Hi @Ross_Fisher
How are you exporting to calendar? When I test a planned workout being transferred to intervals.icu it has the expected duration in the workout, so not sure what the issue may be?
EDIT: I just figured it out. So intervals.icu will let you set a default start time for an activity type if it doesn’t have one. click “Settings”, then “Ride”, “run” or whatever, and there is an option “Workout Start Time”.
However, this will not fix your issue. When Google calendar downloads from a url it will not let you alter it presumably because the next time it refreshes from that url, it will overwrite your changes anyway. So it doesn’t really matter what changes are made you won’t be able to alter the events. When you duplicate it, it is your own copy of the event, so you can do what you like.
https://support.google.com/calendar/thread/22574024/i-m-importing-a-calendar-via-url-how-do-i-edit-the-event-in-google-once-it-s-imported?hl=en
If you alter it in intervals.icu then it will eventually sync to Google Calendar, but it doesn’t to this to any set schedule.
You can “fake” it by removing the calendar, then adding #1 to the end of the url to fake google into thinking it is a different calendar. Each time you need to force a change just increment the number up by 1 (technically you can put anything after the # as long as it’s not been used before).
The other option is to import by file. Put the url from intervals into the browser window address bar and save the file. In Google calendar click the “gear” icon for settings, then settings, then Import/Export.
EDIT2: Maybe intervals.icu could add a “randomise” button to the export page which randomises some garbage string onto the end of the url, or possibly a version number or something).