Note: This article is on the new Sandbox 2.0 which is currently in Private Beta. For Freshservice's legacy Sandbox click here.

A dependency is a one-way relationship or reference between two or more configurations in a way that one must exist for the other to exist and function as needed.

For example, if configuration A depends on configuration B, A cannot function as expected (i.e be synced to target) without B. However, B can still function as expected.

For example. a workflow returns approval for all the members of a Department and the Department has a mandatory requirement i.e. the Department Head. Here, for the workflow to function, the target needs to have the said Department and a valid ‘Department head’ to exist.

In the above case, Workflow has a dependency on the ‘Department’, and the ‘Department’, in turn, has a dependency on the ‘Department Head’ fields. Also ‘Department Head’ might have a Reporting Manager and the Reporting Manager would be a dependency for the Department Head.

What are missing dependencies?

When working in Sandbox, users may create configurations that do not necessarily exist in the actual production environment. This could be to test configurations that are alternates of the production set-up or just to experiment with new processes. Such configurations (fields, roles, groups et. al.) that do not exist in the target are classified as 'missing dependencies'. 

Configurations that exist in the target but in a different form or location or a different hierarchy as compared to that in the source are not categorized as missing dependencies.

How are missing dependencies identified?

Here is how dependencies are identified:

Consider a workflow is dependent on a ticket field say ‘Priority’:

  • The field 'Priority' in the source has the following choices "High, Medium, Low"

  • The field 'Priority’ in target has the following choices "High, Medium" i.e., Low doesn't exist in the target

  • In this case, the field ‘Priority’ is a missing dependency as one of the choices is missing in the target.

In this case, if the missing dependency is ignored and you proceed with sync all values from the source are overwritten. Due to the absence of the third choice, the configuration will not work as needed.

In contrast, if choices in the source are lesser as compared to those in the target, there are no missing dependencies. For example, consider the below: 

  • The field 'Priority' in the source has the following choices "High, Medium"

  • The field 'Priority’ in target has the following choices "High, Medium, Low"

  •  In this case, the field ‘Priority’ is not a missing dependency, as the choice is missing in the source.