Was Zacchaeus saved before he met Jesus? If Zacchaeus was saved when he met Jesus, then wouldn't Zacchaeus be saved by works?

8 And Zacchaeus stood, and said unto the Lord; Behold, Lord, the half of my goods I give to the poor; and if I have taken any thing from any man by false accusation, I restore him fourfold.
9 And Jesus said unto him, This day is salvation come to this house, forsomuch as he also is a son of Abraham.
Luke 19:8-9

Is this saying Zacchaeus was saved from hell because he decided to do good deeds?
I thought we were saved by grace through faith?

8 For by grace are ye saved through faith; and that not of yourselves: it is the gift of God:
9 Not of works, lest any man should boast.
Ephesians 2:8-9

Would it be possible that Zacchaeus was already saved before he met Jesus? Because if not it looks like he gets saved by works.
Zacchaeus' good works are after he addresses Jesus as 'Lord'

So step 1. Was encountering Jesus, step 2. Believing in Him as the Christ - which is not explicitly stated, but necessarily occurred prior to step 3. Confessing Him as Lord step 4. Good works.

Summary: Zacchaeus' good works were a consequence of salvation, not a cause of it.