30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

List Customers

store/list-customers summarises the customer base: how many accounts exist, how many of those have bought something, whether there are guest orders, and how order counts are distributed.

It returns no names, no emails and no addresses. Nothing here identifies anybody.

At a glance

Abilitystore/list-customers
ToolsetWooCommerce — toolset/woocommerce
GroupWooCommerce › Customers
RequiresWooCommerce, active on the site
Capabilitymanage_options
SafetyRead-only — changes nothing
RepeatableIdempotent — running it twice leaves the same result
Ships inAcrossAI Abilities Manager 0.0.34 and later

How it works

Most questions a shop owner asks about customers are questions about the aggregate. How many do we have, how many come back, what proportion have ordered more than once, are we accumulating accounts that never buy. None of those need a name.

So this answers them at that level, and it is the call to reach for by default. The distribution of order counts is the useful part: a base where almost everyone has ordered once is a different business from one where a third have ordered five times, and the headline count hides that difference entirely.

Guest orders are flagged separately, because a shop with many of them has a customer base larger than its account count suggests, and every per-customer figure here understates it.

When named records are genuinely needed — a data subject request, a migration — store/export-customers releases them under explicit conditions. That separation is the design: the cheap call cannot leak, and the leaking call is hard to run by accident.

Input

This ability takes no input.

What comes back

NameTypeWhat it is
registered_customersintegerHow many customer accounts exist.
purchasersintegerHow many of them have bought something.
guest_orders_presentbooleanWhether the store has orders without an account.
orders_per_customerobjectThe distribution of order counts.
personal_data_includedbooleanAlways false. Nothing here identifies anybody.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation.

Example

Ask your assistant:

How many customers do we have, and how many actually buy?

It resolves to one call:

{
  "ability": "store/list-customers",
  "parameters": {}
}

Worth knowing

  • No names, emails or addresses, ever. There is no flag to change that.
  • The order-count distribution says more than the headline number.
  • Guest orders mean the real customer base is larger than the account count.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading