As per Nabi, he decided to bowl first considering the freshness of the wicket.
The six-nation tournament was moved from Sri Lanka to the United Arab Emirates because of political unrest in the island nation and serves as a tune-up to the T20 World Cup in Australia in October and November.
Afghanistan, who have been drawn alongside Sri Lanka and Bangladesh in Group B, recently lost a close T20 series in Ireland but earlier swept Zimbabwe 6-0 in ODI and T20s and Nabi remains confident his team can deliver.
"We want to bowl first here. It's a fresh wicket, there's cricket after a long time in Dubai. We have plenty of all-rounders," Nabi said at the toss.
Sri Lanka, led by Dasun Shanaka, have handed international debuts to left-arm fast Dilshan Madushanka and medium-pace bowler Matheesha Pathirana.
"We would have bowled first as well. Six batters, two all-rounders and three genuine bowlers," said Shanaka. India, Pakistan and Hong Kong are in Group A.
Sri Lanka: Danushka Gunathilaka, Pathum Nissanka, Kusal Mendis (wk), Charith Asalanka, Bhanuka Rajapaksa, Dasun Shanaka (capt), Wanindu Hasaranga, Chamika Karunaratne, Maheesh Theekshana, Dilshan Madushanka, Matheesha Pathirana
Afghanistan: Hazratullah Zazai, Rahmanullah Gurbaz (wk), Ibrahim Zadran, Karim Janat, Najibullah Zadran, Mohammad Nabi (capt), Rashid Khan, Azmatullah Omarzai, Naveen-ul-Haq, Mujeeb Ur Rahman, Fazalhaq Farooqi
Umpires: Ahsan Raza (PAK), Anil Chaudhary (IND)
TV Umpire: Jayaraman Madanagopal (IND)
Match Referee: Jeff Crowe (NZL)