Both are grammatically correct, but they're not the same, and one is better.
As usual, "be going to" is the standard future tense with no extra nuance, just a neutral statement describing a future event.
Using "will", however, carries the nuance that this is a prediction, rather than something known about the future, so it carries less confidence.
While it makes sense to predict he will begin to participate in competitions in general, or in one particular competition, it makes less sense to predict someone will participate in some competition on a specific day.
So, "...participate in a competition on Sunday...", sounds like something the speaker already knows, rather than a prediction, which makes "be going to" a better choice here.