The most important thing to understand here is that you can not communicate with another BP if you don’t know it.
Think of it a bit like a telephone. Your BP is sitting in the level. And unless you leave it the number of another BP it can’t call anyone.
With that out of the way let’s look at the two attempts you made.
1. Event Dispatcher.
An Event Dispatcher is used to alert other Actors that something is happening. You have a couple of things you can and have to do in order to make it work. First of all you have to create the Event Dispatcher. Give it a name (XYZ for example). Done. Within the same BP you can then just use “Event XYZ” which will be triggered when the dispatcher is called. In other BPs you will need a reference to that BP and then BIND it to an Event in that BP. Important here is that you NEED to have something in the “Target” Pin. Otherwise it will only listen to Events in the same BP.
And last but not least. You have to Call the Event. In order for anything to work you have to trigger it. Just use “Call XYZ”. Keep in mind that once again unless you want to trigger the dispatcher in the same BP you need a target.
2. Interface
This is quite a lot easier. Inside of your interface you create a function with parameters. Now if you open your BP with the Blueprint Editor you have a button labeled “Class Settings” left of the “Play” Button which sends you in the game preview. If you click it the Details Panel will change and show you a few settings. One of which being “Interfaces”. You add your interface to that list and can now use Events or Functions with the same name you specified in the Interface. Whether or not it’s an Event or Function depends on whether or not you specified a return value. If you don’t return anything it’ll be an event. Otherwise it’ll be a function.
To interact with it from another BluePrint you just need the reference and call the Interface Function.