Skip To Content


ModelBuilder has a built-in understanding of which processes in your model need to run first so that dependent processes have the data needed to run successfully. This happens automatically as you make connections using the output of one tool as the input to another tool. However, occasionally you may need to control the order of operations between two related but disconnected processes. In such cases, preconditions can be used to explicitly control the order of operations. A process can be made to run after another process by making the output of the first process a precondition to the second process. Any variable can be made a precondition to tool execution, and any tool can have more than one precondition.

Set a precondition

In this example, two separate but related processes will be connected using a precondition so that one process executes before the other. The first string of processes creates a new feature dataset within a new file geodatabase. The second process clips a feature class to a study area and writes the output to the newly created feature dataset.

Two disconnected processes

If the model above is executed as is, there is no way to control the order of operations; the Clip tool may execute before its output location is even created, resulting in an error. To make a precondition, click and hold on the variable that must be created before the next tool should be run, move the cursor to the tool, then release the mouse button on top of the tool to make a precondition connector line between the variable and tool.

In the model below, the new Feature Dataset variable is made a precondition to the Clip tool. By doing this, Clip tool will not run until after Create Feature Dataset has run.

Processes with preconditions

In this topic
  1. Set a precondition