Create a canvas or attach a panel to existing canvas. On that panel design your pop up window add text, buttons etc.
Now create a new FSM template and create 3 new string variables for the main text and two for button texts. make all of them public ,, tick inspector on all variables ,,
On the first state get the go of that canvas or panel of the popup. And on second state do a bool test action with that switch off variable. If the bool is true then do a state where you turn off that popup ,,deactivate game object ,, if bool is false then we turn on the popup and we set all text for it and we listen for button clicks. Then depending on which button is pressed we send an event to the host fsm and we switch of the popup.
You can run this now using "run fsm " action and you can pass in any text for your popup
This is more or less my way. This is a universal popup that you can use in whole game for just about anything.
If you don't want your own popups you can also use the native ones to the os.