McGregor played rugby union for the Karangahake club in the Goldfields sub-union competition in 1908.
[3] In 1913 McGregor was picked in the New Zealand squad for their North America tour and played in 11 games during the tour, including Test matches against Australia and the United States.
He played at both clubs with another brother Eric Esdaile McGregor who was also a very accomplished player and the top try scorer in the Auckland club competition in 1918 along with appearing for Auckland.
His debut was against Thames in 1915 where he scored a try in a 27–16 win at Victoria Park in front of 4,000 spectators.
[5] He played again for Auckland against Hawkes Bay at Eden Park in a 38–13 win where he scored a try.