log in sign up now
HubSpot Campaign Segment Builder back to library
~ / library / Prospecting / hubspot-campaign-segment-builder

HubSpot Campaign Segment Builder

Turn a targeting brief like "VP+ Fintech, 200-1000 employees" into a HubSpot static list, matching existing contacts first and topping up with net-new people from MoltSets.
  • Build a campaign list of VP+ Fintech contacts at 200-1000 employee companies, top up from MoltSets if needed
  • I need 500 Director+ Marketing contacts at mid-market SaaS companies for a campaign

What this skill does

Builds a campaign-ready list against a plain-English brief. It translates the brief into title, seniority, industry, and company size filters, matches against your existing HubSpot contacts first, and only pulls net-new people from MoltSets to make up the shortfall to your target list size. Existing contacts are never duplicated, and the output is a single static list sized to the brief.

Chain

Targeting brief (title / seniority / industry / size / target count)
  to hubspot/search-crm-objects        (existing contacts matching the brief)
  to compare match count against target list size
  to MoltSets:
      search_people                    (title/seniority/department + industry + employee_range, if shortfall)
  to dedupe candidates against existing HubSpot contacts
  to linkedin_to_best_email            (fill email gaps on net-new candidates)
  to hubspot/create-object             (create net-new contacts)
  to hubspot/create-list / add-to-list (build the static list from existing + net-new)

Inputs

  • Targeting brief - title/seniority, department, industry, employee range, and any other firmographic filter
  • Target list size - how many total contacts the campaign needs
  • Existing-contact priority - whether to use existing HubSpot contacts first, always, or only above a certain match quality
  • List name - the HubSpot static list the result should be saved to

How it works

  1. Parses the brief into structured filters: title or seniority, department, industry, and employee range
  2. Searches existing HubSpot contacts against those filters first
  3. If the existing match count falls short of the target list size, runs search_people in MoltSets with the same filters to source net-new candidates
  4. Dedupes the candidates against existing HubSpot contacts by email and domain plus name
  5. Runs linkedin_to_best_email on any net-new candidate missing an email
  6. Creates the net-new contacts in HubSpot and adds both existing and net-new contacts to the named static list

Output

Name Company Title Seniority Industry Source Existing/Net-New Added to List
Target list size:            X
Existing matches used:       X
Net-new candidates sourced:  X
Net-new added to HubSpot:    X
Final list size:             X
MoltSets tokens used:        X

Tips

  • Requires the HubSpot remote MCP (mcp.hubspot.com) and the MoltSets MCP connected in the same client
  • Prioritising existing HubSpot contacts first keeps token spend down and avoids working an account you already have a relationship with
  • If the brief is vague on seniority, run a small sample first and confirm the mapping before sourcing the full shortfall
  • A per-company cap keeps a single large account from dominating the list at the expense of coverage
  • Custom objects are not reachable through HubSpot's remote MCP, so create standard contact records and standard lists
01 Download the .moltsets skill file below
02 Open Claude and go to Settings to Skills
03 Click Add skill and select the downloaded file
04 Open a new chat in Claude
05 Prompt Claude using one of the example prompts or use your own
// difficultyIntermediate
// connectionHubSpot, Claude Chat
// got a skill of your own? Submit it to the library