Play join announcement condition

Hello people.
Have the following configuration for incoming call:
Caller->IVR announcement(welcome to … message)-> join queue
Is it possible to skip ivr if for example 4 agents are not buisy?
Can it be done in other configuration:
Caller->Queue join announcement(welcome to … message)->queue

There is a function that reads the number of agents on a queue. You can test that function before you call playback.

But it can’t free agents. Exclude agents on pause and exclude agents that are already talking