Query Halo Tickets
The Query Halo Tickets action finds tickets 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 a ticket before updating it
- Match tickets by client, status, ticket type, priority, assignment, date, or another standard field
- Filter tickets with Halo Custom Fields
- Retrieve complete ticket details, the last action, and all readable Custom Fields
Do not use this action to retrieve more than 100 tickets. Narrow the filters or use Halo's API directly when you need later pages.
How It Works
The action first checks which Ticket Custom Fields your Halo connection can read. It then asks Halo for page 1 with those fields, ticket details, and each ticket's last action included.
First match has a predictable order
The default order is Ticket ID from lowest to highest. When Results is First match, that order determines which ticket the action returns.
If you choose an option other than Continue processing for If more than one result is returned, the action asks Halo for two tickets. This lets it check whether the first ticket is unique while still returning only that ticket. With the default Continue choice, it asks for one ticket.
Successful queries can require a match or a unique match
- If no results are returned can require at least one matching ticket.
- If more than one result is returned can stop the automation when Halo returns multiple tickets.
Both choices default to Continue. The action counts the tickets Halo returns on page 1, not Halo's reported total. It stores the normal result before applying either choice. A request error or malformed Halo response uses Error Handling, clears the result to null, and does not count as a query with no results.
Configuration
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 Ticket ID, Date Occurred, Last Updated, or Summary. | Ticket ID |
| Order Descending | Reverse the selected order. | Disabled |
Search and filters
| Field | Description |
|---|---|
| Search | Search ticket summaries and details. |
| Search Actions | Also search action and note text. |
| Client, Site, User | Filter by the selected customer records. Selecting a Client narrows the Site and User choices. Selecting a Site further narrows the User choices. |
| Status, Ticket Type, Priority | Filter by ticket classification. |
| Agent, Team | Filter by assignment. |
| SLA, Category | Filter by service or category. |
| Asset ID, Contract ID, Parent Ticket ID | Filter by an exact related record ID. |
| Open Only, Closed Only, My Tickets Only | Apply Halo's ticket-state and ownership filters. |
| Date Field, Start Date, End Date | Filter the selected ticket date field. |
| Ticket IDs | Return tickets from a comma-separated list of IDs. |
| Domain | Limit results to Requests/Tickets, Opportunities, or Projects. Select (All) to include every type. |
| Custom Field Filters | Build grouped AND/OR conditions using Halo Ticket Custom Fields. |
Error Handling
| Field | Description |
|---|---|
| Error Handling | Choose what happens when either Halo request fails or returns malformed data. Available choices depend on the type of automation. |
| If no results are returned | Choose what happens after a successful query returns no tickets. |
| If more than one result is returned | Choose what happens after a successful query returns multiple tickets. A non-Continue choice enables a two-ticket uniqueness check in First match mode. |
Returned Variables
In First match mode, the stored result is one ticket object or null. In Up to 100 matches mode, the result is an array capped at 100 tickets, including [] when no ticket matches.
Common properties include .id, .summary, .details, .client_id, .user_id, .site_id, .status_id, .tickettype_id, .priority_id, .agent_id, .team_id, .dateoccurred, .datelastupdated, .lastaction, and .customfields.
For the first result in array mode, use a value such as {{custom.tickets.[0].id}}.