Smart contract can be use for this, if certain conditions is meant then the transactions will go on.
What you call "condition" determines whether this is possible or not.
Certain "conditions" are impossible to implement using smart contracts because you can't programmatically check and enforce them.
For example when it is an escrow for purchase of a physical good. There is no way to verify if the merchant sent the physical goods in the code (aka digitally). There needs to be human intervention, and a third party.
Some other "conditions" in some special cases can be implemented.
For examples if it is a coin swap. Like if you wanted to exchange your litecoin for bitcoin. Atomic Swap protocol is categorized as HTLC that act as escrows.
Both of these examples are possible in Bitcoin protocol with its smart contract capabilities.