Skip to main content

Documentation Index

Fetch the complete documentation index at: https://support.artisan.co/llms.txt

Use this file to discover all available pages before exploring further.

Block all companies in HubSpot

What this does
  • Stops Ava from cold-emailing anyone at a company already present in HubSpot
  • Matches at the company domain level: anyone with the same domain as the company gets blocked (eg. blocking Artisan blocks anyone with an artisan.co domain)
Set it up in HubSpot (about 5 minutes)
  1. Open HubSpot. Go to CRM > Lists (newer portals call it Segments). Click Create list in the top right.
  2. Pick Company-based as the object type, and Active list so it updates as more Companies get added.
  3. Click Add filter.
  4. In the property search, type create date and pick Company create date (every company has one, so this matches every company record).
  5. In the operator, choose “is known”.
  6. Save the Segment as Active so it keeps including new companies as they’re created.
  7. Click Save. Processing usually takes a few seconds for this kind of broad filter, though larger portals may take a minute.
  8. In Artisan, go to your campaign’s DNC settings and add this HubSpot segment as a CRM DNC source.

Block companies associated with live deals in HubSpot

What this does
  • Stops Ava from cold-emailing anyone at a company you’ve already sold to or are actively selling to.
  • Matches at the company domain level: one matching deal on the company record blocks every employee at that domain.
Set it up in HubSpot (about 5 minutes)
  1. Open HubSpot. Go to CRM > Lists (newer portals call it Segments). Click Create list in the top right.
  2. Pick Company-based as the object type, and Active list so it updates as deals move.
  3. Click Add filter. At the top of the filter popover you’ll see Viewing: Companies (primary). Click that dropdown and change it to Deals. The header above the property list will now read “Companies whose associated Deal has…”
  4. In the property search, type stage and pick Deal Stage.
  5. In the value picker, tick every open stage and Closed Won for every pipeline the team uses. On HubSpot’s default Sales Pipeline that’s: Qualifying, Discovery, Validation, Negotiation, Closed Won.
  6. Save the Segment as Active so it keeps updating as new deals are opened.
  7. Click Save. Wait for the segment to finish processing (a few seconds to a couple of minutes depending on the portal size).
  8. In Artisan, go to your campaign’s DNC settings and add this HubSpot segment as a CRM DNC source.

Future state

Who this is for This guide is for customers using Artisan with a connected HubSpot or Salesforce account who want fine-grained control over which leads get blocked because of existing deals in their CRM. If you’ve ever seen Ava skip leads you wanted to reach, or reach leads you wanted skipped, the cause is almost always the deal-based DNC logic described below.

The short version

Artisan’s DNC (Do Not Contact) system protects your existing business relationships by blocking outreach to anyone tied to a deal in your CRM. Most customers want one of three setups:
  1. Block everyone at a company with an active deal. Protects live opportunities at the domain level. Jane has an open deal, so don’t email John at the same company.
  2. Block only active deals, ignore historical closed ones. Lets you re-prospect into companies where the only deals on file are Closed Lost or old unqualified ones.
  3. Turn the deal-based DNC off entirely. You handle relationship protection through your own CRM filters or lists instead.
The rest of this guide shows how to set each one up using HubSpot fields. Salesforce equivalents are noted at the end.

Key HubSpot fields to know

Before configuring anything, it helps to know which HubSpot properties drive deal-based DNC.
FieldObjectWhat it means
dealstageDealThe specific stage a deal is in, like Appointment Scheduled, Contract Sent, Closed Won, or Closed Lost. Each pipeline has its own stages.
pipelineDealWhich pipeline the deal lives in. Customers often have separate pipelines for New Business, Renewals, Partners, etc.
Is deal closed? (hs_is_closed)DealBoolean. true if the deal is in a Closed Won or Closed Lost stage, false if it’s in any open stage. The cleanest single field for “active vs. not”.
hs_is_closed_won / hs_is_closed_lostDealBooleans for the specific closed outcomes.
Deal StatusDeal (derived)Groups deals into Won, Lost, or Open. Useful for reports.
Number of associated deals (num_associated_deals)ContactTotal count of deals on a contact, open and closed combined. The blunt field that causes most over-blocking.
HubSpot contact lists can filter on deal properties. When building a contact list, pick filter type “Deal properties” and you can filter by Deal stage, Is deal closed?, pipeline, and so on. The list returns every contact associated with at least one deal matching the filter.

Pattern 1: block everyone at a company with an active deal

Use this when: you want relationship protection at the domain level. If anyone at acme.com has an open deal, nobody at acme.com should get cold outreach, even if they’ve never been in your CRM before.

How to set it up in HubSpot

HubSpot doesn’t let you filter across three association levels in a single list (deal to company to contact), so this takes two chained lists. Step 1: create a company-based list of companies with active deals
  1. Go to CRM > Lists > Create list
  2. Choose Company-based
  3. Add filter: Deal properties > Deal stage is any of your open stages
    • Either select every open stage across every pipeline you care about, or use the simpler alternative below
  4. Simpler alternative: Deal properties > Is deal closed? is false
  5. Save the list
