Can't you just use a hot corner configured as "prevent sleep"?
How does it sleep when the agent is done working with the hot corner?
How does it sleep when the agent is done working with the hot corner?