Dal 2009 al 2014 è stato Assessore comunale alle politiche comunitarie e all'immigrazione a Prato, eletto in quella tornata elettorale con il numero più alto di preferenze.
È stato per 5 anni presidente della commissione immigrazione di ANCI in sostituzione del sindaco Cenni. Componente del comitato minori stranieri non accompagnati al ministero del lavoro e delle politiche sociali, durante il mandato di assessore alle politiche comunitarie è anche segretario di ACTE, l'Associazione delle Comunità Tessili Europee.
Il 26 ottobre 2011 viene nominato consigliere politico dell'allora ministro dei beni culturali; l'incarico durerà poco a causa della caduta del governo Berlusconi IV il 12 novembre 2011.
È stato deputato al comitato delle regioni di Bruxelles dall'8 settembre 2014 (nomina pubblicata in gazzetta ufficiale dell'Unione Europea), prima effettivo, poi supplente, fino alle dimissioni da consigliere comunale in seguito all'elezione alla Camera dei deputati.
Nel 2014 viene eletto in Consiglio comunale nelle liste di Forza Italia nuovamente con il più alto numero di preferenze. Nel 2015 è candidato capolista alle elezioni regionali in Toscana ma sebbene risulti il più votato della lista non viene eletto a causa del numero esiguo dei seggi che il partito riesce ad esprimere.
All'interno del partito è segretario comunale di Forza Italia del comune capoluogo dal 2007 al 2009 e segretario provinciale dal 2014 al 2015, membro della segreteria regionale dal 2012 e responsabile nazionale immigrazione dal 2014.
Elezione a deputato e sottosegretario agli Esteri
Alle elezioni politiche del 2018 viene eletto alla Camera dei Deputati nel collegio uninominale di Prato, sostenuto dal centrodestra (in quota FI), sconfiggendo il candidato di centro-sinistra Benedetto Della Vedova.[2]
È componente della commissione permanente I (affari costituzionali, interni, presidenza del consiglio) fino al 10 maggio 2019 e del comitato parlamentare di controllo sull'attuazione dell'accordo di Schengen, di vigilanza sull'attività di Europol, di controllo e vigilanza in materia di immigrazione. Dal maggio 2019 è componente della commissione permanente difesa.
Il 3 maggio 2019 lascia Forza Italia perché non vi si riconosce più e aderisce al Gruppo misto.[3] Il 10 maggio aderisce alla componente del Gruppo misto denominata “Dieci volte meglio”. Ad agosto aderisce a Cambiamo!, nuovo movimento di Giovanni Toti, e l'11 settembre forma la componente “Cambiamo!-Dieci volte meglio” nel Gruppo misto con altri colleghi usciti da Forza Italia.[4] Il 18 dicembre dello stesso anno i cinque totiani aderiscono alla nuova componente del misto "Noi con l'Italia-USEI-Cambiamo!-
Il 10 febbraio 2021 aderisce alla componente "Popolo Protagonista-A.P." con gli ex M5S Gianluca Rospi e Fabiola Bologna. Il passaggio ha l'intento di favorire un percorso che porti all'unione delle componenti in Parlamento di PP-AP e Cambiamo!, cosa che avviene il 16 febbraio con la formazione della loro componente autonoma di 10 deputati. Il 17 febbraio viene eletto capogruppo della componente parlamentare. Il 27 maggio seguente aderisce a Coraggio Italia, il nuovo partito fondato dal sindaco di Venezia Luigi Brugnaro insieme al Governatore della Liguria Giovanni Toti e a numerosi parlamentari di diversa provenienza (M5S, Forza Italia, Cambiamo!-Popolo Protagonista, Lega e Centro Democratico).[5] Il 23 giugno viene eletto segretario di presidenza della Camera dei deputati con 183 voti su 398 votanti.[6] Il 18 novembre dello stesso anno diventa responsabile del tesseramento di Coraggio Italia in Toscana.[7] Cessa dalle funzioni di segretario di presidenza il 23 giugno 2022 in concomitanza dello scioglimento del gruppo di Coraggio Italia.[8] Il 28 giugno, dopo aver lasciato Coraggio Italia, con dieci colleghi forma la nuova componente “Vinciamo Italia-Italia al Centro con Toti”.
Alle elezioni politiche anticipate del 25 settembre 2022 si candida per la Camera dei deputati come capolista nel collegio plurinominale Toscana 01 per Noi moderati, lista composta da Italia al Centro, Coraggio Italia, Noi con l'Italia e UdC[9] non risultando eletto poiché la lista non supera la soglia di sbarramento del 3%. Il 31 ottobre seguente riceve l'incarico sottosegretario di Stato al Ministero degli affari esteri e della cooperazione internazionale nel nuovo governo Meloni.