REST API on top of Temporal

Have a REST API, with a number of backend services. HTTP requests are routed to controllers, which in turn calls backend micro-services using grpc. Services use Mysql to save state. Want to use Temporal to orchestrate several multi-step flows here.

How does one get data from a HTTP request into a workflow. Can use signals, but how does the response go back to the same HTTP request. How does the HTTP request/response paradigm fit in with Temporal?

Appreciate if you could point to some code in Go.

Thanks.

How does one get data from a HTTP request into a workflow.

You can pass the payload as workflow input or as signal data as you mention (it should serializable by default or your custom data converter). You can also use SignalWithStartWorkflow.

but how does the response go back to the same HTTP request

Trying to figure out what result you need to return? Is it workflow execution result or a current state of a running/completed execution?
Temporal guarantees read after write consistency of signal and then query. So can send a signal and then query the workflow state.