> For the complete documentation index, see [llms.txt](https://documentation.ocsinventory-ng.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.ocsinventory-ng.org/user-docs/deployment/deployment-workflow.md).

# Deployment workflow

OCS agents communicate their inventory with the OCS server on a regular basis. If an asset is assigned a package for deployment, the following workflow takes place:

1. **Notification**:

   During its next inventory communication, the server notifies the agent that a package is available for deployment.
2. **Package download**:

   The agent downloads the package onto the device.
3. **Package execution**:

   The package is extracted, and the actions defined within it are executed on the system.
4. **Result reporting**:

   After the deployment, the agent sends a result back to the server. This result indicates whether the actions were successfully executed or if any issues occurred.

## Assigning a package

Assignments link a package to a specific asset or group for deployment. Assigning a package marks it for deployment on the selected target.

{% hint style="info" %}
**Note**: The steps below assume you already have a package created and ready to be deployed. Package creation is documented in [Packages](/user-docs/deployment/packages-and-actions.md).
{% endhint %}

{% tabs %}
{% tab title="Assigning to an Asset" %}
{% stepper %}
{% step %}
Navigate to **Inventory → General → Assets**.

Click the **name of the asset** to open its details page.
{% endstep %}

{% step %}
Click the **Assign Packages** button (top right corner).

A form will open to select the package.
{% endstep %}

{% step %}
Select a package.
{% endstep %}

{% step %}
Click **Add**.
{% endstep %}

{% step %}
Verify the assignment.

Switch from the **Inventory tab** to the **Deployment tab** on the asset's details page.

The assigned package should now be listed.
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="Assigning to an Asset Group" %}
{% stepper %}
{% step %}
Navigate to **Inventory → General → Asset groups.**

Click the **name of the group** you want to deploy the package to.
{% endstep %}

{% step %}
Click the **Assign Packages** button in the top-right corner.

A form will appear, allowing you to select a package.
{% endstep %}

{% step %}
Select a package.
{% endstep %}

{% step %}
Click **Add.**
{% endstep %}

{% step %}
Verify the assignment.

Switch from the **Inventory tab** to the **Deployment tab** on the group’s details page.

The assigned package should now be listed.
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

## **Canceling a package deployment**

Package deployments can be canceled directly from the details of an individual asset or a group.

{% tabs %}
{% tab title="From an Asset details" %}
{% stepper %}
{% step %}
Navigate to **Inventory → General → Assets**.

Click the **name of the asset** to open its details page.
{% endstep %}

{% step %}
Switch to the **Deployment** ta&#x62;**.**
{% endstep %}

{% step %}
Locate the assigned package.

Find the package you want to cancel in the list under the Deployment tab.
{% endstep %}

{% step %}
Cancel the deployment.

Click the **trash/bin icon** in the **Actions column** next to the package.

Confirm the cancellation when prompted.
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="From a Group details" %}
{% stepper %}
{% step %}
Navigate to **Inventory → General → Asset groups.**

Click the **name of the group** to open its details page.
{% endstep %}

{% step %}
Switch to the **Deployment tab.**

This tab shows the list of packages assigned to the group.
{% endstep %}

{% step %}
Locate the assigned package.
{% endstep %}

{% step %}
Cancel the deployment.

Click the **trash/bin icon** in the **Actions column** next to the package.

Confirm the cancellation when prompted.
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

## **Viewing Deployment Results**

You can review deployment results from three different locations: **History**, **Asset Details**, and **Group Details**.

{% tabs %}
{% tab title="From the History page" %}
{% stepper %}
{% step %}
Navigate to **Deployment → History**.

If packages have been assigned, they will be displayed in the table.
{% endstep %}

{% step %}
**Check the statuses columns.**

Each column provides an overview of the number of assets impacted by each status:

* Pending
* Notified
* Success
* Error
  {% endstep %}

{% step %}
**View details.**

Click the **bar chart icon** in the **Actions** column.

A detailed page will open, showing statuses and assigned assets or groups.

<figure><img src="https://461838061-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtjrEC8kt8LJiJYFBs5CS%2Fuploads%2FCxJr2OP9PncJchyDTJBY%2Fimage_2026-04-22_114636257.png?alt=media&amp;token=55402f6d-efdb-46e5-80a3-bfc16357f157" alt="History general view"><figcaption><p>History general view</p></figcaption></figure>
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="From Asset details" %}
{% stepper %}
{% step %}
Go to **Inventory → General → Assets**.

Click the **name of the asset** whose details you want to view.
{% endstep %}

{% step %}
Switch to the **Deployment** ta&#x62;**.**

If packages have been assigned, you will see:

* The status of each package for this  device.
* Whether the package was assigned from a group or directly to the asset.

<figure><img src="https://461838061-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtjrEC8kt8LJiJYFBs5CS%2Fuploads%2FFxzirLrHc9YJLPAfIvtn%2Fimage_2026-04-22_115044263.png?alt=media&amp;token=482e9866-2893-40d7-8683-db7ec44160f3" alt="Asset deployment status"><figcaption><p>Asset deployment status</p></figcaption></figure>
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="From Group details" %}
{% stepper %}
{% step %}
Go to **Inventory → General → Asset Groups**.

Click the **name of the group** whose details you want to view.
{% endstep %}

{% step %}
Switch to the **Deployment** ta&#x62;**.**

You will see a summary of statuses across all devices in this group.

<figure><img src="https://461838061-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtjrEC8kt8LJiJYFBs5CS%2Fuploads%2Fr9z3WrUsKZc9MH5f0olu%2Fimage_2026-04-22_115254842.png?alt=media&amp;token=b52af2b8-63a5-4a41-9dc3-46ade75668ce" alt="Asset group deployment status"><figcaption><p>Asset group deployment status</p></figcaption></figure>
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}


---

# 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://documentation.ocsinventory-ng.org/user-docs/deployment/deployment-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.
