Not sure i have not tried TCL since long
but i did couple of sites using EEM like below example : (test before deploying in production).
Setup a reload timer after 1:00am, so in case anything go wrong it will reload.
here is example of EEM Scritp.
event manager applet speedchange
event timer cron cron-entry "0 01 * * *" <-- 1AM - change as per your requirement
action 1.0 cli command "enable"
action 2.0 cli command "conf t"
action 3.0 cli command "interface gi0/0/1"
action 4.0 cli command "no negot auto"
action 5.0 cli command "duplex full"
action 6.0 cli command "speed 100"
action 7.0 cli command "end"