Народився 14 червня1993 року в місті Глазго. Вихованець футбольної школи клубу «Селтік» зі свого рідного міста. Він голосно заявив про себе зробивши хет-трик у молодіжному Кубку Шотландії проти «Квін оф зе Саут». Влітку 2013 року для отримання ігрової практики Каллум на правах оренди перейшов у англійський«Ноттс Каунті». 10 серпня в матчі проти «Пітерборо Юнайтед» Макгрегор дебютував у Першій лізі Англії[2]. 14 вересня в поєдинку проти «Мілтон Кейнс» він забив свій перший гол за «Каунті»[3]. Всього взяв участь у 37 матчах чемпіонату і забив 12 голів.
2008 року дебютував у складі юнацької збірної Шотландії, взяв участь у 21 грі на юнацькому рівні, відзначившись 11 забитими голами.
2012 року залучався до складу молодіжної збірної Шотландії. На молодіжному рівні зіграв у 5 офіційних матчах, забив 1 гол[8].
У жовтні 2017 року Макгрегор був викликаний у національну збірну на два відбіркових матчі до ЧС-2018 проти Словаччини та Словенії[9], але залишився на лавці під час обох ігор. Дебютував він за збірну місяць потому, в товариському матчі проти Нідерландів (0:1)[10].