Kariera reprezentacyjna Po raz pierwszy do szkockiej drużyny narodowej Gray trafił na poziomie grupy do lat 18, w której występował w roku 2011. W wieku niespełna 17 lat, na początku lutego 2012 roku zadebiutował w drużynie U-20 w spotkaniu z Anglią w ramach młodzieżowego Pucharu Sześciu Narodów. W 2013 roku został mianowanym kapitanem zespołu przed kolejną edycją Pucharu. Łącznie na tym poziomie rozegrał 14 spotkań, uczestnicząc w mistrzostwach świata juniorów 2013.
W reprezentacji seniorów zadebiutował w listopadzie 2013 roku w meczu z Południową Afryką, w którym zmienił swojego brata Richiego. W styczniu kolejnego roku został wyłączony ze składu pierwszej reprezentacji na Puchar Sześciu Narodów i skierowany do drugiej drużyny (Szkocja A). Mimo zaledwie 19 lat został wybrany kapitanem na spotkanie z England Saxons. Już tydzień później znalazł się jednak w kadrze na mecz pierwszej reprezentacji z Anglią na Murrayfield. W czerwcu, podczas wyjazdowej serii spotkań z reprezentacją Argentyny zaliczył swój pierwszy mecz w reprezentacji w wyjściowym składzie. Debiutanckie przyłożenie zdobył jesienią tego roku, także w starciu z „Los Pumas”. W tym samym czasie wywalczył sobie stałe miejsce w pierwszym składzie reprezentacji.