Task Templates Overview
Task Templates define a sequence of continuous steps carried out by an AMR without requiring continuous permission from the operator. Once a task is dispatched, the AMR executes each step autonomously until the task completes or encounters a defined outcome.
The Task Templates page provides a filterable list of all defined templates. Use the Active and Top-level filters to narrow the view.
| Column | Description |
|---|---|
| Name | The template name used for identification throughout DFleet |
| Active | Whether the template is currently enabled for use |
| Top-level | Whether the template can be launched directly from UserPanel |
| Allowed AGVs | Which AMRs may execute this template, with priority ordering |
| Allowed Groups | Which groups may run this template, with expected completion time |
| Allowed Users | Which users have permission to dispatch this template |
| Operation | Actions available: edit, clone, user access, and delete |
The page also provides access to Add new template, Global Parameters, and Variables via dedicated buttons.
Task Template Editor
The Task Template Editor is the primary interface for designing task flows. It provides a visual canvas where actions are arranged, linked, and configured.
Name — A representative name that makes the template easy to recognize across DFleet. Choose a descriptive name that reflects the template's purpose.
Category — An optional grouping label. Categories help organize templates in the list view when the number of templates grows large.
Active — Toggle to activate or deactivate a template without deleting it. Deactivated templates are preserved but cannot be dispatched.
Top-level template — A top-level template can be run directly from UserPanel and must end with an End outcome. Non-top-level templates are hidden from UserPanel but can define multiple outcomes, allowing them to be used as sub-tasks within larger flows.
Suspend task initially — When enabled, the task starts in a suspended state instead of executing immediately. The operator must manually resume the task after dispatch.
Params — Customizable variables that can be prompted at execution time. Each parameter has a defined type and can use a static default value or inherit its value from another parameter.
| Parameter Type | Description |
|---|---|
| Bool | True or false value |
| Int | Whole number value |
| Double | Decimal number value |
| Str | Text string value |
| Station | A station defined in the map |
| Register | A NavWiz register reference |
| DFleet Register | A DFleet-level register reference |
Outcomes — Define the possible results of a task template. Outcomes are used for decision-making flow when the template is called as a sub-task. Only non-top-level templates support multiple outcomes; top-level templates always end with the single End outcome.
Duration — The expected completion time for the task, specified in hh:mm:ss format. This value is used for scheduling and monitoring purposes.
Destination hint — Specifies a station used for distance-based AGV assignment. When set, DFleet uses the AGV Assignment Min/Max Distance values to prefer AMRs that are within an optimal range of the destination.
The editor toolbar provides the following controls:
| Tool | Function |
|---|---|
| Save | Save the current template (requires a soft reboot to take effect) |
| Auto Layout | Toggle automatic arrangement of actions on the canvas |
| Select | Drag to select actions, or click to select individual actions and link outcomes |
| Link | Link two actions together to define execution flow |
| Add Action | Insert a new action node onto the canvas |
| Clear All | Remove all actions from the canvas |
| Cut / Copy / Paste | Standard clipboard operations for actions |
| Undo / Redo | Revert or reapply recent changes |
| Zoom | Zoom in and out of the canvas |
| Fit Content | Adjust the view to fit all actions on screen |
| Fullscreen | Expand the editor to fill the browser window |
| Note Editor | Add or edit text notes on the canvas |
| Delete | Remove the currently selected action |
Task Template Groups and Users
Access control for task templates is managed through user and group assignments. Each template can be restricted to specific users or user groups, controlling who is allowed to dispatch it from UserPanel.
Assigning a template to a user group is recommended over individual user assignment. Group-based access simplifies management when team members change, as permissions are inherited from group membership.
Task Template Global Parameters
Global Parameters are constant values that are accessible across all task templates. They provide a single place to define values that are reused in multiple templates, reducing the need to hard-code the same value in each one.
| Type | Use Case |
|---|---|
| Bool | Feature flags or toggle values shared across templates |
| Int | Numeric constants such as retry counts or thresholds |
| Double | Decimal constants such as speed values or tolerances |
| Str | Text constants such as default messages or identifiers |
| Station | Commonly referenced stations such as charging or home positions |
| Register | NavWiz register references used across multiple templates |
| DFleet Register | DFleet register references used across multiple templates |
Task Template Variables
Variables are similar to Global Parameters in that they are accessible across all task templates. The key difference is that variable values can be changed at runtime through dedicated actions: Set Bool, Set Integer, Set String, Set Double, and Set Station.
| Type | Description |
|---|---|
| Bool | Runtime-modifiable true/false value |
| Int | Runtime-modifiable whole number |
| Double | Runtime-modifiable decimal number |
| Str | Runtime-modifiable text string |
| Station | Runtime-modifiable station reference |
DFleet-Specific Skills
DFleet provides a set of skills (actions) that are only available when running tasks through DFleet, not in standalone NavWiz operation. These skills extend the AMR's capabilities with fleet-level coordination, external system integration, and advanced control flow.
Audio
| Skill | Description |
|---|---|
| Play Music | Play audio on a specified channel (1–5) from a playlist (0–10) |
| Stop Music | Stop audio playback on the AMR |
Lift
| Skill | Description |
|---|---|
| Reserve | Reserve the lift mechanism for exclusive use |
| Unreserve | Release the lift reservation |
| Check Reservation | Verify whether the lift is currently reserved |
| Call Level | Request the lift to move to a specified level |
| Wait Level | Wait until the lift reaches a specified level |
| Clear Level | Clear the current level assignment |
| Read Level | Read the current lift level into a variable |
Redis Operations
| Skill | Description |
|---|---|
| Delete Key | Remove a key from the Redis store |
| Set String | Set a string value for a key |
| Add String to List | Append a string value to a Redis list |
| Pop List | Remove and return an element from a Redis list |
| Set Hash Field | Set a field value within a Redis hash |
| Delete Hash Field | Remove a field from a Redis hash |
| Compare Hash Fields | Compare two hash field values |
| Get String Item | Retrieve a string value by key |
| Pop and Set Variable | Pop a list element and store it in a task variable |
| Get List Item | Retrieve an element from a Redis list by index |
| Get Hash Field | Retrieve a specific field value from a Redis hash |
Register Operations
| Skill | Description |
|---|---|
| Set Register Value | Assign a value to a register |
| Compare and Set | Atomically compare the current value and set a new value if the comparison succeeds |
| Increment | Increase a register value by one |
| Decrement | Decrease a register value by one |
| Add | Add a value to a register |
| Subtract | Subtract a value from a register |
| Multiply | Multiply a register value |
| Divide | Divide a register value |
| Copy Register | Copy a value from one register to another |
| Copy Register From AGV | Copy a register value from another AMR |
| Copy Register To AGV | Copy a register value to another AMR |
Remote I/O
| Skill | Description |
|---|---|
| Read | Read a digital value from a remote I/O device |
| Write | Write a digital value to a remote I/O device |
| Read Register | Read a register value from a remote I/O device |
| Write Register | Write a register value to a remote I/O device |
Transaction
| Skill | Description |
|---|---|
| Carrier Scanned at Port | Record that a carrier has been scanned at a port |
| Carrier Installed at Port | Record that a carrier has been installed at a port |
| Carrier Removed from Port | Record that a carrier has been removed from a port |
| Carriers Removed from Port | Record that multiple carriers have been removed from a port |
| Abort Task (Carrier Handoff) | Abort the task due to a carrier handoff failure |
| Abort Task (Read Failure) | Abort the task due to a barcode or sensor read failure |
| Abort Task (Read Mismatch) | Abort the task due to a scanned value not matching the expected value |
| Abort Task (Destination Port Blocked) | Abort the task because the destination port is blocked |
Traffic
| Skill | Description |
|---|---|
| Enable All Swappings & Vias | Enable all traffic swapping and via points |
| Disable All Swappings & Vias | Disable all traffic swapping and via points |
| Enable Specific Swappings | Enable selected swapping points only |
| Disable Specific Swappings | Disable selected swapping points only |
| Enable Specific Vias | Enable selected via points only |
| Disable Specific Vias | Disable selected via points only |
| Check Traffic Group Reservation | Verify whether a traffic group is currently reserved |
Control Flow
| Skill | Description |
|---|---|
| Sleep | Pause task execution for a specified duration |
| Counter | Increment a register value and check against a limit |
| Compare Registers | Compare two register values |
| Compare Integers | Compare two integer values |
| Compare Doubles | Compare two decimal values |
| Compare Stations | Compare two station references |
| Compare Strings | Compare two string values |
| Compare Booleans | Compare two boolean values |
HTTP
| Skill | Description |
|---|---|
| GET | Send an HTTP GET request to an external endpoint |
| POST | Send an HTTP POST request with a request body |
| PUT | Send an HTTP PUT request with a request body |
| DELETE | Send an HTTP DELETE request to an external endpoint |
Network
| Skill | Description |
|---|---|
| Ping | Send a network ping to verify connectivity to a host |