@vin_from_nz firstly, I think your condition should change to Or; the way you've got it at the moment every column has to have changed for it to go down the green if yes channel.
But I would take a different approach (other flavours of a solution may be available).
I always turn on versioning for the list on list settings.
1. The trigger is when an item or a file is modified followed by the get changes for an item or a file when the since field has the following expression to compare the previous version with the current version:
sub(int(triggerOutputs()?['body/{VersionNumber}']),1)

2. Next, initialize a string variable then add a compose action to handle line breaks using <br>

3. Then for each question where you want to check if the column has changed add a condition. Leave the red if no channel empty and in the green if yes channel add a append to string variable action and add the text and dynamic content you want followed by the outputs of the line break compose.



4. Outside of all the conditions add another compose action and select the variable. Finally, add the Teams post message in a chat or a channel action and add the outputs of the previous compose.

This is the result and because of the line breaks it will show each item on a separate line but only the items that have changed.

Hope that helps.
Rob
Los Gallardos
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.