One way to do this is with a trigger (a variation on what penguinman wrote, with a bit more info):
Trigger
Radius: 0,0
Condition: None
Condition Field: joiningunit distance player < joindistance
OnActivation Field: [joiningunit] join (group player)
...where joindistance is a number of metres (I sometimes make it quite small, like 1.5 meters, but it could be 50 meters).
Although the Radius can be 0,0 as shown, and the trigger can be placed anywhere on the map, I often use the figure for the join distance used (e.g. 3 meters and place the trigger on the unit to join, so it is a reminder to me in the editor).
This way, you don't need any waypoints at all, the player just needs to get within range of the joining unit and they should join their group, provided they have spare "slots". Note that the player can already be in a defined group or not, the "group player" will always work (even if it is a group of one).
... I got the basis of this idea from Sui a long time ago, so credit to him with this.