How to monitor Bitcoin address for new transactions?
It's possible to do this externally, but it's tricky to get right and a cause of loss of funds if you do. 


You need to correctly identify transactions you can spend. This is relatively trivial with P2PKH addresses, but a little more involved if using more exotic script types. You need to understand rules like transaction maturity before considering a UTXO to be spendable. 
You need to correctly handle reorganizations if a transaction changes its confirmation state or is invalidated by a change in its confirmation state and an alternative is included. 
You need to manually walk every single block to find old transactions, or use the UTXO scanning feature to find ones which may be unspent. This is very time consuming and requires full retention of all blocks since genesis (or at the very least, the birthdate of the wallet). Repeating this if you want to monitor a new address with potentially old entries. 
You need confidence that your code is correctly accounting, which is only something you can ensure. 


It's easier to use the built in wallet which handles all of this correctly, really.