Skip to main content

Query Halo Tickets

The Query Halo Tickets action searches and filters tickets in Halo PSA. Use this to find tickets matching specific criteria for reporting, automation, or follow-up actions.

Single API Call Action

This is a single API call action. You define the search and filter conditions and the action makes one API call to retrieve the results. Learn more about the difference between workflow actions and single API call actions.

When to Use This Action

Use this action when:

  • You need to find tickets matching specific criteria (client, status, priority, etc.)
  • You want to check if a ticket exists before taking other actions
  • You need ticket data for decision-making or follow-up steps in your workflow
  • You are building reporting or batch-processing automations

For updating existing tickets from emails, use the Update Halo Ticket from Email workflow action instead, which handles ticket detection and note creation together.

Configuration

Connection

FieldDescription
Halo ConnectionSelect the Halo connection to use for this action.

Search & Pagination

FieldDescriptionDefault
SearchPartial text search: returns tickets where summary or details contain this term. Supports text expressions.None
Search ActionsWhen enabled, includes action/note text in the search.Disabled
Page SizeNumber of results per page (1-1000).25
Page NumberPage number to retrieve.1

Entity Filters

FieldDescription
ClientFilter tickets by client/company.
StatusFilter tickets by status.
Ticket TypeFilter tickets by ticket type.
PriorityFilter tickets by priority.
AgentFilter tickets by assigned agent.
TeamFilter tickets by assigned team.
SiteFilter tickets by site.
UserFilter tickets by user/contact.
SLAFilter tickets by SLA.
CategoryFilter tickets by category.

Status Filters

FieldDescription
Open OnlyReturn only open tickets.
Closed OnlyReturn only closed tickets.
My Tickets OnlyReturn only tickets assigned to the API user.

Date Filters

FieldDescription
Date FieldSelect which date field to filter by: Date Opened, Date Closed, Last Updated, Date Created, Deadline, Fix By Date, or Respond By Date.
Start DateReturn tickets where the selected date field is after this value. Use ISO format (YYYY-MM-DD).
End DateReturn tickets where the selected date field is before this value. Use ISO format (YYYY-MM-DD).

Advanced Filters

FieldDescription
Asset IDFilter by asset ID.
Contract IDFilter by contract ID.
Parent Ticket IDFilter by parent ticket ID (for child tickets).
Ticket IDsComma-separated list of specific ticket IDs to return.
DomainFilter by ticket area type: All, Requests/Tickets, Opportunities, or Projects.

Ordering

FieldDescription
Order ByField name to order results by (e.g., dateoccurred, id, priority_id).
Order DescendingSort results in descending order.

Response Options

FieldDescription
Include DetailsInclude extra objects in the response.
Include Last ActionInclude the last action/note in the response.

Error Handling

FieldDescription
Error HandlingAction to take if the query fails (Exception, Continue, Stop, Stop All).

Returned Variables

When you configure Store the results in Variable, these variables become available for use in subsequent actions:

VariableTypeDescription
record_countnumberTotal number of matching tickets
ticketsarrayArray of ticket objects

Ticket Properties

Each ticket in the tickets array contains:

PropertyTypeDescription
idnumberThe ticket ID
summarystringThe ticket summary
detailsstringThe ticket details
client_idnumberThe client ID
client_namestringThe client name
status_idnumberThe status ID
status_namestringThe status name
priority_idnumberThe priority ID
priority_namestringThe priority name
dateoccurredstringWhen the ticket was opened
datecreatedstringWhen the ticket was created
datelastupdatedstringWhen the ticket was last updated

Example usage: {{custom.myVariable.tickets.[0].id}}

Example Use Cases

Find Open Tickets for a Client

SettingValue
Client(Select or use dynamic value)
Open OnlyEnabled

Find Recent High-Priority Tickets

SettingValue
PriorityHigh
Date FieldDate Created
Start Date{{date add="-7 days"}}

Check If a Ticket Exists

Query with a text search matching the email subject, then check if record_count is greater than 0 in a conditional action.

Process Multiple Tickets

Use with the Iterate action to loop over the tickets array:

{{custom.myVariable.tickets}}

FAQs

How do I access ticket properties in subsequent actions?

Reference items using array notation: {{custom.myVariable.tickets.[0].id}} for the first result, or use the Iterate action to loop through all results.

What is the maximum number of results?

Up to 1000 results per page. Use the Page Number field to paginate through larger datasets.