Depending on the number of extensions, this might work well with Dynamic Routes. If you’re talking dozens of extensions, it would be more efficient to just use custom dialplan.
There’s another wrinkle tho. I’ve considered this use case in the past, where you attempt to anticipate who the caller wants to talk to, so you first route the call to a specific extension instead of bothering reception or making them nav an IVR. But IMO, you have to structure the call flow with the assumption that your guess is wrong and ensure the caller ends up somewhere useful on no-answer instead of a voicemail box for someone they’re not even looking for. If doing this myself, I would have a call flow like this:
Inbound route → specific extension based on query → on no answer go to normal reception
This can’t easily be done with Dynroutes, but there’s a snippet here that might get you started with custom dialplan