it is subjective on what is “advanced”…Please take it with a grain of salt.
Here is 1st case: I am into a territory of long run wf with combination of machine and human. Let say, the wf is to start some steps by machine/microservice, then send to 3rd party vendor for processing through email. They take few days to complete their step. Once the reply back from vendor ( could be email or fax), then we can continue to rest of the flow by staff. This case has few hurdles to resolve
— we can have a activity to send email to 3rd party vendor, but I cannot mark the activity to be complete as I have to wait for the reply form vendor. So somehow, we have to mark it pending or in progress status, then move to next email activity.
— Once the 3rd party vendor sent the email back, we need to resume the work.
— We want to calculate the SLA for each step. hence time for each step needs to be tracked.
My 2nd case: another scenario is that once the request is submitted, it routes to backoffice staff, they may have question on how the work should be fulfilled because the customer information is changed somehow. He needs to send the request back to the requester for further instruction.
The first use case can still be categorized as workflow, the second one is more expanding to case management space. I do not know if that is still in the realm of Temporal.
Appreciate any thought.