Trees are the Parent process for workflow. Each Tree is dependant on a source for its input. Forms, submissions, spaces, kapps, and Users call trees through a webhook that creates a trigger for the Tree.
Trees contain handlers and routines, global and local. Trees can only be called by triggers.
Global Routines are intended to be routines that are used across multiple trees and routines. They don't have any connection to a Source, so all inputs are set when the routine is created, and they are provided by the calling tree or routine at runtime.
Examples of Global Routines include sending messages or approval process.
Local Routines are tied to a single tree. They can be used multiple times on that tree, but cannot be used with any other tree or routine. As such, they have access to the source data from that tree, unlike global routines, that do not have access to their calling item's source data.
Examples of Local Routines include repeated lookups of data, tree specific data validations, and large, complex subprocesses that may need to be versioned on their own.
Both Global and Local Routines appear as Task handlers in the Task List in the Tree Builder.