Is there any way we can set some correlation id on workflow that is passed on in different events?

Hi Team,

We are trying to intercept different request types on the temporal server-side.
One of the simple business validation requires us to know when a workflow starts and when that same workflow completes.

WorkflowID is the unique identifier that we see on the StartWorkflowExecutionRequest. However, other requests such as RespondWorkflowTaskCompletedRequest do not have that information.

Is there some way we can set some kind of correlationID while intercepting these requests (that gets carried around in subsequent requests as some kind of header/metadata) so that we can identify when a specific workflowID has completed or failed?

Alternately, we are left out with polling using DescribeWorkflowExecution that is not a good approach when we aim at doing this for thousands of workflows.