Starting workflow instances

Workflows are started by events outside the workflow system. An external application can start a workflow instance by one of these options:
  • Send a Process.Workflow message that contains the workflow definition name and start parameters.
  • Send a Sync message event that is received by a workflow activation policy.
  • Send a message that is received by a workflow activity, as modeled in a document flow.
  • Start a workflow from an alert, as modeled in an event monitor.
  • Start a workflow from another workflow, using the Start Workflow activity.
  • Start a workflow through the /workflow/start API from the /process/application endpoint.

Workflows can also be started manually by a user in Infor Ming.le.

When a workflow completes, its results are communicated in a response message to the application that sent the starting event. Depending on the start method, these messages are sent with the workflow results:

  • If the workflow was started by a Process.Workflow BOD, an Acknowledge.Workflow message is sent with the values of the workflow output parameters.
  • If the workflow was started by a Sync BOD through an activation policy, a Process message for the same Noun is sent. This Process message is sent with the values of the workflow output parameters. If the workflow does not have output parameters, the Process message is not sent. If the Process message could not be delivered, a Confirm BOD is generated containing this Process BOD, so it can be resubmitted later.
  • If the workflow was started from a workflow activity, as modeled in a document flow, the output of the workflow is added to the document. The document flow continues. If there is no next activity in the flow, the workflow output is ignored.
  • If the workflow was started from an alert, the workflow output is ignored.
  • If the workflow was started manually, the workflow status and its output parameters are updated in the Infor Ming.le UI.
  • If the workflow was started synchronously from a another workflow, the output values are returned according to the output mappings defined.
  • If the workflow was started through an API call, the workflow output is ignored.