Thanks Anthony, I think after playing with rundeck a bit more I've realised I can approach this in two ways:
1) have a separate 'Reboot' job that runs on my infrastructure server. I can add this job as a step in my patching job.
2) or implement a custom node execution script that normally ssh's to the target server to run a command/script but also recognises a 'reboot' command. In that case, it will reboot the target and wait for it to come back via a combination of ping and netcat to port 22.
I've gone with (2) for the moment and it seems to work well.