Use advanced search with Talent Query Language (TQL)
Introduction
The advanced search is the most powerful and flexible way to search for positions across Talent. You can use the Talent Query Language to specify criteria that cannot be defined in quick or basic searches and also construct complex queries for a hyper tuned search.
Talent Query Language utilizes a SQL-like syntax to allow users to input queries to get granular information on the data within Talent through search, filter, and sort. Queries are a series of elements like fields, operators, and values, that are strung together to form a structured search across Talent positions.
Basic Syntax
To use this advanced search functionality, on any page with search function, select the show filters () button, and select the Query to reveal the editor. Enter your query and press enter or select the search () icon to run your query. If there’s a problem with the syntax/validity of your query, you’ll see an error message displayed below. For example: address is not a valid field
The basic syntax of Talent Query Language is: <field>
<operator>
<value(s)/function>
Example: status = "Not Filled"
This query returns all unfilled positions on the page you’re on. Note the quotes around the value since status
expects a string type.
Here’s more detail on each part of the query.
Fields
In a clause, a field is followed by an operator which compares the value of the field with the value(s) provided on the right hand side of the operator.
Keyword
Allows for fuzzy searching positions by Position ID
or Filled By
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | No |
Supported operators |
|
Examples |
|
Status
Denotes the status for a position. There are two possible statuses: Filled and Not filled
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | Yes |
Supported operators |
|
Examples |
|
Employment type
One of:
Employee
Contingent
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | Yes |
Supported operators |
|
Examples |
|
Country
The country for a specific position.
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | Yes |
Supported operators |
|
Examples | Show me all positions outside the US
|
Manager
Represents the manager this position reports to.
Syntax |
|
---|---|
Field type | ARI |
Auto-complete value support | Yes |
Supported operators |
|
Supported functions |
|
Examples |
|
Timezone
Represents the timezone the position is in.
Americas - East
, Americas - West
, APAC - East
, APAC - West
, EMEA - East
, EMEA - West
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | Yes |
Supported operators |
|
Examples | Show me all positions in all American timezones
|
Job family
The business function of the position.
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | Yes |
Supported operators |
|
Examples |
|
Level
Denotes a position’s respective level.
Note: Requires permissions to view
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | Yes |
Supported operators |
|
Examples |
|
Job title
Specifies a more granular description of the position’s job profile.
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | Yes |
Supported operators |
|
Examples |
|
Tenure
Number of years the worker has filled the position. Calculated based on worker's most recent hire date.
Syntax |
|
---|---|
Field type | Int |
Auto-complete value support | No |
Supported operators | |
Examples |
|
Role
One of:
Individual Contributor
Manager
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | Yes |
Supported operators |
|
Examples |
|
Title
A more specific name to represent the name of a position.
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | No |
Supported operators |
|
Examples |
|
Focus area
The focus area the position is allocated to.
Syntax |
|
---|---|
Field type | ARI |
Auto-complete value support | Yes |
Supported operators |
|
Supported functions |
|
Examples |
|
Querying related fields
The core object for Talent is positions where all the above fields exist on. However, when wanting to query on a related object’s field, you need to use prefixed field names. For example, when trying to query on the worker object, you'll need to use the field workerEmail
to access the field you want.
Below are some related object fields you can query on using the Talent Query Language:
Worker name (Same as Filled By column)
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | No |
Supported operators |
|
Examples |
|
Worker start date
Syntax |
|
---|---|
Field type | Datetime |
Auto-complete value support | No |
Supported operators |
|
Examples |
|
Worker email
Syntax |
|
---|---|
Field type | Text/String |
Auto-complete value support | No |
Supported operators |
|
Examples |
|
Focus area name
Text-based name of the focus area a position is allocated to.
Syntax |
|
---|---|
Field type | Text/String |
Supported operators |
|
Examples |
|
Focus area type
The type of focus area a position is hierarchically allocated to.
Syntax |
|
---|---|
Field type | ARI |
Supported operators |
|
Examples |
|
Focus area type name
The text-based name of the type of focus area a position is directly allocated to.
Syntax |
|
---|---|
Field type | Text/String |
Supported operators |
|
Examples |
|
Custom fields
Users can filter, sort, and group custom fields using the same syntax as standard fields.
Syntax | The custom field “display name” configured in Talent admin settings. |
---|---|
Field type | Text/String |
Auto-complete value support | Yes |
Supported operators |
|
Examples |
|
Operators
In Talent Query Language, an operator is used to compare the value of the field on the left with one or more values (or function) on the right.
Equals
Returns results where a field is equivalent to some value. Could be used with booleans if supported by the given field.
Not equals
Returns results where a field is not equivalent to some value. Could be used with booleans if supported by the given field.
Syntax |
|
---|---|
Examples |
|
In
Returns results where a field contains values in a comma separated list denoted by parenthesis ()
. Essentially the same as inputting multiple =
operators using OR
s but with simpler syntax.
Syntax |
|
---|---|
Examples |
|
Not in
Returns results where a field does not contain values in a comma separated list.
Syntax |
|
---|---|
Examples |
|
Is
Used exclusively in combination with EMPTY or NULL to return results where a given field is null, or does not contain a value.
Syntax |
|
---|---|
Examples |
|
Is not
Used exclusively in combination with EMPTY or NULL to return results where a given field contains a value.
Syntax |
|
---|---|
Examples |
|
Like
Search where field is a fuzzy match with the value (“is like”).
Syntax |
|
---|---|
Examples |
|
Not like
Search where field is not a fuzzy match with the value (“is not like”).
Syntax |
|
---|---|
Examples |
|
Greater than
Returns results where a position's value is greater than the given value in its respective field.
Syntax |
|
---|---|
Examples |
|
Less than
Returns results where a position's value is less than the given value in its respective field.
Syntax |
|
---|---|
Examples |
|
Greater than or equal
Returns results where a position's value is greater than or equal to the given value in its respective field.
Syntax |
|
---|---|
Examples |
|
Less than or equal
Returns results where a position's value is less than or equal to the given value in its respective field.
Syntax |
|
---|---|
Examples |
|
Keywords/Combination operators
Keywords are words or phrases that are reserved for:
joining two or more clauses
altering the logic of a clause
AND
Used to combine multiple clauses, allowing you to refine your search. Can be used with parentheses to control the order in which clauses are executed.
Examples |
|
---|
OR
Used to combine multiple clauses, allowing you to expand your search. Can be used with parentheses to control the order in which clauses are executed
Examples |
|
---|
Parentheses
Used to control order in which clauses are executed. Also required for IN ()
syntax.
Examples |
|
---|
Not
Used to negate individual clauses or a complex RQL query (a query made up of more than one clause) using parentheses, allowing you to refine your search.
(also used in NOT IN, IS NOT)
Examples |
|
---|
Functions
A function in Talent Query Language appears as a word followed by parentheses, which may contain one or more values. In the clause, the function should be preceded by an operator (=
/!=
) which in turns is preceded by a field.
UNDER()
Should filter positions that are associated to that value and positions that are associated to values under as well.
Syntax |
|
Supported fields |
|
Supported operators |
|
Examples |
|
Ordering
Order by
Used to specify the fields by whose values the search results will be sorted. This requirement needs to be placed at the end of the query, otherwise it will be invalid.
By default, ascending order will be used. You can override this by specifying ascending order ("asc
") or descending order ("desc
").
Examples |
|
---|
Was this helpful?