How Can I import future workouts?

I'd like to generate my own TCX file and import it to Garmin, so I can use on my 965. I don't want to use the workout builder

I know you can import activities, (things you did), but I can't see a way to import a TCX file for future workout. I validated it against the XSD schema. 

Here's as an example file I'd like to import:

<?xml version="1.0" encoding="UTF-8"?>
<TrainingCenterDatabase xmlns="">www.garmin.com/.../v2"
xmlns:xsi="">www.w3.org/.../XMLSchema-instance"
xsi:schemaLocation="www.garmin.com/.../v2
">www.garmin.com/.../TrainingCenterDatabasev2.xsd">

<Workouts>

<!-- Monday Run -->
<Workout Sport="Running">
<Name>Run Mon 11/11</Name>
<Step xsi:type="Step_t">
<StepId>1</StepId>
<Name>Warm Up</Name>
<Duration xsi:type="Time_t">
<Seconds>300</Seconds>
</Duration>
<Intensity>Resting</Intensity>
<Target xsi:type="None_t"/>
</Step>
<Step xsi:type="Step_t">
<StepId>2</StepId>
<Name>Zone 2 Run</Name>
<Duration xsi:type="Time_t">
<Seconds>1800</Seconds>
</Duration>
<Intensity>Active</Intensity>
<Target xsi:type="None_t"/>
</Step>
<Step xsi:type="Step_t">
<StepId>3</StepId>
<Name>Cool Down</Name>
<Duration xsi:type="Time_t">
<Seconds>300</Seconds>
</Duration>
<Intensity>Resting</Intensity>
<Target xsi:type="None_t"/>
</Step>
<Notes>5 min walk warm-up, 30 min Zone 2, 5 min walk cool-down, Distance: ~2.4 miles, Focus: Form maintenance at lower HR than last week.</Notes>
</Workout>

</Workouts>

</TrainingCenterDatabase>

  • You can't import a workout to Connect by uploading a FIT or TCX file, but you can import a workout to Connect via JSON, YAML, or Excel, either by using a 3rd party Chrome browser extension or python script.

    forums.garmin.com/.../1852014

    Another option, mentioned in the same thread, is to generate a workout FIT file programmatically, but in that case, you can't import it to Connect, you can only copy it directly to your watch via USB cable.

  • Thanks! Can I connect USB and upload the TCX directly? Or I first need to convert to FIT file?

  • No you would need a FIT file, and I don't know of an tool that can convert anything to a workout FIT file. To generate a workout FIT file you would have to write code. There's an example in the Garmin FIT SDK, but it's not suited for non-programmers.

    I think your best bet would be to check out one of the solutions I posted in the comment linked above. The python scripts allow you to build a workout in yaml or excel and upload it via the workout API. That may still be a bit complex. You could always try the Chrome extension that's meant for sharing workouts. Create a workout in the workout builder, use the extension to download it, then play around with the JSON that's returned. By making manual edits to the JSON, you should be able to create pretty much any workout you want. Then use the Chrome extension to upload the JSON to a new workout. Only problem is you still have to figure out the workout JSON format.