what's wrong with the command?

I'm in 1.21.5, and im trying to detect if the player is wearing an iron helmet so i wrote the following /execute at @p[nbt={Inventory:[{Slot:103,id:"minecraft:iron_helmet"}]}] run tellraw @s hi thing is, no matter how much i take off and put on the helmet, it won't execute the command
Continue to help post