Skip to main content
Page through the people in the active workspace. Combine filters to narrow the result, then pipe to jq or save as JSON. The dashboard People page uses the same backend query.

Synopsis

talkvalue path person list [options]

Options

FlagTypeDescription
--keyword <keyword>stringFree-text match against name, email, phone, company, and job title.
--channel-id <id>integer (repeatable)Limit to people in the given channel. Repeat to OR multiple.
--event-id <id>integer (repeatable)Limit to people registered for the given event. Repeat to OR multiple.
--company-id <id>integerLimit by company ID.
--company-name <name>stringLimit by company display name.
--job-title <title>stringLimit by job title.
--page <n>integerPage number (zero-indexed). Defaults to 0.
--page-size <n>integerPage size. Defaults to the server default.
--sort <value>string (repeatable)Sort expression field,direction (for example, createdAt,desc). Repeat for secondary sorts.

Examples

1. Browse the latest people

talkvalue path person list --sort "createdAt,desc" --page-size 20
Prints the 20 newest people as a table: ID, name, primary email, company, job title, joined-at, created-at.

2. Filter by channel and pipe to jq

talkvalue path person list \
  --channel-id 7 --channel-id 12 \
  --json \
  | jq '.data[] | {id, name, primaryEmail}'
Returns people in channel 7 or 12, stripped to the three fields. The --json envelope also carries .pagination.

3. Walk every page in a script

page=0
while :; do
  resp=$(talkvalue path person list --page "$page" --page-size 100 --json)
  echo "$resp" | jq -e '.data | length > 0' >/dev/null || break
  echo "$resp" | jq '.data[]'
  page=$((page + 1))
done
Loops until a page returns no rows. See Scripting with jq for richer pagination patterns.

Response

{
  "data": [
    {
      "id": 142,
      "name": "Alice Kim",
      "primaryEmail": "alice@acme.com",
      "primaryPhone": "+1-415-555-0199",
      "company": { "id": 88, "displayName": "Acme Inc.", "domain": "acme.com", "nameUpdatable": true },
      "companyName": "Acme Inc.",
      "jobTitle": "Head of Growth",
      "channels": [/* … */],
      "events": [/* … */],
      "joinedAt": "2026-04-12T00:00:00Z",
      "createdAt": "2026-04-12T00:00:00Z"
    }
  ],
  "pagination": { "page": 0, "pageSize": 20, "totalElements": 4321, "totalPages": 217 }
}
pagination appears only in --json. companyName is a flattened convenience field. The full company object is also included.

See also