Blocklist and do-not-contact
Manage the list of email addresses and domains your workspace will never contact, and understand how that suppression is enforced across every campaign.
Overview
The Blocklist is a per-workspace suppression list. Any email address or domain you add here is permanently excluded from outreach - no contact at that address or company will be imported into a campaign, enriched for emails, or sent to.
Use the Blocklist to suppress competitors, existing customers, partners, personal connections, anyone who has opted out, or any account you are contractually required not to contact.
Find it in the app at Settings - Blocklist. In the left-hand settings navigation, the tab is labeled Blocklist.
Before you start
The Blocklist tab is visible to and editable by workspace Admins and Editors only. Members cannot view or modify the blocklist.
You must have an active workspace selected. If you see "Select a workspace to manage the blocklist," switch to the correct workspace from the workspace selector before continuing.
How to add entries
Import emails
- Open Settings - Blocklist.
- Click Import Emails (top-right of the page).
- In the dialog, drop a CSV file onto the dropzone, or click to browse. The file must be
.csv, up to 5 MB. One email per row. If your CSV has multiple columns, the importer reads the first column. A header row namedemailoremailsis detected automatically and skipped. - The dialog shows a preview:
- Valid - addresses that will be added.
- Invalid - rows the system could not parse as a valid email address.
- Already on blocklist - addresses already present; they are skipped silently.
- Duplicate in file - rows that appeared more than once in your CSV.
- Review the counts. If you see invalid rows, a scrollable list below the counts shows each bad value and the reason it was rejected.
- Click Import [N] emails to submit. The button is disabled when there are zero valid entries.
- After import, the dialog shows a final summary with counts for Added, Already on blocklist, Invalid, and Sync failed.
If a batch exceeds 5,000 entries, only the first 5,000 are imported. Run a second import for the remainder.
Import domains
The steps are identical to importing emails, but start by clicking Import Domains instead. The CSV should contain one domain per row (for example acme.com). You do not need to include https:// or www. - those are stripped automatically. Blocking a domain suppresses all email addresses at that domain, including subdomains (see "How it works" below).
Search and delete entries
- Use the Search field at the top-left to filter the table by domain name or email address.
- The Total badge next to the search field shows the full count of entries in your blocklist.
- The table columns are Domain Name, Email, and Blocklist Reason.
- To delete an individual entry, click the trash icon in the row's action column. Bulk delete is not yet available - the delete icon in the toolbar will prompt you to select rows first.
How it works
When suppression is enforced
Blocklist suppression is applied at import time - when contacts enter a campaign (either from another campaign or via CSV upload), every contact is checked against the blocklist before it is written. Blocked contacts are silently skipped and never enter the campaign.
The check runs in three passes per contact:
- Exact email match - any email address on the contact that matches a blocked address.
- Email domain match - the domain portion of any email address on the contact, checked against blocked domains with subdomain awareness.
- Company domain fallback - the contact's company domain, so a freshly-scraped lead with no enriched email yet is still suppressed if their company is blocked. This means no enrichment credits are spent on contacts at blocked companies before any email has been found.
Contacts that are already in a campaign before a blocklist entry is added are not retroactively removed. The suppression applies only to new imports.
Domain matching and subdomains
Blocking a domain like acme.com automatically suppresses:
acme.com(exact match)mail.acme.com(subdomain)[email protected](subdomain email)
It does not suppress notacme.com or fakeacme.com. The match requires a leading dot before the blocked domain, so lookalike domains are never caught in the net.
www. is stripped from both the blocked value and the candidate before comparison, so www.acme.com and acme.com are treated as the same domain.
Personal email addresses
The platform treats consumer mailboxes as invalid for B2B outreach regardless of your blocklist. Addresses at providers such as Gmail, Outlook, Yahoo, iCloud, Proton, and several regional consumer providers are marked invalid and never sent to. If a campaign needs to allow personal emails, that setting is configured per campaign.
Normalization
When you add a domain, the platform normalizes it automatically:
- Protocol (
https://,http://) is stripped. www.is removed.- The value is lowercased.
- Each DNS label is validated for valid characters.
When you add an email address, it is lowercased and validated as a properly formed address (display-name forms like "Name <[email protected]>" are rejected).
This means pasting https://www.ACME.com/about produces the same blocklist entry as typing acme.com.
Sync with the sending platform
Each blocklist entry is synchronized with the email-sending platform when it is added. If that sync fails, the entry is not saved locally either - so the two systems cannot silently disagree about who is suppressed. The same guarantee applies to deletes: a delete does not complete locally if the sending-platform removal fails.
In the import summary, entries tagged Sync failed were not saved. Re-import those rows in a few minutes to retry.
Troubleshooting and debugging
Symptom: A contact I blocked is still appearing in campaigns. Likely cause: The contact was already in the campaign before the blocklist entry was added. Suppression applies at import time, not retroactively. What to check: Confirm the contact's original import date versus when you added the blocklist entry. To remove the contact from the campaign, delete them from the campaign's contact list directly.
Symptom: "Blocklist unavailable" / "Your role is not allowed to view blocklist data." Likely cause: Your workspace role is Member, which does not have access to this page. What to check: Ask a workspace Admin or Editor to add the entries, or ask an Admin to change your role to Editor.
Symptom: "Select a workspace to manage the blocklist." Likely cause: No active workspace is selected in the current session. What to fix: Use the workspace selector to choose a workspace, then return to Settings - Blocklist.
Symptom: Entries show "Sync failed" after an import. Likely cause: A transient connection issue with the email-sending platform prevented the sync step for those rows. The entries were not saved. What to fix: Re-import only the failed rows in a few minutes. If the problem persists, contact support.
Symptom: A domain import shows rows as "Invalid."
Likely cause: The value could not be parsed as a valid domain. Common causes are leading/trailing dots, spaces, single-label values without a dot (e.g. localhost), or hyphens at the start or end of a DNS label.
What to fix: Review the invalid-rows list in the import dialog. Each row shows the rejection reason. Correct the values in your CSV and re-import.
Symptom: Re-importing a domain that was previously stored with a URL prefix (e.g. https://www.acme.com) shows it as "Already on blocklist."
This is expected behavior. The system normalizes both old and new entries to their canonical form, so the duplicate is correctly detected even if the original was stored with a prefix.
Symptom: An imported entry with a valid email was tagged "Invalid" but the email looked correct.
Likely cause: The address used a display-name format (Name <[email protected]>) or contained characters that fail strict RFC validation.
What to fix: Strip any display name and include only the bare email address in the CSV.
Symptom: The Total count on the Blocklist page does not match what you just imported. Likely cause: Entries that were "Already on blocklist" or "Sync failed" are not added again. The count reflects confirmed, saved entries only.
FAQ
Does blocking a domain remove existing contacts in active campaigns? No. Suppression applies at the point of import, not retroactively. Contacts already inside a campaign are unaffected. You need to remove them from the campaign's contact list manually if needed.
What is the maximum number of entries per import? 5,000 entries per import. If your list is larger, split it into batches and run multiple imports. There is no hard cap on the total number of entries in your blocklist.
Do I need to add both acme.com and mail.acme.com separately?
No. Adding acme.com is enough. The platform automatically suppresses any subdomain of a blocked domain.
Does the blocklist apply to outgoing emails that are already scheduled? No. Emails that are already queued for sending are not affected. The blocklist is enforced when contacts enter a campaign, not at send time.
Can I export my blocklist? Export is not available in the current UI. Contact support if you need a bulk export of your blocklist entries.
What does "Sync failed" mean in the import results? It means the entry could not be pushed to the email-sending platform. Because the system refuses to save a local entry without the sending platform confirming it, those entries were not added. Re-importing the affected rows is the correct fix.