Skip to main content

Query Halo Clients

The Query Halo Clients action searches and filters clients/companies in Halo PSA. Use this to find clients by name, domain, or other criteria.

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 a client by name, domain, or other criteria
  • You want to retrieve a client ID for use in a subsequent Create Halo Ticket action
  • You need to verify whether a client exists before performing other operations

Configuration

Connection

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

Search & Pagination

FieldDescriptionDefault
SearchSearch term to filter clients by name. Supports text expressions.None
Search Name OnlySearch only by client name (more specific than general search).Disabled
Advanced SearchAdvanced search expression for complex queries.None
Page SizeNumber of results per page (1-1000).25
Page NumberPage number to retrieve.1

Filters

FieldDescription
Parent ClientFilter clients by parent/top-level client.
Ticket Area IDFilter by ticket area ID.
DomainFilter clients by domain. Supports text expressions.

Status Filters

FieldDescriptionDefault
Include ActiveInclude active clients in results.Enabled
Include InactiveInclude inactive clients in results.Disabled
Account Manager OnlyOnly return clients where you are the account manager.Disabled
Exclude InternalExclude internal clients from results.Disabled

Ordering

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

Response Options

FieldDescription
ID OnlyReturn only ID fields. Not compatible with pagination.
Include NotesInclude client notes in the response.
Include Custom FieldsComma-separated list of custom field IDs to include.

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 clients
clientsarrayArray of client objects

Client Properties

Each client in the clients array contains:

PropertyTypeDescription
idnumberThe client ID
namestringThe client name
toplevel_idnumberParent client ID (if applicable)
main_site_idnumberMain site ID
inactivebooleanWhether the client is inactive
phonestringPrimary phone number
emailstringPrimary email address
websitestringWebsite URL
notesstringClient notes (if Include Notes is enabled)

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

Example Use Cases

Find Client by Domain

Set the Domain filter to match the email sender's domain:

SettingValue
Domain{{email.from.domain}}

Search by Name

SettingValue
Search{{custom.companyName}}
Return first result onlyLeave Page Size at 1

Check If a Client Exists

Query for the client and then check if record_count is greater than 0 in a subsequent conditional action.

FAQs

How do I use the client ID in a subsequent action?

Store this action's result in a variable (e.g., clients), then reference {{custom.clients.clients.[0].id}} in the next action.

Why might my search return no results?

The search is partial-match by name. If the Domain filter is set, it performs an exact match. Ensure the domain value matches the format stored in Halo.