Agent Skill · Frontline

filter-and-query

How to filter, search, and sort records using the Frontline CLI. Use when you need to find specific records in a table or object by building query conditions, combining them with AND/OR logic, searching by text, or sorting results.

Provider: Frontline Path in repo: filter-and-query/SKILL.md

Skill body

Filtering and Querying Records

The frontline table row list and frontline object record list commands accept --query, --search, and --sort flags for filtering data.

Quick Reference

# Simple text search across all fields
frontline object record list people --search "john"

# Filter by a single condition
# TIP: Use 'frontline object field list <name>' to find field names and tag IDs
frontline object record list deals --query '{
  "path": "[Amount]",
  "operator": "gte",
  "value": 10000
}'

# Multiple conditions (AND)
frontline object record list deals --query '{
  "operator": "and",
  "conditions": [
    { "path": "[Status]", "operator": "containsAny", "value": [1, 2] },
    { "path": "[Amount]", "operator": "gte", "value": 5000 }
  ]
}'

# Sort results
frontline object record list people --sort '[{"path": "[Last Name]", "type": "asc"}]'

Path Format

Field paths use bracket notation: [Field Name]

For relation fields (querying through a linked record’s field): [Relation Field].[Target Field]

"path": "[Email]"              // Direct field
"path": "[Company].[Name]"     // Through a relation

Operators by Field Type

String Fields

Operator Description Value
equals Exact match "string"
ne Not equal "string"
contains Substring match "string"
startsWith Starts with "string"
endsWith Ends with "string"
isNull Field is empty (no value)
isNotNull Field has value (no value)

Number Fields

Operator Description Value
equals Equal to number
ne Not equal number
lt Less than number
lte Less than or equal number
gt Greater than number
gte Greater than or equal number
isNull / isNotNull Null checks (no value)

Date / DateOnly Fields

Operator Description Value
equals Exact date "2026-04-17T00:00:00Z"
before Before date "2026-04-17T00:00:00Z"
after After date "2026-04-17T00:00:00Z"
onOrBefore On or before "2026-04-17T00:00:00Z"
onOrAfter On or after "2026-04-17T00:00:00Z"
between Date range ["2026-01-01", "2026-12-31"]
isNull / isNotNull Null checks (no value)

Tags (Select/Multi-select) Fields

Important: Tag values must be numeric tag IDs, not names. Use frontline table field list <table> or frontline object field list <object> to find tag IDs in the options array of each field.

Operator Description Value
containsAny Has any of these tags [1, 2] (tag IDs)
containsAll Has all of these tags [3, 5] (tag IDs)
notIn Does not have any of [4] (tag IDs)
isNull / isNotNull Null checks (no value)

Relation Fields

Operator Description Value
containsAny Linked to any of ["id1", "id2"]
notIn Not linked to any of ["id1"]
isNull No linked records (no value)
isNotNull Has linked records (no value)

Boolean Fields

Operator Description
isTrue Value is true
isFalse Value is false
isNull / isNotNull Null checks

Formula Fields

Formula fields evaluate to one of the primitive types (number, string, boolean, date, tags) and support all of their respective operators. In addition, they support calculation status operators:

Operator Description Value
isValid Formula was evaluated successfully (no value)
isInvalid Formula evaluation failed with an error (no value)

Combining Conditions

Use and / or groups to combine conditions. Groups can be nested.

{
    "operator": "or",
    "conditions": [
        {
            "operator": "and",
            "conditions": [
                { "path": "[Status]", "operator": "containsAny", "value": [1] },
                { "path": "[Amount]", "operator": "gte", "value": 10000 },
            ],
        },
        {
            "path": "[Priority]",
            "operator": "containsAny",
            "value": [5],
        },
    ],
}

This matches: (Status is Open AND Amount >= 10000) OR Priority is Urgent.

Sorting

Pass a JSON array of sort specs:

# Single sort
frontline table row list my_table --sort '[{"path": "[Name]", "type": "asc"}]'

# Multi-sort (primary + secondary)
frontline table row list my_table --sort '[
  {"path": "[Status]", "type": "desc"},
  {"path": "[createdAt]", "type": "asc"}
]'

Pagination

frontline table row list my_table --page 1 --page-size 50

Filter by Record Type (objects only)

--record-type accepts either the numeric record type ID or the special string "all". Use frontline object record-type list <object> to find the numeric ID.

# By numeric ID (preferred — name-based lookup is not supported)
frontline object record list people --record-type 8
frontline object record list deals --record-type 3

# "all" returns records of every record type
frontline object record list deals --record-type "all"

Full Example

Find all open deals worth over $10k, owned by a specific company, sorted by amount:

frontline object record list deals \
  --query '{
    "operator": "and",
    "conditions": [
      { "path": "[Status]", "operator": "containsAny", "value": [1] },
      { "path": "[Amount]", "operator": "gte", "value": 10000 },
      { "path": "[Company]", "operator": "isNotNull" }
    ]
  }' \
  --sort '[{"path": "[Amount]", "type": "desc"}]' \
  --page-size 20

See also

Skill frontmatter

allowed-tools: Bash(frontline:*)

Work with this as data

Every skill here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for agent skills

4 MCP tools reach this
  • find_skillsBrowse and filter every skill in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This skill
curl "https://apis.io/api/v1/skills/filter-and-query"
All agent skills
curl "https://apis.io/api/v1/skills?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.