I think you could build something like that in Playmaker and with Unity's GUI system. If you don't have lots of variables, the standard Build String action will suffice. With lots of variables, it's probably getting unwieldy and if you can code, I'd suggest to invent a better Build String action where you can drop a block of text, and which can read and use variable text elements, i.e. use a string like this "$Character goes to $Place where $it $buys $item" (resulting in "Alice goes to the shop where she buys icecream"). Look up Twine, for a general idea.
Once you have the string you want displayed, you have to get it on screen. For this, create a text element (Game Object > UI > Text). Place it where you can see it. Select it, and find the component where you can enter the text to display in the inspector. Now, drag and drop that thing to your FSM state, select set. This will generate an action to set a parameter. Pick out text > string, and then set your string value. There's probably a custom action to do this in the Ecosystem, or you can write one that finds the component and writes the string to it. That's preferable.
Sizing of the speech bubble etc can be done with 9-sliced sprites. Look that up, it's fairly straightforward and build into Unity. The placement of the GUI is a bit finicky, especially with different resolutions, but manageable.
Finally, you need some way to change the string around to say different things, which is straightforward Playmaker stuff. Finally, you need a bit of logic, perhaps in a different FSM to appear and disappear the speech bubble contraption. You do this by having it go to an empty state. Set up two global events, like "SHOW BUBBLE" and "HIDE BUBBLE" (all caps naming convention for global events), and when needed, Send Event action from somewhere else to show them and hide them. If this is literally periodical, you can build the timer right into this FSM.