Skill: Query Customer

Search for customers in QuickBooks Online by name, email, phone, company, balance, or status with flexible pattern matching.

The Query Customer skill searches for customer records in QuickBooks Online. It supports a wide range of filter criteria and LIKE pattern matching, making it useful for both precise lookups and fuzzy searches.

Parameters

ParameterTypeRequiredDescription
display_namestringNoThe customer’s display name. Supports LIKE patterns (e.g., %Acme%).
given_namestringNoThe customer’s first name. Supports LIKE patterns.
family_namestringNoThe customer’s last name. Supports LIKE patterns.
company_namestringNoThe customer’s associated company name. Supports LIKE patterns.
primary_email_addrstringNoThe customer’s primary email address. Supports LIKE patterns.
primary_phonestringNoThe customer’s primary phone number.
activebooleanNoFilter by active status. true for active customers, false for inactive. Defaults to returning both.
balancestringNoFilter by balance. Supports comparison operators (e.g., > 0, = 0, < 1000).
create_time_startstringNoFilter customers created on or after this date (YYYY-MM-DD).
create_time_endstringNoFilter customers created on or before this date (YYYY-MM-DD).
last_updated_startstringNoFilter customers updated on or after this date (YYYY-MM-DD).
last_updated_endstringNoFilter customers updated on or before this date (YYYY-MM-DD).
max_resultsintegerNoMaximum number of results to return. Defaults to 100.

LIKE pattern matching

Several text parameters support SQL-style LIKE patterns:

PatternMatches
AcmeExact match: “Acme”
%Acme%Contains: “Acme Corp”, “The Acme Company”
Acme%Starts with: “Acme Corp”, “Acme LLC”
%IncEnds with: “Acme Inc”, “Widget Inc”
Tip

When a user says “Find customers named Smith,” the agent typically searches with family_name set to %Smith% to catch partial matches. If the search returns too many results, the agent may refine with additional filters.

Example usage

A user might trigger this skill by saying:

“Look up the customer record for Acme Corporation.”

The agent would invoke this skill with:

  • display_name: %Acme%

Or for a more targeted search:

“Show me all active customers with an outstanding balance over $5,000.”

The agent would invoke:

  • active: true
  • balance: > 5000

Response structure

The skill returns an array of customer records, each containing:

  • Id — the QuickBooks customer ID (used by other skills).
  • DisplayName — the customer’s display name.
  • GivenName / FamilyName — first and last name.
  • CompanyName — associated company.
  • PrimaryEmailAddr — email address.
  • PrimaryPhone — phone number.
  • Balance — current outstanding balance.
  • Active — whether the customer is active.
  • BillAddr / ShipAddr — billing and shipping addresses.
  • MetaData — creation and last-updated timestamps.

Related skills: Customer Upsert | Search Invoices | Sales by Customer Report