Start here. This is the direct spoken answer to practice first.
Why this question matters
Message payloads are easier to process when the envelope carries enough context to trace and protect the work. This is a practical bridge between messaging design and incident debugging.
I would include a unique message id, message type, schema version, created time, correlation id, and enough tenant or actor context to authorize or trace the work. Correlation id connects the message to the API request or business process that created it. The payload carries business data, while the envelope carries processing and diagnostic metadata. That helps workers log and handle messages consistently.