Temporal for Managing Object Lifecycle

Hello, I have a question about the right practices of using temporal to manage lifecycle of objects.
We have an object that changes state based on interactions by users or internal computations. We’re looking into the possibility of using a single long-running workflow to represent the lifecycle of such object where a workflow could be running for days waiting a user input. The workflow would be completed when the object reaches a specfic state (completed_state for example)

Is it a good practice to do so by a single workflow while using signals for user interactions or is it preferred to have multiple workflows managing the object’s lifecycle with data about the object state stored in a database for example.

Also, would query methods be a good idea here to be able to get information about this object (like current state and other fields), or they’re not intended for this usecase

Yes, this is the appropriate use of Temporal, especially if the object needs to take some actions based on the events and its state.

Also, would query methods be a good idea here to be able to get information about this object (like current state and other fields), or they’re not intended for this usecase

They are appropriate.

I would also recommend looking into the new synchronous update feature for interacting with such a workflow.

Thank you! Will be checking the new synchronous update feature