Just off the top of my head I can think of two ways NPM can kick this off but there are a ton of ways this can be done but all require some sort of scripting.
1) execute an external program. IE use scorunner to connect to Microsoft Orchestrator and then connect to router, reboot, email results.
2) trigger aciion to run a VBscript that will connect to device, reboot and you can call another script to email or when NPM recieves an snmp trap process a notification based on that.
I did a quick google search for "use vbscript to restart router" and there a number of ideas and ways others are using scripts to reboot devices.