> For the complete documentation index, see [llms.txt](https://docs.intuneassistant.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.intuneassistant.cloud/extensions/assignments-manager/intune-assignments/workflow.md).

# Workflow

ExtensionsAssignments Manager

## Workflow

Upload → Compare → Select → Validate. A safe workflow for bulk Intune policy assignment changes.

For details: <https://docs.intuneassistant.cloud/docs/extensions/assignments-manager/how-it-works/#how-it-works>

Assignment Manager is built around a **safety-first workflow**. You always see what will change *before* you execute anything—and you always validate after.

Four-step workflow

Upload your desired state in CSV, compare it with the live tenant, choose what to apply, then validate and export results.

{% stepper %}
{% step %}

### 1) Upload CSV

Provide a CSV describing the assignment changes.

```
PolicyName;GroupName;AssignmentDirection;AssignmentAction;Filter;Filter Type
Windows Security Baseline;Finance Department;Include;Add;;
iOS Compliance Policy;All Users;Include;Replace;Corporate Devices;Include
Android App Protection;Sales Team;Include;Remove;;
```

During upload, the tool validates:

* Required columns & data types
* Obvious conflicts (duplicate rows, invalid actions, etc.)

If the upload check finds issues, you get immediate feedback to fix them. Only the valid rows are processed in the next step.\
To fix the errors, update your CSV and re-upload.
{% endstep %}

{% step %}

### 2) Compare (Current vs Planned)

Each row is evaluated against the live tenant state, so you get a precise preview.

**Status compare indicators:**

* **Ready for migration** – Row is ready to implement changes
* **Already migrated** – Row is already in the desired state
* **Check errors** - Row has issues that need fixing before migration. This can due an non existing policy/group, invalid filter, or duplicate policy names.

Correct the CSV and re-upload to fix. That means, provide a group that actually exists in Azure AD, or a policy that is already created in Intune. If the group or policy doesn't exist, you can also choose to create it first. Then, after creation, upload the CSV again and start over.
{% endstep %}

{% step %}

### 3) Select changes (Selective Migration)

You decide exactly what is applied.

* Select/deselect operations
* Batch multiple policies in one run

Recommended for safety

Start with a small pilot CSV, then scale up.
{% endstep %}

{% step %}

### 4) Migrate + Validate

Did you reach the desired state?

After migration, Assignment Manager validates the final state:

* Assignments exist as expected
* Filters are applied correctly
* Conflicts are detected and surfaced
* Results are summarized and exportable
  {% endstep %}
  {% endstepper %}

***

### Best-practice patterns

#### Use Replace for clean migrations

When moving from one target strategy to another, **Replace** avoids leftover assignments.

#### Keep CSVs in version control

Treat migrations as change-controlled artifacts.

#### Use filters for exclusions (when possible)

Excluding via filters is usually cleaner than managing parallel exclusion groups.

***

Create Assignment Templates\
Learn how to create CSV templates for bulk assignment management - manually or by exporting from your reference tenant.\
<https://docs.intuneassistant.cloud/docs/extensions/assignments-manager/create-assignments-template/>

Scenarios\
Bulk manage Microsoft Intune policy assignments using CSV files (add, remove, replace) across tenants.\
<https://docs.intuneassistant.cloud/docs/extensions/assignments-manager/scenarios/>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.intuneassistant.cloud/extensions/assignments-manager/intune-assignments/workflow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
