How to extract input data from workflows

I’m trying to select workflow input (the initial object that was passed to the workflow) for a set of failing workflows, which is around 4k, but the UI does not contain any sort of way to bulk download these workflows and the database has the values encoded therefore I can’t filter by them.
Is there way to decode these data?
Am I missing how to bulk download data from the UI?
Is temporal SDK the only way to approach this problem?

Is temporal SDK the only way to approach this problem?

Think it is, you could write code using Temporal client api which

  1. lists workflows given a visibility query to select your failed executions, so query could be something like “ExecutionStatus=‘Failed’ and WorkflowType=‘XYZ’” or similar (can base it on Start/CloseTime as well if you need or any custom search attributes)
  2. for each result in (1) call GetWorkflowExecutionHistory api to get first page of event history, you only need the first event
  3. use the default or your custom data converter if you have to deserialize input payloads from first event of event history (WorkflowExecutionStarted event)

Which Temporal sdk are you using?

I appreciate your time tihomir, I’m using python SDK, and I think this is the only way