Query Halo Assets
The Query Halo Assets action finds assets in Halo PSA. It can return the first match or an array containing up to 100 matches.
This action searches only the first result page and applies every configured filter in Halo.
When to Use This Action
Use this action when you need to:
- Find an asset ID before updating the asset
- Match assets by client, site, asset type, status, or inventory number
- Search type-specific Asset Fields or asset Custom Fields
- Retrieve all available asset values, including Asset Fields and Custom Fields
Do not use this action to retrieve more than 100 assets. Narrow the filters or use Halo's API directly when you need later pages.
How It Works
Think of this action as a search form sent directly to Halo. Halo applies the filters, sorts the matches, and returns page 1.
Every match includes all available values
The action first checks which asset Custom Fields are available, then asks Halo to include all of them and every Asset Field in each returned asset. You do not need to choose which returned fields to include.
Every field filter must match
Asset Field Filters and Custom Field Filters support a flat list of AND conditions. An asset must satisfy every condition. The action rejects OR conditions and nested groups. If you need alternatives, use separate Query Halo Assets actions and branch your automation.
For text fields, is empty and is not empty use Halo's working empty-string comparison. The action never sends Halo's ignored asset empty-operator IDs.
First match has a predictable order
The default order is Asset ID from lowest to highest. When Results is First match, that stable order determines which asset the action returns.
When Results is First match, choosing an option other than Continue processing for If more than one result is returned makes the action ask Halo for two assets. This second-asset lookahead lets the action check uniqueness while still returning only the first asset. With the default Continue processing choice, the action asks for one asset.
Successful queries can require a match or a unique match
Use the two result-count choices to decide what happens after Halo completes the query:
- If no results are returned can require at least one matching asset.
- If more than one result is returned can prevent the automation from continuing with multiple matches.
Set both choices to Generate an exception and stop processing when the query must return exactly one asset. Both choices default to Continue processing, so existing automations keep their current behavior. The action counts the assets Halo returns on page 1, not Halo's reported total. It stores the normal result before applying either choice. A request error uses Error Handling instead and does not count as a query with no results.
Asset Field filters need an Asset Type
Select Asset Type before configuring Asset Field Filters. Halo uses the selected type to provide the correct field list.
Configuration
Connection
| Field | Description |
|---|---|
| Halo Connection | Select the Halo connection to use. |
Results
| Field | Description | Default |
|---|---|---|
| Results | Return Up to 100 matches as an array, or First match as one object or null. | Up to 100 matches |
| Order By | Sort by Asset ID, Inventory Number, Client, Site, or Asset Type. | Asset ID |
| Order Descending | Reverse the selected order. | Disabled |
Filters
| Field | Description |
|---|---|
| Asset ID | Match one positive Halo asset ID. Supports text expressions. |
| Client | Match assets assigned to the selected client. This selection also narrows the Site list. |
| Site | Match assets assigned to the selected site. |
| Asset Type | Match one asset type and load its Asset Field metadata. |
| Inventory Number | Match the exact inventory number. Supports text expressions. |
| General Search | Search Halo's asset list fields. Supports text expressions. |
| Active State | Include active assets, inactive assets, or both. |
| Status | Match one Halo asset status. |
| Asset Field Filters | Add flat AND conditions for fields belonging to the selected Asset Type. |
| Custom Field Filters | Add flat AND conditions for asset Custom Fields. |
Error Handling
| Field | Description |
|---|---|
| Error Handling | Choose what happens when Halo cannot complete the query. The available choices depend on the type of automation. |
| If no results are returned | Choose what happens when Halo completes the query but returns no assets. Defaults to Continue processing. |
| If more than one result is returned | Choose what happens when Halo completes the query but returns multiple assets. Defaults to Continue processing. In First match mode, a non-Continue choice enables a two-asset uniqueness check. |
Returned Variables
When Results is First match, the stored result is one asset object or null. When Results is Up to 100 matches, the stored result is an array capped at 100 assets, including an empty array when no asset matches.
Common asset properties include:
| Variable | Type | Description |
|---|---|---|
.id | number | Halo asset ID |
.inventory_number | string | Inventory number |
.assettype_id / .assettype_name | number / string | Asset type |
.client_id / .client_name | number / string | Client |
.site_id / .site_name | number / string | Site |
.status_id / .status_name | number / string | Asset status |
.inactive | boolean | Whether the asset is inactive |
.fields | array | Asset Fields returned by Halo |
.customfields | array | Custom Fields returned by Halo |
For the first result in array mode, use a value such as {{custom.assets.[0].id}}.
FAQs
Why did the action return only 100 assets?
The action intentionally requests page 1 with a maximum of 100 matches. Add more filters to narrow the result.
Can I combine OR and AND conditions?
No. Asset field filters support one flat AND list. Use separate actions and automation branches when either of several alternatives may match.