Contacts has fixed views — Users, Leads, Unsubscribed, Organizations. A custom list is one you define: trial accounts over ten seats, everyone who's used the export feature, customers who haven't been in touch this quarter.
The plus next to Custom lists in the Contacts sidebar opens the editor. Give it a name, choose who's in scope — all people, users only, or leads only — and add conditions.
Conditions read from what you know about a contact: their attributes, anything your product sends as custom data, and the events they've triggered.
The list shows a count in the sidebar. It's the fastest sanity check there is — a list of zero usually means an attribute name that isn't quite what your product sends, and a list of everyone means a condition that isn't filtering anything.
A custom list is a saved filter, not a snapshot. Contacts join and leave as their data changes, so “trials ending this week” keeps meaning that without anyone maintaining it.
Open it in Contacts to see who's currently in it.
Export it — the contact export lets you pick a list as its audience.
Fill a pipeline from it: on a contact pipeline, adding records by filter means picking a saved list.
That last one is worth knowing before you build a board — if you want to put a segment of contacts onto a pipeline, the list has to exist first.
Name a list after the condition, not the intention. “Trial, >10 seats” still tells you what's in it a year later; “Upsell targets” doesn't, and nobody will remember whether it was ever updated.