Step 2: create a contact list of everyone at those companies
  1. Go to CRM > Lists > Create list
  2. Choose Contact-based
  3. Add filter: Company properties > Contact’s associated company is a member of list > pick the company list from Step 1
  4. Save the list
Step 3: point Artisan at the contact list In your Artisan campaign, add the contact list from Step 2 as a DNC source. Every contact at every company with an active deal will now be excluded, even contacts that aren’t personally associated with a deal.
  • Why two lists instead of one HubSpot’s list builder supports two levels of association at most. A contact-based list can filter by “this contact’s associated deals” or “this contact’s associated company’s properties”, but it can’t chain all the way to “this contact’s associated company’s associated deals” in a single filter. The company list in Step 1 flattens that middle layer so the contact list in Step 2 only has to look one level up.

Pattern 2: block only active deals, ignore closed ones (coming soon)

Use this when: you have a long history in HubSpot and many contacts carry old Closed Lost or unqualified deals that you’d still like to re-prospect. The default behavior blocks them because they have any associated deal at all. This pattern fixes that.

How to set it up in HubSpot

Block everyone at a company that has at least one active deal, but allow outreach to companies where every deal is closed.
  1. Create a company-based list filtered by Deal properties > Is deal closed? is false
  2. Create a contact-based list filtered by membership in the company list
  3. Point Artisan at the contact list
If you have multiple pipelines, decide which ones count. A deal in your Partner pipeline probably shouldn’t DNC a cold prospect. Add a filter for Deal properties > Pipeline is any of [your sales pipelines] to scope the check.

Why this works better than the default

The default check uses num_associated_deals > 0, which counts every deal a contact has ever been on. A contact with three deals from 2021 that all closed lost still shows up as “has deals” and gets blocked. Filtering by Is deal closed? or specific stages only flags live opportunities.

Pattern 3: turn deal-based DNC off entirely

Use this when: you already manage relationship protection through your own HubSpot filters, workflows, or list segmentation, and you don’t want Artisan adding its own deal check on top.

How to set it up

In your Artisan HubSpot integration settings, go to Deal Settings and turn off Activate Deal Check. When this toggle is off, Artisan skips the “domain has associated deals” check entirely. Any DNC blocking from that point on comes only from:
  • Your CRM blocklist filters in the campaign
  • Contact lists you’ve explicitly added as DNC sources
  • Artisan’s standard DNC checks (suppression lists, engagement history, etc.)
This gives you full control. You decide which contacts and companies are off-limits by building the exact HubSpot lists you want and feeding them into Artisan.
[!TIP]
If you turn the deal check off, we recommend building at least one CRM filter or DNC list to protect active deals. Otherwise Ava may reach out to prospects you’re actively closing.

Choosing the right pattern

Your situationRecommended pattern
You want maximum protection and are okay with some over-blockingPattern 1
You have lots of historical Closed Lost deals you want to re-prospectPattern 2 (Option A or B)
You run multiple pipelines and only some represent real sales opportunitiesPattern 2 with a pipeline filter
You already have your own HubSpot segmentation for DNCPattern 3
You’re new to Artisan and not surePattern 2, Option B

Salesforce equivalents

The same patterns work in Salesforce using these fields:
  • Opportunity.StageName is the equivalent of HubSpot’s dealstage
  • Opportunity.IsClosed is the equivalent of Is deal closed?
  • Opportunity.IsWon is the equivalent of hs_is_closed_won
Build the equivalent list using Salesforce Reports or Account-based filters, then import the resulting contact or account list into Artisan as a DNC source.

FAQ

  • If I enable Pattern 1 or 2, how often does the DNC list refresh? The CRM sync pulls updates on a rolling basis. New deals created in HubSpot will be reflected in the DNC list within a short window.
  • What happens to free email domains like gmail.com or outlook.com? Free email providers are automatically excluded from the domain-level deal check. A personal Gmail address for someone with an open deal won’t block every other Gmail user.
  • Can I combine patterns? Yes. A common setup is Pattern 3 (turn off the automatic deal check) plus a custom HubSpot list that maps exactly to Pattern 2, Option B. This gives you the “active deals only, domain-wide” protection without the default “all deals, ever” behavior.
  • Does this affect leads already in a running campaign? DNC checks run before outreach is sent, and re-run after enrichment returns new information. A lead whose company enters an active deal after the campaign starts will be blocked at the next check before the next send.
  • What if I don’t see the “Activate Deal Check” toggle? The toggle is available in your HubSpot integration configuration. If you don’t see it, contact your Artisan account owner or reach out to support.

Questions or edge cases not covered here? Reach out to your Artisan CSM or post in the support channel.