There are a few ways I would go about this.
Use the “No Agents” exception in the “Find Agent” block to send the call to a new voicemail scenario. Or if you would prefer to keep the caller in a queue for a certain period of time before sending them to the voicemail select the “Keep the call in queue even if there are no logged in agents that match.” from within the “Find Agent” block then leverage the timeout exception. The “Wait time” configured in the “Find Agent” block would control how long a call can sit in queue before it is timed out and sent down the exception path.
The second approach is to evaluate the conditions as the call enters the scenario by leveraging the “Get Statistics” block. You can then query how many agents are logged in, and other metrics. Use this output of the values in variables and compare in an “IF” block. If the conditions do not meet your set criteria, then send the caller over to a voicemail scenario, else send the call to the “Find Agent” block.
I hope you find this information is helpful.