I use
https://athletica.ai/ which schedules my workouts / training and works whether you do it indoors or out. I combine that with TACX free, creating the required workouts in Tacx cloud. I tend to do two workouts indoors each week and I do the rest outdoors.
To start you tell it the range of how many hours a week you can train, plus any other data you know such as ftp, and events you have coming up. Then it does the rest. As you enter any new events you can add them with their priority and dates and it will adjust the plan.
It can push workouts to a suitable Garmin Edge unit (plus you can export ZWO, MRC, ERG workout files for trainer software that can import them. It can import activities from either Garmin Connect or Strava or both. It adapts the plan using AI based on what you actually did, rather than what was originally scheduled.
It also has a train to maintain mode which you can use if you don’t have any events coming up. The resulting plan being one to maintain but not increase you current fitness.
Sample screen grab for a couple of weeks time for me.