Skip to main content

Overview

Some scripts depend on data produced by another script before they can run. For example, a script that fetches device details needs a list of device IDs to exist in the database first. This is handled automatically. When the scheduler runs a dependent script, it checks for its required base script(s) and triggers them first if needed. You do not need to manually sequence scripts — the dependency chain resolves itself at runtime. The diagrams below show each dependency relationship using to indicate direction (base script → dependent script).

Dependency Map by Application

Base ScriptDependent Script
crowdstrike_get_device_idscrowdstrike_get_ids_details
crowdstrike_get_device_ids populates the list of device IDs that crowdstrike_get_ids_details uses to fetch full device records.
Base ScriptDependent Script
kandji_get_deviceskandji_get_device_details
kandji_get_deviceskandji_get_device_apps
kandji_get_deviceskandji_get_device_activity
kandji_get_deviceskandji_get_device_library_items
kandji_get_deviceskandji_get_activation_lock_bypass_code
kandji_get_deviceskandji_get_device_unlock_pin
kandji_get_deviceskandji_get_firevault_recovery_key
kandji_get_blueprintkandji_get_blueprint_library
kandji_get_userskandji_get_users_info
kandji_get_devices is the most widely depended-upon base script in Kandji — seven separate detail scripts rely on its output.
The same dependency pattern applies to all instances. For instance 2, all script names carry a _2 suffix (e.g. google_get_users_2, google_get_email_delegates_2).
Base ScriptDependent Script
google_get_usersgoogle_get_email_delegates
google_get_usersgoogle_get_email_forwards
google_get_usersgoogle_get_user_tokens
google_get_usersgoogle_get_org_units
google_get_usersgoogle_get_roles
google_get_usersgoogle_get_role_assignments
google_get_groupsgoogle_get_groups_members
google_get_groupsgoogle_get_groups_settings
The same dependency pattern applies to all instances. For instance 2, all script names carry a _2 suffix (e.g. microsoft_get_groups_2, microsoft_get_groups_info_2).
Base ScriptDependent Script
microsoft_get_groupsmicrosoft_get_groups_info
microsoft_get_appsmicrosoft_get_apps_info
azure_get_subscriptionsazure_get_resources
Base ScriptDependent Script
okta_get_groupsokta_get_group_members
okta_get_groupsokta_get_groups_apps
okta_get_appsokta_get_app_groups
okta_get_devicesokta_get_device_users
okta_get_all_usersokta_get_role_assignments
okta_get_all_usersokta_get_roles
okta_get_rulesokta_get_rules_info
Base Script(s)Dependent Script
looker_get_userslooker_get_users_info
looker_get_groupslooker_get_groups_info
looker_get_attributeslooker_get_attributes_info
looker_get_users + looker_get_attributeslooker_get_user_attributes_info
looker_get_user_attributes_info has a dual dependency — it requires data from both looker_get_users and looker_get_attributes before it can run. Both base scripts will be triggered automatically if their data is not already present.
Viso has a 3-level chain — each script depends on the one before it:
viso_get_relationships
  → viso_get_relationships_details
      → viso_get_relationship_assessments
LevelScript
1 (base)viso_get_relationships
2viso_get_relationships_details
3 (deepest)viso_get_relationship_assessments
Running viso_get_relationship_assessments will automatically trigger viso_get_relationships_details, which in turn triggers viso_get_relationships if needed.