I did it for a duel map, its really basic.
In your spawn room place all your info_player_teamspawns, and make a wall around them (trigger_multiple) so that AFTER they move after spawning, they will touch it. Make it do output to point_clientcommand that does join_class soldier or whatever.
All of this has to be done INSIDE the spawnroom trigger