Run

Filter contacts

How-to Reviewed · not yet fact-checked

In short

How do I filter contacts in Reply?

Open the People page, click Create new filter, pick a Property, choose a condition such as Is, Is not, Contains, Is set, or Is not set, and enter a value. AND adds another property, OR adds another value for the same property. Click Apply to see results or Save to reuse the filter.

Goal

A precise slice of your contact base — everyone who matches a set of conditions — ready to move to a list, move to a sequence, or act on in bulk. Saved filters turn a slice into a view you can reopen.

Preconditions

Contacts in the account. Some properties only carry values after a prior action: email validation status appears after you validate the addresses, call resolution after calls are logged, inbox category after replies are classified, and custom fields after you create and fill them.

Steps

The builder works the same way for every property, on the People page and inside a sequence's People tab.

  1. Open the People page and click Create new filter.
  2. Enter a Filter name. This is optional — but if you save the filter, a name makes it easier to find and reuse later.
  3. In the Property field, select what you want to filter on from the drop-down.
  4. Select a condition. Which conditions appear depends on the property: Is and Is not for exact matches, Contains and Doesn't contain for partial matches, Starts with for prefixes, Is set and Is not set for whether the field carries any value at all, and True or False for the sequence-status properties.
  5. Enter or pick the value.
  6. Click Apply to see instant results, or Save to both see the results and keep the filter for future use.

Combining conditions

A filter can hold any number of properties, combined with two operators.

OperatorUse it forEffect
ORThe same property with different valuesThe filter includes contacts that match any of the specified criteria
ANDDifferent propertiesThe filter finds contacts that match all of the specified criteria

To build an OR filter, select the Property, then click OR to add additional conditions — for example, Provider set to Gsuite, Outlook, or Hotmail returns contacts on any of the three. To build an AND filter, click AND to include the required properties and select a condition for each — for example, Provider is Gsuite, Sequence is the Outbound cold outreach sequence, and the contact has opened an email more than once.

The two combine. Click AND to add multiple properties, then click OR to add multiple conditions within a property; the system shows results that meet all the specified conditions. A filter reading "in the Outbound cold outreach sequence, and Provider is Gsuite, Gmail, or Outlook" returns contacts with those providers only within that sequence. Click Apply when the conditions are set.

Filter reference

PropertyConditionsValues and notes
Time ZoneIs, Is not, Is set, Is not setA time-zone value such as UTC+01:00. Is set / Is not set show all contacts who do or do not have a time zone specified in the field
Call resolutionIs, Is not, Is set, Is not setDefault resolutions are Positive, To Call, Negative, and Busy; custom call resolutions you create also appear in the list
Creation sourceIs, Is notOther, Reply Data (DataSearch, ChromeExtension), Salesforce, Pipedrive, Import CSV, Manually, Reply API, HubSpot, AI SDR, Website visitor, Calendly
Custom fieldIs, Is not, Contains, Doesn't contain, Starts with, Is set, Is not setAny custom field you added to contacts. AI custom fields add a Status is condition
Email Validation statusIsValid, Risky, or Invalid — see email validation
Inbox CategoryIsInterested and the other categories, including any custom inbox category you created
LinkedIn Connection StatusIs, Is notUnchecked, Connected, Not connected, Pending, Connection forbidden, Invalid URL, Revoked
Status: …True, FalseOne property per contact status in the sequence
TitleContains (among others)A free-text job title fragment such as CEO
ListIs, Is not, Is set, Is not setA specific list, or any list at all

Time zone

Select Time Zone as the property, choose Is or Is not, and enter the value — for example, UTC+01:00. The Is set and Is not set conditions do something different: they return every contact that does or does not have a time zone recorded, regardless of which one. That is the version to use before a send that depends on local time.

Call resolution

