Adding custom constraints to Temporal Scheduler

Hi,
We have a requirement to schedule our workflows. But we have some additional constraints.
Say we have to schedule 3 workflows, and they have some priority, We need to start the job with highest priority first and so on.
Same way, if we have other checks to start before we schedule the workflow. Is there a way we can add these additional constraints before the job is actually scheduled?

Regards
Chakra