Dopo aver conseguito la laurea in ingegneria informatica, ha lavorato come consulente per una società americana, operando altresì come volontario per una ONG italiana attiva nella Repubblica Democratica del Congo e in Guatemala. Nel 2013 diviene membro del Parlamento italiano e poi capogruppo del Movimento Cinque Stelle nella Commissione Affari Esteri e Comunitari per l’intera legislatura. Dal 2013 al 2018 è membro della delegazione parlamentare italiana al Consiglio d’Europa, dove ha presieduto il Comitato per i Rifugiati, i bambini e i giovani migranti. A marzo 2018 viene rieletto membro del Parlamento e il 13 giugno viene nominato sottosegretario di Stato agli Affari Esteri nel governo del Presidente del Consiglio Giuseppe Conte, riconfermato nel medesimo ruolo a settembre 2019 nel secondo governo Conte e a febbraio 2021 nel governo di Mario Draghi.
