Selected Answer
Please try the attached workbook. It all starts with the Workbook_Open procedure in the ThisWorkbook module. When the workbook is opened the procedure SetSchedule is called. You can find it in the TXL_5475 module. This procedure sets a time to run the procedure CheckForUpdates every minute. You can change the interval here. Try to make it the same as the interval by which your external program updates your Input sheet.
And it also all ends in the ThisWorkbook module because just before the workbook is closed the Workbook_BeforeClose procedure runs automatically. It calls the procedure EndSchedule (also in module TXL_5475) which terminates the timer. You can also run that procedure on F5 (Run Sub) if you want to stop the automatic running of the updater, and after you stopped it you can restart it by running SetSchedule manually (F5).
You can also run the procedure CheckForUpdates manually (F5). But normally you won't need to because it runs fully automatically every minute while the workbook is open. It checks all the TRUE cells on the Input tab (E5:G9), and if the same cell wasn't TRUE before it modifies columns H:I and makes an entry in the Activity log.
When you first open the workbook the program doesn't know which was the previous cell content in E5:G9. Therefore it changes the update time (not the Comments) and makes a log entry for every TRUE found. This happens every morning and after every crash. I didn't deal with this problem because any solution depends upon your larger work flow. You may, in fact, want these entries. Anyway, note that a solution would require more information about your workbook and your work flow than you have provided. Therefore it would need to be presented in a new thread. But first, I suggest that you try you own hand. Good luck with that!