Skip to main content
Print every channel in the active workspace as a table or JSON. Useful as the first call when you want to find a channel ID before drilling into the people behind it, or as the data source for a recurring channel-mix report.

Synopsis

talkvalue path channel list

Options

This command takes no flags beyond the global flags. Filtering and pagination happen client-side. Pipe through jq or --json to slice the result.

Examples

1. Browse channels in the terminal

talkvalue path channel list
Prints every channel as a table: ID, name, icon, color, people count, tags, created-at. Channels appear in the order the server returns them.

2. Find a channel ID with jq

talkvalue path channel list --json \
  | jq '.data[] | select(.name | test("Newsletter"; "i")) | {id, name, peopleCount}'
Returns the ID, name, and people count of every channel whose name contains Newsletter (case-insensitive). Use the ID with channel get or channel people.

3. Snapshot a channel-mix report

ts=$(date +%Y-%m-%d)
talkvalue path channel list --json \
  | jq -r '.data[] | [.id, .name, .peopleCount] | @csv' \
  > "snapshots/channels-$ts.csv"
Loops over every channel and writes a three-column CSV. Drop into a cron job for a periodic mix snapshot outside of TalkValue.

Response

{
  "data": [
    {
      "id": 7,
      "name": "Newsletter",
      "icon": "mail",
      "color": "#5252FF",
      "peopleCount": 1843,
      "tags": [{ "id": 4, "name": "Owned channel" }],
      "createdAt": "2026-01-08T00:00:00Z"
    }
  ]
}
icon and color are nullable when the channel was created without them. peopleCount is the count of distinct people attributed to the channel, the same number the dashboard shows on the Channels list.

See also