If ever we need to trigger any custom logic initiated from dialogues we have with our NPCs, we can use the Bind Even on Dialogue Reply function. It’s not super elegant and relies on the specific text of the reply, but it gets the job done and keeps the setup very simple.
For this to work we need to subclass the NPCInteractableBase class to create a custom NPC, then implement the node in Begin Play.

Dialogue Reply needs the SFInteractionManager, which is responsible for inventory, journal entries and dialogues. We can then bind a custom event to it and use Switch on String to react to the dialogue choices. Whether we want to trigger custom animations or journal entires, this will allow us to tap into dialogue replies .
I say this isn’t elegant because if ever we were to change the text in the dialogue, this logic would stop working. Even a simple change from “full stop” to “exclamation mark” could ruin the setup. Translations aren’t easily possible with this either, but it’s certainly good enough for prototyping. An alternative would be to add a GUID to each reply, but that would make the whole dialogue setup more complex.