Reference lists (customers, competitors, partners, block)
Any list in your workspace can also serve as a lookup list for your other lists and pipelines — your existing customers, your competitors, your partners, a block list, or something of your own. Once a list is set up this way, pipelines and list triggers can check "is this contact already in it?", and small badges show it wherever that contact appears.
Reference lists are a Premium feature. Below Premium you still see the Reference list tab, greyed out with a lock and the note "Reference lists come with Premium: mark customers, competitors and partners everywhere, and use them in pipelines and triggers." plus a See plans button; condition pickers in triggers and pipelines show a greyed entry "Existing customers, competitors … — with Premium".
Setting up a reference list#
Open the list, go to its ⋯ menu → List Settings... → the Reference list tab, and turn on Use as reference list. Choose what the list holds — Existing customers, Competitors, Partners, Block (never send on), or Something else (give it a name, e.g. "Investors") — and how it matches: Company (domain) or Person (email, LinkedIn). Click Save. Only the workspace owner and admins can turn this on or change it, because it changes what every pipeline and trigger in the workspace can see; other members see the setting but can't edit it.
Turning a list into a reference list needs the Premium plan (the workspace owner's plan). Switching a reference list off, or changing its role or matching level, works on every plan. If the workspace moves from Premium to a lower plan, existing reference lists keep working — badges, conditions and the Block role all stay active. That is on purpose: a pipeline rule like "only if is not in it [Existing customers]" must never quietly start letting customers through after a plan change.
Read-only when it refreshes from its source#
A reference list that also has Refresh automatically set to Daily or Weekly (List Settings → General, for lists from HubSpot, Salesforce and other connected sources) becomes read-only for its record data: the source is the truth, and the next refresh would overwrite any change made here anyway. The list shows a banner: "This list comes from HubSpot and is refreshed daily – change records there. As a reference list it is read-only here." (with your source and schedule).
While it's locked you can't edit cells, add or delete rows, enrich, run AI columns, or let a pipeline add records to it or enrich them. What stays possible: setting a status, adding or removing tags and sublists, and hiding rows — those belong to ListPlus, not to the source. List Settings stays editable too: set Refresh automatically to Off, or turn off Use as reference list, and the list can be edited again. A refresh that is paused after failed attempts doesn't lock the list either.
How matching works#
Matching is exact, never fuzzy, and happens on whichever level you picked:
- Company — a contact counts as "in the list" when their company
domain, website, or the domain of their work email is in it. A
colleague at the same company counts too, and a domain also covers its
subdomains (listing
acme.comalso matcheseu.acme.com). Personal email addresses (Gmail, Yahoo and similar free providers) never count on company level, and neither do platform addresses: a website or domain on linkedin.com, facebook.com, x.com, twitter.com, instagram.com, xing.com, youtube.com, google.com, github.com or medium.com is ignored, so a LinkedIn company page in a website column never makes "linkedin.com" a customer. - Person — only the same individual counts: the same email address or the same LinkedIn profile URL.
Where it shows up#
A small colored badge (Customer, Competitor, Partner, Blocked, or your own name for a "Something else" list — "Listed" if you didn't give one) appears on a contact wherever you look it up — on hits in AI Research, on results and candidates in Person Search and the Inbox, in the contact detail panel, and in the row on the Saved page. Hover a badge to see which reference list it comes from. It does not appear inside a list's own grid or on Segment Search results.
After you change a reference list — add, edit or hide rows, or change its settings — it can take up to about a minute until badges and conditions reflect it. A badge already on screen may need a page reload to update.
Using it in pipelines and triggers#
In a pipeline's Data check and in a list's Triggers, your reference lists show up as their own condition group — pick the reference list by name as the field, then is in it or is not in it as the operator. A typical rule: "only hand over to HubSpot if company is not in it [Existing customers]" keeps current customers out of outreach, or "is not in it [Competitors]" makes sure a competitor is never handed to a sequencer or CRM. A trigger's live preview while editing leaves reference-list conditions out of the count (it still checks them correctly once the trigger actually runs) — it notes this under the conditions.
The "Block" role#
A reference list set to Block behaves exactly like your workspace's Block list (Settings → Block list): a pipeline sending to an external target — your CRM, Slack, a webhook, a sequencer — skips any matching contact automatically, and the "On Global Block List" check in a list's Analyze panel flags matching rows. You don't need to also add those contacts to the Block list by hand; being in a "Block"-role reference list is enough. Blocking uses email addresses and domains: on person level a Block list blocks by email address (a LinkedIn URL alone doesn't block). See "Block List and the do-not-contact check" for how that enforcement works in detail.
For advanced users#
Matching runs off an index of exact keys (domain, email, LinkedIn URL) built from the reference list's own rows. It's rebuilt automatically after the list changes, at most once a minute (so a list that's being enriched or refreshed isn't rebuilt on every write) — there's nothing to refresh by hand. Rows marked hidden in the reference list are left out of the index. A record checked by badge or condition is matched against every reference list in the workspace in one batched lookup, so adding more reference lists doesn't add a request per badge.
Related topics: list-triggers · pipeline-data-check · do-not-contact-and-block-list · list-settings · segments-and-tags · roles-and-permissions.
FAQ#
What is a reference list in ListPlus?#
Any list you turn into a lookup list for your other lists and pipelines — typically your existing customers, competitors, partners, or a block list. Once set up, pipelines and triggers can check "is this contact in it?", and a small badge shows it on that contact everywhere you look them up.
How do I turn a list into a reference list?#
Open the list → ⋯ menu → List Settings... → the Reference list tab, turn on Use as reference list, pick what it holds (Existing customers, Competitors, Partners, Block, or Something else) and how it matches (Company or Person), then click Save.
Who can set up or change a reference list?#
Only the workspace owner and admins — it changes what every pipeline and trigger in the workspace can see. Other members can see the setting but can't turn it on, off, or change it.
How does company-level matching work?#
A contact counts as "in the list" when their company domain, website, or work email's domain matches a domain in the reference list — a colleague at the same company counts too, and a listed domain also covers its subdomains. Personal email addresses (Gmail, Yahoo, etc.) never count on company level.
How does person-level matching work?#
Only the exact same person counts: the same email address, or the same LinkedIn profile URL. Two different people at the same company do not match each other on person level.
Where do I see that a contact is a customer, competitor, or partner?#
As a small colored badge on hits in AI Research, on results and candidates in Person Search and the Inbox, in the contact detail panel, and in the Saved page's table. It doesn't show inside a list's own grid or on Segment Search results.
Can I use a reference list in a pipeline's data check or a list trigger?#
Yes — reference lists appear as their own condition group, with the operators "is in it" and "is not in it". A common use: block sending to a pipeline when the company "is in it" for your Existing customers reference list.
Why does the trigger preview say reference lists are left out?#
The live count you see while editing a trigger's conditions skips reference-list conditions to keep the preview fast; the trigger itself still checks them correctly every time it actually runs, with no gap in enforcement.
What does setting a reference list's role to "Block" do?#
It behaves exactly like your workspace's Block list: pipelines never hand a matching contact to an external target (CRM, Slack, a webhook), and the "On Global Block List" check flags it in a list. You don't need to copy those contacts into the Block list separately.
Can I have more than one reference list, or more than one of the same role?#
Yes — any number of lists in the workspace can be reference lists, including several with the same role (e.g. two separate "Competitors" lists), and each shows up as its own entry wherever reference lists are used.
Can I still edit a reference list, or why is it read-only?#
A reference list is an ordinary list you can edit, enrich and import into — unless it also refreshes automatically from its source (HubSpot, Salesforce …): then its record data is read-only, because the next refresh would overwrite edits made here, so change records in the source. Statuses, tags and hiding rows still work, and setting Refresh automatically to Off or turning off Use as reference list in List Settings unlocks it.
Which plan do I need for reference lists?#
Premium. Below Premium the Reference list tab in List Settings shows the feature greyed out with a lock and a See plans button, and condition pickers show a greyed entry "Existing customers, competitors … — with Premium".
Do my reference lists stop working if we downgrade from Premium?#
No — existing reference lists keep working after a downgrade: badges, pipeline and trigger conditions and the Block role stay active, so a rule like "not an existing customer" never silently lets customers through. You can still switch them off or change their settings; only turning a new list into a reference list needs Premium again.
Why would I use a reference list instead of the Block list for competitors?#
The Block list only holds plain emails and domains you paste in by hand. A reference list is a full list — you can enrich it, import it from a CRM, add notes in other columns, and set its role to Customer, Partner or Competitor (not just Block), and it also works with "is in it" / "is not in it" conditions in pipelines and triggers.
I changed my reference list — why don't badges and conditions show it yet?#
A change to a reference list (rows added, edited or hidden, or a new setting) can take up to about a minute to show in badges and in pipeline and trigger conditions. If a badge already on screen still looks old after that, reload the page.
Why doesn't a LinkedIn or Facebook URL match on company level?#
Platform addresses never count as a company: a website or domain on linkedin.com, facebook.com, x.com, twitter.com, instagram.com, xing.com, youtube.com, google.com, github.com or medium.com is ignored. Otherwise a LinkedIn company page in a website column would make every LinkedIn link match; add the company's own domain instead.