Select Call resolution as the property, then pick the condition: Is shows only contacts with a specific call resolution, Is not excludes them, Is set shows all contacts that have any call resolution recorded, and Is not set shows contacts that have none. Then choose the resolution — for example, Positive. Alongside the default Positive, To Call, Negative, and Busy resolutions, any custom call resolutions you create appear in the filter list too. See Calls and SMS.

Creation source

Select creation source as the property and use Is to view all contacts associated with a value, or Is not to exclude them. The available sources are:

  • Other — added through sources not listed below.
  • Reply Data (DataSearch, ChromeExtension) — added from a Realtime B2B Data or Findy search; see Prospect data and the Chrome extension.
  • Salesforce, Pipedrive, HubSpot — synced from that CRM.
  • Import CSV — imported in bulk from a CSV file.
  • Manually — added by hand.
  • Reply API — added via the API.
  • AI SDR — added automatically by Autopilot mode in AI SDR.
  • Website visitor — added through the Website Visitors feature.
  • Calendly — added automatically by a Calendly booking, when the option to create a new contact if one does not exist is enabled.

If you have set up a native integration with HubSpot, Pipedrive, Salesforce, or Copper CRM, that integration also appears as its own property in the smart filter. Selecting it with the Is set condition returns the contacts that have a record on the CRM side — useful for spotting records that never synced. See Integrations.

Custom fields

Any custom field you add to contacts becomes a filterable property. Standard custom fields support Is and Is not for an exact value match, Contains and Doesn't contain for a partial match, Starts with, and Is set / Is not set for whether the field holds any value.

AI custom fields support all of the above and add a Status is condition that filters by enrichment outcome:

  • Enriched — the field was successfully filled.
  • Failed — Missing variables — enrichment was skipped because one or more prompt variables were absent.
  • Failed — No results found — enrichment ran but returned no data.

That last pair is how you find the contacts worth re-running: missing variables mean the source data is incomplete, no results mean the prompt found nothing to work with.

Email validation status

After you have validated your contacts, select Email Validation status as the property, choose the Is condition, and select the status — for example, Invalid. To catch both problem classes in one pass, click Or and add the Risky status: the filter then shows contacts with either an Invalid or a Risky validation status. Move that set to a separate list or delete it.

Inbox category

Select Inbox Category as the property and the Is condition to find contacts whose replies were sorted into that category — for example, Interested. Custom inbox categories you create appear in the filter list as well. See Inbox.

LinkedIn connection status

Select LinkedIn Connection Status as the property, then Is to find contacts at a specific stage of the connection process or Is not to find everyone else. The full set of statuses is Unchecked, Connected, Not connected, Pending, Connection forbidden, Invalid URL, and Revoked. See LinkedIn outreach.

Status in a sequence

Sequence statuses are exposed one property per status, and the value is True or False rather than a picked item. To find contacts that carry two statuses at once, select the first — for example Status: Replied — set the value to True, click And, add Status: Finished, and set that to True as well.

The filter offers a property for each contact status — Active, Paused, Missing Data, Bounced, Out of office, Finished, Contacted, Opted out, Replied, Opened, Clicked, Auto-replied, To call, and Called — plus Meeting booked. What each one means, and when Reply assigns it, is in Statuses.

Job title

Select Title as the property, choose the Contains condition, and enter the title fragment — for example, CEO. Contains rather than Is matters here, because real job titles carry prefixes and suffixes that an exact match would miss.

List membership

Select List as the property and pick Is or Is not. In the Select list field, choose the list from the drop-down, or start typing its name — including a shared list, if you are using Team Edition in the Public mode. The Is set and Is not set conditions work at a different level: they return all people who are, or are not, in any list.

Engagement

Engagement filters are the sequence-status properties with a False value. To find the contacts who never opened your emails, select Status: Opened and set the value to False. The same pattern gives you contacts who never replied, never clicked, or were never contacted.

Act on the result

