Skip to main content
Page through the people attributed to one company. Combine filters to slice the roster, then pipe to jq or save as JSON. The dashboard company-detail page uses the same query.

Synopsis

talkvalue path company person list <companyId> [options]

Arguments

ArgumentTypeDescription
<companyId>integerCompany ID. Use company list to find one.

Options

FlagTypeDescription
--keyword <keyword>stringFree-text match against name, email, phone, company, and job title.
--channel-id <id>integer (repeatable)Limit to people also attributed to the given channel.
--event-id <id>integer (repeatable)Limit to people also registered for the given event.
--company-name <name>stringExtra company display-name filter when the person’s record uses a different label.
--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, joinedAt,desc).

Examples

1. Browse the latest people at a company

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

2. Filter by event and pipe to jq

talkvalue path company person list 88 \
  --event-id 18 \
  --json \
  | jq '.data[] | {name, primaryEmail, jobTitle}'
Returns people at company 88 who also registered for event 18, projected to three fields.

3. Walk every page in a script

page=0
while :; do
  resp=$(talkvalue path company person list 88 --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 patterns.

Response

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

See also