InitiateWorkflow Activity
The InitiateWorkflow activity allows initiation of a new workflow or restarting an existing workflow.
To resume a workflow, the activity allows resuming a workflow based on the processID. This is typically used when a response message is received and it must be correlated to the original workflow which sent the request to external system. On receiving response messages, the CheckMessageStatus activity allows finding the processID, if any, associated with the correlation ID provided in the message.
While resuming an existing workflow, if ProcessIDType is specified as MessageID, there should be at least one suspended ApplicationTask work item for the specified process which can be restarted. Such work items would be closed before restarting the workflow. If there is more than one work item open, the work item is selected based on SelectionMethod. If ProcessIDType is specified as DefinitionID, the process could be suspended in any activity. It will simply resume from the activity which was suspended.
In case a new workflow needs to be started, the command is START. In this case, ProcessID and ProcessIDType are not required. An input document is submitted to as asynchronous workflow request. No other workflow state is transferred. The workflow manager decides the workflow to be executed based on the data provided in the input document. The new workflow initiated is a separate event unlike the InitiateSubflow activity which continues execution of the subflow as part of the event which initiated the workflow. The new initiated event is not associated with original event.