To be honest I haven't used Unity joints much yet. Hinge joints seem to have special status as a GameObject property, so I started with that...
There are a few different ways I can see to extend this:
1. Instead of using the hingeJoint property, use GetComponent<Joint>() to get the first joint of any type on the object.
2. Or use a popup to select the type of joint to find and connect.
3. Or instead of a GameObject variable type, take an Object variable of type UnityEngine.Joint. You would then need a Get Component action to get the joint you want to connect. IOW, 2 actions instead of one.
1 seems like a good solution if the typical use case is to have a single joint on a GameObject.
2 allows you to have multiple joint types on a GameObject. Is this a common use case?
3 is the most flexible, but requires the most work from the user.
Like I said, I haven't used joints a lot, so I'm not sure which solution is best.
Any thoughts?