# Enum ExecutionSearchOrder OptimaJet.Workflow.Core.Runtime.ExecutionSearchOrder Defines the lookup order used by the runtime when resolving actions, conditions, and rules by name. Namespace: [OptimaJet.Workflow.Core.Runtime](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/) ```csharp public enum ExecutionSearchOrder ``` ## Fields `LocalGlobalProvider = 0` Search local code actions first, then global code actions, then provider rules or actions. `GlobalLocalProvider = 1` Search global code actions first, then local code actions, then provider rules or actions. `LocalProviderGlobal = 2` Search local code actions first, then provider rules or actions, then global code actions. `GlobalProviderLocal = 3` Search global code actions first, then provider rules or actions, then local code actions. `ProviderLocalGlobal = 4` Search provider rules or actions first, then local code actions, then global code actions. `ProviderGlobalLocal = 5` Search provider rules or actions first, then global code actions, then local code actions. ## Remarks The three source names in each value appear in their exact lookup order. - `Local` means code actions defined by the process scheme. For a subprocess, the runtime uses the root process scheme's code actions. - `Global` means global code actions registered in the workflow runtime. - `Provider` means the runtime's [WorkflowRuntime.ActionProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/WorkflowRuntime/) when resolving actions and conditions, or its [WorkflowRuntime.RuleProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/WorkflowRuntime/) when resolving rules. [Previous EmptyWorkflowRuleProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/EmptyWorkflowRuleProvider/) [Next GetCustomTimerValueAsyncDelegate](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/GetCustomTimerValueAsyncDelegate/)