Attaching object to AI character's socket runtime

My player character “meets” AI character and is supposed to “give” him an object.
I created a socket on the AI character skeleton (that’s same as my player, by the way), then I try to spawn the object and attach it to AI character.
I tried to do so in different blueprints (such as Player BP, AI character BP, Object BP). I face issues in finding the object for “cast to” nodes.
In addition I don’t know which "transform coordinates to choose in Spawn node.

The results are weird. I started wonder if there are such things ever possible? Maybe I should learn more about the communication between different BP? Maybe dispatchers will help? Or perhaps, AI characters are not supposed to “pick” things from players?

Please clarify!