---
alias: user-guide-automation-task-mes-materialtrackoutrequest
tags:
- automation tasks
description: "Trigger task that listens for Material Track Out requests from the MES and starts the equipment-side handling for the operation"
---
# On Material Track Out Request
:iot-system-event-lg:
This **trigger** task listens for Material Track Out requests coming from the MES and lets a workflow perform the equipment-side handling when an operator tracks a **Material** out of a **Resource**.
It belongs to the `System / MES` category, under `Triggers`, and is available in both Data Flow and Control Flow workflows. In a Control Flow workflow it appears as a `Start` trigger named `When a Resource performs Material Track Out`.

## Details
| Fields | Details |
| ----------------- | ---------------------------------------------------------------------------------- |
| Scope | Connect IoT
Data Platform
Enterprise Integration
Factory Automation |
| Workflow | Data flow
Control flow |
| `IsProtocol` flag | :material-close:{style="color:#EF5350"} |
## Behavior
When an operator performs [[user-guide-track-out-material]], the MES sends a request on the `ConnectIoT.TrackOut.RequestReply` subject and waits for a reply. This task receives that request, emits the `resource` and the `material` involved in the operation, and emits `Success`.
The MES sends the request only when the **Resource** involved in the operation has the Enable Automation Scenarios and Material Track-Out Interlocking properties enabled. The request is handled by the Automation Controller instance associated with the Resource or, when defined, with its Automation Scenarios Owner Entity.
The MES stays blocked until a reply is sent. If none is sent within the `Reply Timeout`, the task emits `Error` and the track out fails on the MES side.
The reply is produced differently depending on the workflow type:
- **Control Flow** - the reply is the result of the trigger's handler branch.
- **Data Flow** - a downstream [Send Material Track Out Reply](task_material_track_out_reply.md) task sends the reply.
## Inputs
| Name | Data Type | Description |
| -------------- | --------- | ---------------------------------------------------------------------------------------------------------------------- |
| Enable/Disable | `Boolean` | Enables (`true`) or disables (`false`) the message listener at runtime. Works together with the `Auto Enable` setting. |
Table: On Material Track Out Request task inputs
## Outputs
| Name | Data Type | Description |
| ------------ | ------------ | ------------------------------------------------------ |
| resource | `Resource` | The Resource where the operation is being performed. |
| material | `Material` | The Material being tracked out. |
| Success | `Boolean` | Triggered when a request is received and processed. |
| Error | `Error` | Triggered when the task fails or the reply times out. |
Table: On Material Track Out Request task outputs
## Settings
On the `General` tab, you have the usual settings and the following settings:
| Name | Data Type | Values | Default | Description |
| ------------------------ | --------- | ------ | ------------------------------ | ----------------------------------------------------------------------------------------------- |
| Auto Enable | `Boolean` | | `true` | Automatically enables the message listener when the task starts. |
| Reply Timeout | `Integer` | ms | `60000` | Amount of time allowed to wait for a reply before issuing a timeout. This setting is mandatory. |
| Material Track Out Request Subject | `String` | | `ConnectIoT.TrackOut.RequestReply` | Subject used to communicate with the MES. This setting is read-only. |
Table: On Material Track Out Request task settings

## Remarks
This task pairs with the [Send Material Track Out Reply](task_material_track_out_reply.md) task, which sends the reply back to the originating request.
This task uses a specific structure of context-based data called `zone`. More information on this topic can be read in the [Zones](../zones.md) page.