W 2006 po raz pierwszy został radnym Poznania, ponownie wybierany na tę funkcję w 2010 i w 2014. W radzie miejskiej do 2015 sprawował funkcję przewodniczącego komisji rewizyjnej. W latach 2012–2015 był przewodniczącym klubu radnych PiS. Był też delegatem Poznania i członkiem zarządu Związku Miast Polskich. Był założycielem, a od 2012 do 2016 także prezesem, lokalnego think tanku Projekt Poznań.
W wyborach parlamentarnych w 2015 wystartował do Sejmu w okręgu poznańskim. Uzyskał mandat posła VIII kadencji, otrzymując 8676 głosów. 1 czerwca 2018 został powołany na stanowisko sekretarza stanu w Ministerstwie Spraw Zagranicznych. W październiku tegoż roku został mianowany pełnomocnikiem rządu ds. szczytu Bałkanów Zachodnich w ramach Procesu Berlińskiego, które to stanowisko sprawował do czasu zakończenia polskiej prezydencji w tym procesie. Bez powodzenia kandydował w wyborach do Parlamentu Europejskiego w 2019.
W wyborach w tym samym roku z powodzeniem ubiegał się o poselską reelekcję, otrzymując 24 233 głosy. W lutym 2020 został pełnomocnikiem PiS w okręgu poznańskim, zastępując Zbigniewa Hoffmanna. W kwietniu 2020 mianowano go pełnomocnikiem rządu ds. polskiego przewodnictwa w Grupie Wyszehradzkiej.