Propagate GRPC headers from client to an activity

In one of my activities I need to provide headers when making a GRPC call. Client code that invokes workflow execution via SDK has necessary headers available. One option is to just modify my workflow and activity inputs and propagate these headers by hand. I wonder if there is another mechanism that I can use to achieve this ? I was reading about Interceptors and ContextPropagator but not clear if those are good alternatives.

Yes, interceptors were created to support header propagation. OpenTracing Span Context propagation was implemented through interceptors.