Learn how to build more complex Assignment Maps using Assignment Rules
Sometimes, you'll need to create a more sophisticated Assignment Map that can make smart choices about device settings and app installations. This guide will help you build a more complex Assignment Map and customize it to meet your organization's specific requirements.
- Using Assignment Rules in Assignment Maps
- Conditional Blocks
- Conflict Management and Order of Operations
- Troubleshooting Assignment Maps
- Best Practices for Configuring Assignment Maps
- Using Assignment Maps with the Enterprise API
Using Assignment Rules in Assignment Maps
Just like Assignment Rules on Classic Blueprints, the frequency of rule evaluation depends on the type of Library Item. For Agent-backed Library Items, such as Custom Scripts and Custom Apps, evaluations occur every 15 minutes during the Agent check-in. MDM-backed Library Items are evaluated during the daily 24-hour MDM check-in. For any nodes based on user attributes, ensure the data has synced into Kandji from the IdP first; otherwise, changes will apply at the next check-in interval after syncing.
Editing an Assignment Map triggers an immediate reevaluation of all rules.
Conditional Blocks
Conditional blocks are sets of if/else conditions that use data about users and devices to decide which configurations, apps, and settings to deploy. These blocks are organized on an infinite canvas, allowing for detailed and flexible deployment strategies. Conditional blocks work by checking conditions in order and applying the first one that matches. Once a condition is met, the system moves to the next block without checking any further conditions in the current block. This ensures that the most relevant configuration is applied based on the first matching condition.
- When editing your Assignment Maps, click the + to add a Conditional Block.
- In the conditional block, click the pencil icon to configure the Assignment Rules that should apply to the If condition.
- Optionally, click the + to add an else if condition and configure Assignment rules there, as well.
- Continue adding Library Items that you want to apply to the conditions defined in your If, Else, and Elseif statements in your conditional blocks.
- You can continue adding and configuring an infinite amount of conditional blocks using the + buttons on each Assignment Node.
Conflict Management and Order of Operations
Certain Library Items are designed so that only one instance can be applied to a Blueprint at a time. These are called self-conflicting library items. When a conflict occurs in a Classic Blueprint, Kandji will display a conflict modal, allowing you to choose which Library Item should be applied to the specific Blueprint.
Assignment Maps use conditional logic to determine which settings and configurations are applied to devices. Here’s how conflicts are managed within Assignment Maps:
- Order and Priority - The order of Library Items within the map determines the priority for conflicts. For self-conflicting items, the map ensures that the device always receives the configuration that is farthest along in the map.
- Exclusive Device Assignments - Each device can belong to only one Assignment Map at a time, minimizing the chance of conflicts or errors.
Devices "collect" Library Items during their map evaluation. The installation order will follow the order of operations defined in our macOS Check-In support article, except in the case of self-conflicting Library Items, where the device will always install the Library Item that appears last on the Map.
Troubleshooting Assignment Maps
Manual Device Exclusions
Manual device exclusions are meant solely for troubleshooting and should not be part of regular scoping logic.
When selecting a Library Item on an Assignment Map in Edit mode, you can exclude specific devices for that item. These exclusions apply across the map wherever the Library Item appears, making it seem as if the item is not relevant to the excluded device(s). Library Items with exclusions are marked with a new badge on the map, and you can find a list of all excluded items in the upper-left corner. Additionally, these exclusions are highlighted when using Device Lookup.
Best Practices for Configuring Assignment Maps
Group Similar Conditions
- Keep it simple by using a single Conditional Block with “else if” nodes to group similar conditions together. This helps reduce complexity and makes your map easier to read.
First-Match Logic
- Conditional Blocks are checked on a first-match basis. Make sure your conditions are logically grouped to avoid any unintended skips.
Order from Least-Specific to Most-Specific
- When setting up your Assignment Maps, evaluate them from left to right. Place the most specific conditions on the rightmost side of the map to ensure they get priority.
Be Careful with Single-Value Attributes
- Avoid using attributes like user department in nested conditions. For better flexibility, use attributes that can have multiple values, like user groups.
No Need to Branch by Device Family
- Assignment Maps respect the Installs On setting. This means you don’t need to duplicate logic across multiple branches for different device families, simplifying your setup.
Using Assignment Maps with the Enterprise API
Assignment Maps come with several handy features when using the Kandji enterprise API:
- Creation - You can create a new map from scratch, use a template, or duplicate an existing map.
- Deletion - Easily remove maps you no longer need.
- Modification - Change Blueprint attributes like name, description, and enrollment code for Manual Enrollment.
To determine which identifiers you need to edit Assignment Maps using the Kandji API, hold down the option key when viewing an Assignment Map.