im just an idiot, i was using "is standing on portal frame" instead of "is near portal frame (1 block radius)" (i think is standing on doesnt work for blocks that dont go vertically all the way up)
It won't work if you use If Player: Is Sneaking inside of it due to the If being updated after the event, you would want to add a Wait 0 ticks to fix it.
im just an idiot, i was using "is standing on portal frame" instead of "is near portal frame (1 block radius)" (i think is standing on doesnt work for blocks that dont go vertically all the way up)