I have this automation set up to open all on hold issues each weekend. A bit of a back story, each day I have a filter sent to me to display all my open issues (open or in progress) that are due during this sprint. If an issue is resolved or on hold it won't be sent in the filter. Each weekend I have all on hold issues moved back to In Progress, so that Monday I can review the issue and see if I can start working on it or not. This forces me to be realistic about the issue - is it something I can actually complete during this sprint or do I need to move it to the next Sprint?
Now on to the automation:
I originally had it using the CRON expression but once Automation updated to use an easier Scheduled format I switched to that 

Every Sunday at 9a it will run a JQL query: all issues in the specific project I'm working on that are on hold status, then it will transition the issues to On Hold and remove the text from the "Hold Reason" field.