Select the filtered contacts in the grid — the whole result or individual rows — and use the grid actions.

  • Move to list — click the button, choose the list, and click Apply. Create the list first from Add new list on the People page: enter a name and click Create.
  • Move to sequence — click the button, select the sequence from the list, then click Move contacts.
  • More → Blacklist — expand the More drop-down, choose Blacklist, and pick whether to blacklist the contacts or the whole domain. Blacklisted contacts receive no sequence emails.
  • Save in the filter panel — keeps the filter itself, so the same slice is one click away next time.

The full set of bulk grid actions — validation, enrichment, status and stage changes, owner changes, export, and deletion — is in Contact management.

Worked example: split out the CEOs

  1. On the People page, click Add new list, name it, and click Create.
  2. Click Create new filter, select Title as the property, choose Contains, and enter CEO.
  3. Click Apply to see the results, or Save to keep the filter.
  4. Select all filtered contacts and click Move to list.
  5. Choose the list you created and click Apply.

Worked example: re-run the non-openers

  1. On the Sequences page, click the three dots on the right side of the sequence and select Duplicate.
  2. Open the original sequence, go to its People tab, and click Create new filter.
  3. Select Status: Opened as the property, set the value to False, and click Apply.
  4. Select the filtered contacts and click Move to sequence.
  5. Select the duplicate sequence from the list and click Move contacts.

Worked example: blacklist a CSV of contacts

  1. On the People page, create a new list for the file.
  2. Click Add Contact and choose Import from CSV.
  3. Upload the file and map the fields; pick the list you created on the Options tab.
  4. Once the contacts are in the list, select them and click More to expand the drop-down menu.
  5. Choose Blacklist, then pick whether to blacklist the contacts or the whole domain.

The blacklist and a list do different jobs. A list groups contacts for outreach; the blacklist suppresses sending. A blacklisted contact receives no sequence emails even when they sit in an active sequence. See Lists.

Verification

The grid narrows to the matching contacts as soon as you click Apply. Spot-check two or three rows against the condition you set — for a Contains filter especially, since partial matches are easy to over-shoot. A saved filter reappears in the filters panel at the top of the Contacts page and can be reopened without rebuilding it.

Common mistakes

  • Using Is not set when you meant Is not — the first returns contacts with an empty field, the second returns contacts whose field holds a different value. For the List property, Is not set returns people who are in no list at all, not people missing from one particular list.
  • Filtering by email validation status before running validation — the property has no values to match until the addresses have been checked.
  • Using Is on the Title property — job titles rarely match exactly; Contains is the condition that works.
  • Expecting a filter to behave like a list. A filter is a live view over the grid; a list is a stored membership a contact can belong to alongside others. Move the filtered set to a list when you need it to persist.
  • Applying a filter and forgetting to click Save — the conditions are gone the next time you open the page.

FAQ

How many conditions can one filter hold?

Any number. You can add as many properties as you need to refine the results, and each property can carry several values through the OR operator.

What is the difference between AND and OR?

OR widens: it applies to one property with several values and returns contacts matching any of them. AND narrows: it applies across different properties and returns only contacts matching all of them. Used together, OR groups the alternatives inside each property and AND requires every property to match.

Do I have to name a filter?

No. The Filter name field is optional and you can click Apply without it. Name it if you intend to click Save — the name is how you find the saved filter again.

Can I filter by a custom field that Reply's AI filled in?

Yes. AI custom fields support the standard operators plus a Status is condition with the values Enriched, Failed — Missing variables, and Failed — No results found, so you can separate the fields that enriched cleanly from the ones that need a better prompt or more source data.

Can I filter a teammate's contacts?

On Team Edition in the Public mode you can, including by a shared list — start typing the list name in the Select list field and shared lists appear alongside your own. See Permissions and roles.

Where do I filter — the People page or the sequence?

Both work and the builder is identical. The People page filters your whole contact base; a sequence's People tab filters only the contacts in that sequence, which is what you want for questions like "who in this sequence has not opened anything".

Build with Reply