Skip to content
flowon.com

Process Orchestrator

Starting processes

Start business processes from recipes, logic flows, events, Dataverse actions and AI agents, and control who can start them.

A business process does nothing until something starts it for a record. You can start it automatically when data changes, from any logic flow, as a Dataverse action that apps and Power Automate can call, or as a tool for AI agents. Whatever the trigger, the same Precondition decides whether the start is allowed.

Trigger How Typical use
Logic recipe Add an action of type Business Process to the recipe’s flows and business processes. Start the Case handling process when a case is created. See Recipes.
Logic flow step Run Business Process Add the step and set Business Process (the list shows active processes as “Name (Project)”) and Entity Id. Start a process from your own logic, such as after a flow has qualified a lead. See Logic steps.
Events An event handler runs a logic flow; that flow uses Run Business Process. Start a process when another part of the system publishes an event. See Events.
Sub-process An On Entering or On Exiting action of type Business Process. Start a credit check from an opportunity process. See Stage flows.
Expose as Dataverse Action Switch it on in the business process record. Start the process from a model-driven app command, Power Automate, the Web API or the SDK.
Expose as MCP Tool Switch it on in the business process record. Let an AI agent start the process for a record.

Event handlers cannot start a business process directly. They always run a logic flow, and the flow starts the process.

Every start needs:

  • an active version of the process (see Lifecycle and versions);
  • a record of the process’s Process Entity table;
  • a precondition that allows the start.

The Precondition tab of the designer decides who can start the process and on which records: “Decide who can start this process and when. Leave both empty to let anyone start it on any record.”

“Checked for the user starting it, before the record is read.” Build the rule from All of and Any of groups. When the list is empty, the designer shows “Anyone can start it.”

Rule Checks that the user… Options
Has security role has the role Include roles the user has through a team
In team is a member of the team
In business unit belongs to the business unit Include child business units
Queue member is a member of the queue
Has permission has the privilege on a table: Read, Create, Write, Delete, Append, Append To, Assign or Share
In Entra group is a member of the Microsoft Entra group Dataverse only

For each rule, If not, fail with sets the Error code and Error message returned when the rule is not met.

“A Yes/No condition over the record it starts on and the current user, checked before the instance is created.” Use it for business rules, such as “only for opportunities over 50,000” or “only when the case is not already closed”.

  • It is checked on every start path: recipes, Run Business Process, sub-processes, the Dataverse action and the MCP tool.
  • When it fails, the start is refused, no instance is created, and the caller receives the message as CODE: message.
  • Instances that are already running are not checked again.
  • The precondition is saved with the version. A change takes effect when you publish and activate the new version.
Dynamics 365 CE on-premisesNo Entra group ruleApplies to the other edition

On Dynamics 365 CE on-premises, the In Entra group rule is not offered.

Expose as Dataverse Action “Registers the business process as a Dataverse custom action that starts it for a record.” The action is bound to the process’s table, so you call it for a specific record: from a command button, a Power Automate flow, the Web API or the SDK.

  1. Open the business process record.
  2. Switch on Expose as Dataverse Action and save.
Dynamics 365 CE on-premisesExpose as ActionApplies to the other edition

On-premises, the setting is called Expose as Action and registers a custom action.

Expose as MCP Tool offers the business process as a tool to AI agents through Logic Conductor. The tool starts the process for a record. You can switch it on and off at any time.

The process appears to AI clients as one tool named start_ followed by the process name. It takes the record id and returns the new instance’s id and subject. The precondition is checked, as for every other start. See Logic Conductor.

A Discount approval process runs on opportunities. It is exposed as a Dataverse action so sales reps can start it from a command button, and as an MCP tool so a sales assistant agent can start it on request.

  • Who can start: Any of: Has security role Salesperson, Has security role Sales Manager. If not, fail with NOT_SALES / “Only sales users can request a discount approval.”
  • Start only when: the opportunity is open and its discount is greater than 0.

A support agent who asks the AI assistant to start the approval is refused with NOT_SALES: Only sales users can request a discount approval., and no instance is created.