We are using workflows as a process orchestration tool. The source system triggers the workflow API then we:
1) identify the step to complete
2) either complete the step (such as approval, email, etc.) or poll a tracker service to identify when the step is completed by another system then
3) identify next step as applicable and so on until the end.
As part of this whole orchestration we need to build in error/exception handling like when we're unable to post to the tracker or the workflow errors out. We have ideas but unsure if they're the best route, looking for suggestions to program this? Is there a known/best practice to use?