Growth Unhinged is, quite literally, powered by beehiiv. I made the switch at the beginning of the year because beehiiv is serious about powering the internet’s best newsletters. Their all-in-one platform brings together newsletters, websites, and every tool you need to grow and earn.
It’s now even better with the new beehiiv MCP. I use the MCP in Claude Cowork (my 2026 obsession) to audit my site and prioritize SEO fixes, analyze subscriber trends, and set up automations. See beehiiv yourself and get 30% off for three months with code KYLE30.
👋 Hi, it’s Kyle and welcome to Growth Unhinged, my weekly newsletter exploring the hidden playbooks behind the fastest-growing startups.
As AI makes generic outreach cheap and ubiquitous, differentiation comes from precision, relevance, and deep context around a small set of high-value accounts. This sounds wonderful on paper until it’s time to set up a modern account-based GTM engine.
For help I turned to Dan Rosenthal, co-founder of Workflows.io, which builds go-to-market systems for B2B revenue growth. Dan and partner Fivos Aresti bootstrapped Workflows.io to $2.5M ARR in 10 months and have implemented dozens of modern ABM engines. Today Dan shares their extremely tactical ABM playbook. (This post may be cut-off by your email provider; read it in full on the Growth Unhinged website.)
How to build a modern ABM engine
Put simply, account-based marketing is an account-based GTM strategy that works backwards from a list of target accounts. While it has historically been expensive and highly manual, AI agents and data enrichment make it way more accessible.
We now recommend it to any B2B company with a ACV of $50k+ and a constrained addressable market (<20,000 qualified companies). For companies with a TAM of <20,000 companies, the relative low conversion rates of other GTM approaches (e.g. automated outbound, LinkedIn content) make them very hard to rely on in siloes.
I started Workflows.io to help companies build their GTM systems. We’ve personally worked with 250+ companies including dozens of ABM implementations. ABM is one of our most in-demand service lines, and I can confidently say that the technical implementation is still far harder than most expect. But the results are also far more impressive.
So I teamed up with Kyle to teach you how to build a modern, agent-compatible ABM system using HubSpot, Clay, and Claude. Every process will be rooted in real (but anonymized) examples from our clients. I’ll break it down into seven main components, which I recommend following step-by-step.

Step 1: TAM and stakeholder mapping
The primary goal here is to create a Target Account List (TAL) that captures 90%+ of a TAM. When we’re talking a TAM of <20k companies, incremental increases in coverage can have massive implications on revenue so don’t shortchange this.

First, we build a data-supported ICP model. It is surprising how many GTM teams we speak to that don’t have their ICP written down on an agreed-upon document. We’ll assume you have this in-place for the sake of this article, but here are some external resources that can help if you don’t:
ICP modeling guide (via Workflows)
Closed won Claude skill (via Freckle)
ICP sharpener skill (via Growth Unhinged)
Here’s an example of what our own ICP planning doc looks like:

We believe simpler is better when it comes to tiering models. Simple usually means more accuracy and clarity for the sales team. With agreed-upon ICP qualification and scoring parameters, you have everything you need to start pulling the actual lists.
There are four main types of data providers for creating the Target Account List. Generally, we find that smartly combining 3+ data sources massively increases our chances of reaching 90%+ TAM coverage.
General prospecting databases (e.g. Apollo, ZoomInfo) — Best for companies with a LinkedIn presence
Lookalike database (e.g. Ocean.io, Discolike) — Great tool for doing hyper-specific searches including companies not on LinkedIn
Specialized databases (e.g. Storeleads, influencers.club) — Useful in certain TAMs that have reputable providers
Web scraping (e.g. Apify, Claude Code) — Necessary to map out TAMs in niches not fully represented on LinkedIn
The goal is to balance coverage and costs.
But the only way to maximize coverage beyond a certain point is to pull a higher volume of lists. And those lists naturally get broader, including more unqualified companies, but also more qualified companies that targeted searches won't capture. Which increases costs two-fold.
On one side, it’s the credits directly spent with the data providers to pull more data. But also more AI spend required to qualify the TAM list since we deploy AI research agents to qualify each company based on their website content. This is a necessary evil if you want to fully map out your TAM, because the filters / data quality of prospecting databases don't fully suffice (e.g. vertical SaaS on typical databases will be under their industry vertical instead of software development).
After pulling multiple lists, the next step is to merge + dedupe them. We used to do this in Clay, but we recently switched this workflow to Claude Code and find it far easier. We still end up in Clay afterwards, where we spend significant time back-testing and optimizing the centerpiece qualification prompt/research agents.
This powers the initial qualification we do on every company (usually industry and product fit), before enriching and qualifying further based on firmographics, technographics, and account fit signals.
Here is the framework we use to build our qualification prompts:
You are analyzing a company's website to determine if they are a TRUE [TARGET_COMPANY_TYPE].
[One-sentence definition of what this company type does and how it operates.]
EXCLUDE (NOT A [TARGET_COMPANY_TYPE]) if PRIMARY business is:
[EXCLUSION_1]: [Signals to look for, e.g., specific page language, site sections, positioning clues]
[EXCLUSION_2]: [Signals to look for]
[EXCLUSION_3]: [Signals to look for]
QUALIFY ([TARGET_COMPANY_TYPE]) if you find:
Explicit terms: [3-5 keywords or phrases that directly confirm this company type]
Industry pattern: [A structural signal, e.g., naming conventions, business model indicators, customer-facing language]
[QUALIFYING_SIGNAL_3]: [What to look for and why it confirms qualification]
[QUALIFYING_SIGNAL_4]: [What to look for and why it confirms qualification]
HYBRID COMPANIES ([Describe the common overlap, e.g., companies that perform the target activity alongside an adjacent business model]):
QUALIFY if [threshold for qualifying hybrids, e.g., the target activity represents a meaningful portion of revenue, product mix, or customer base]
EXCLUDE only if [threshold for excluding hybrids, e.g., the target activity is incidental and the primary business is clearly something else]
DECISION PRIORITY:
Check for exclusions first
Look for qualifying evidence
For hybrids, check if [TARGET_COMPANY_TYPE] activity is significant (not just minor or incidental)
RESPOND WITH:
QUALIFIED [TARGET_COMPANY_TYPE] - [Specific evidence found]
NOT A [TARGET_COMPANY_TYPE] - [Reason: which exclusion category]
INSUFFICIENT INFORMATION - [Reason: unclear or limited content]
Analyze the following company's website: {Domain}
With a recent Series A SaaS company targeting B2B distributors, we scraped 70+ sources (mostly industry association directories) to maximize coverage. The Clay workbook got pretty hectic, but that's the price it takes.
The last step is to repeat the same process for contacts:
A) Manually map out the titles that comprise the following categories: decision-makers, champions, influencers, and end-users (optional).
B) Repeat closed won analysis, but using contacts instead.
C) Use findings to improve your manually created list of titles.
D) Do actual contact searches (e.g. on Apollo) for each job title group, and adjust criteria depending on results (e.g. adding more breadth to Champion titles to boost numbers).
E) Once the final list is ready, pull contacts from multiple data sources (e.g. Apollo, AI Ark, Clay).
F) Verify and find missing emails + phone numbers for relevant contacts (e.g. Tier 1 Decision Makers), using lower cost providers like Findymail and BetterContact.

Example title list
Step 2: Account research
AI made creating a comprehensive account list much easier. It also made account research WAY easier to collect at scale.
Since we already cut down our initial list, our goal is to collect the additional data points that would be useful for (a) campaign personalization or (b) sales reps researching accounts without leaving the CRM.
For most of the companies we work with, that ends up being 30+ custom data points. Which usually means 30+ custom CRM properties that need to be configured.
This is why setting up ABM is resource-intensive on the RevOps side of things, but Claude Code and MCPs have also made it a lot easier.
We typically use a spreadsheet to map out every single data point with their official HubSpot names, as well as additional requirements e.g. overwrite rules. Here’s an example of what that looks like:

This work is all done before we build a single workflow, so we can accurately predict costs.
Doing a full TAM Map with account research can easily cost $2,000+ across data provider, Clay, and AI credits. But it’s a justifiable expense because you can now get extremely precise with the data points you collect.
These are real examples from clients, in order of simple to complex:
Engineering headcount
Custom sub-industry classification
E-commerce hosting platform
Competitor tech usage
Finding closest coffee spot to prospect’s office
Recent clinical trials
Mapping parent-child relationships
Composite score on media buying activity
We deploy both web research agents (Claygent) and some of the 150+ data providers you can rent in Clay, since some data is not publicly available. In practice, building this requires a lot of prompt engineering and Clay configuration.

Example enrichment actions in Clay

Example property matching
We also use the account research properties to set up account scoring directly in HubSpot. This way if a rep manually overwrites a value, the score can be automatically reassessed:

On top of the raw data, we typically apply some formulas or calculations data more actionable for HubSpot.
For contact job titles, we use AI to categorize every job title based on our established groups: decision-makers, champions, influencers.
For company headcount, we set up custom bands to classify SMB vs. Midmarket vs. Enterprise, which is used for routing and scoring.
One important sub-component of account research are parent-child associations. When selling to PE-backed companies, you may have to sell through the parent company. We deploy web research agents to find this information and set up HubSpot associations to reflect those relationships.
All of this makes your CRM a more data-rich and pre-filtered prospecting database so your reps don’t ever need to login to Apollo or ZoomInfo themselves (you can just use their data through Clay).
This may seem like a lot of work for a one-time implementation, but this same workflow is converted to something that gives everlasting value: an automated CRM enrichment workflow.
Note: Everything up to this point can also be done in Claude Code with the same data providers, but the evergreen workflows coming after are more robust to build in Clay.
Step 3: CRM cleanup and enrichment
If we go through all the effort of setting up the target account infrastructure mentioned above, we want this same workflow to be applied to every record in the CRM. And every future CRM record.
Surprisingly, we find this workflow fairly straightforward to set up:
Duplicate the TAM and stakeholder map workflows.
Set up the trigger to be list enrolment (24 hour cadence) or webhooks (instant but requires HubSpot Data Hub Pro at $800/mo)
Adjust the final action to be “Update record” instead of “Create record”
Enroll the backfill of companies and contacts.
We typically set up an “Enriched by Clay” date field on both the company and contact objects, both for easier tracking and to power workflows that re-enroll records when the data freshness window passes (usually after one year).

Before we do any changes in the CRM, e.g. adding records or properties, we typically do a cleanup first. We recommend the following at the bare minimum: (a) hard domain and email duplicate removal, (b) basic property audit to prevent redundancies.
CRM hygiene can get deeper than we have space to explore in this article. In short, these three mediums should cover 99% of your use cases:
Clay + the HubSpot integration/API
HubSpot Data Hub
Claude Code + HubSpot MCP
Once the CRM cleanup is done, the TAM/stakeholder map is uploaded, and custom enrichment data is automatically flowing, we typically recommend a few quality-of-life improvements to help activate this data:
Customizing contact and company views to surface the most important account research.
Creating segments to separate companies by tier and category.
Adding on-demand enrichment buttons into company and contact views so reps can just click a button to do things like “Find additional stakeholders at company”.

Example company enrichment buttons

Example contact enrichment buttons
Up to this point, I’ve just covered static data. For any data that needs to be monitored on an ongoing basis, we’ve found a dedicated signal tracking process to be the best approach.
Step 4: Signal tracking
Activating signals is the key to removing the classic silo between sales and marketing.
If marketing drives 50 ad impressions to an ICP account, and that signal is sent to the sales team, both teams can be aligned to the only stat that really matters when building out an ABM program: ICP pipeline progression. This is an objective read-out we always use as our north star.
These are the 5 main ways we use intent signals:
Awareness scoring: Roll up signals into account-level stages (Identified > Aware > Interested > Considering > Selecting) so reps know where every account sits in the buying journey.
Trigger automated outreach: Enroll qualified signal accounts into email/LinkedIn sequences automatically.
Slack/CRM notifications for manual outreach: Alert the reps in real-time for high-intent signals (demo requests, champion job changes).
Customer expansion monitoring: Track usage signals, feature adoption, and upsell triggers on existing accounts.
Building targeted lists for ABM: Use signals to create micro-campaigns (e.g. "companies that liked a LinkedIn post and visited the website this month").
I can confidently say that in every single of our ABM systems we’ve built out, the reception to intent signals by the sales team has been overwhelmingly positive. We have significant evidence to suggest that at least some intent signals, across every client, are associated to higher conversion rates, and anecdotally reps really enjoy the extra support to help them reach quota.
However, we encounter our fair share of signals that don’t drive results. Either that is because they don’t correlate to actual buying intent, or they don’t occur at a significant enough volume to make a difference. Finding the winning signals comes down to testing, but more importantly the strategic planning around signal tracking.
Since we know what’s out there, we’re usually able to single out the highest-priority signals before we ever start building. Here’s how we map it out:

1st-party signals: your internal data from your own tools. The most important signal category. It’s usually free (already owned) and correlated to the highest-intent. Examples include CRM activity, website visitors (see: Warmly, RB2B, Vector), gated content, and product usage.
2nd-party signals: exclusive data from external tools. Examples include social engagement (see: Clay, Jungler, Teamfluence), champion tracking (see: Clay, Champify, UserGems), and ad engagement (see: ZenABM, Fibbler, Factors.ai).
3rd-party signals: public data from external sources. These are less correlated to intent than 1st- and 2nd-party signals, but can usually be found at the highest volume. Generally, we see that they are most significant when they co-occur. Examples: news and fundraising (see: Clay, PredictLeads, Perplexity), job openings (see: Clay, LinkedIn Sales Nav, TheirStack), competitor tech usage (see: BuiltWith, HG Insights, Sumble).
Many GTM leaders we speak to see the buzz around signals and think they are overhyped, but that’s not what the stats from the wider market are suggesting.
In Growth Unhinged's 2025 State of B2B GTM report, intent-based outbound ranked as the #2 GTM channel that teams are investing more into in 2026. In our best cases, we’ve seen clients where 20-40% of their active pipeline is attributed to signal activation (7-day deal creation windows).
Capturing a signal is actually the easy part. Activating them is 90% of the work. Here is the 13-step process we use for every signal workflow:

Step 1: Capture. Pull signals from all sources using webhooks, APIs, or native integrations.
Step 2: Aggregate. Route everything into your orchestration layer. One row = one signal, one company or contact.
Step 3: Normalize. Standardize key fields: company domain, LinkedIn URL, job title. Use formulas to clean, deduplicate, and format.
Step 4: Enrich. Layer on basic enrichments for qualification (automated CRM enrichment workflow handles the rest).
Step 5: CRM lookup. Check whether the account already exists. A signal from a net-new account vs. an existing pipeline account need different treatment. Pull the assigned owner if one exists.
Step 6: Qualify. Use enrichment data to qualify net-new companies and contacts, add to CRM if missing. Many teams skip this then complain about signal fatigue.
Step 7: Score. Pull scores from the CRM: Tier 1, Tier 2, Tier 3, Unqualified. This enables logical routing (e.g. Tier 1s get a manual touch).
Step 8: Segment. Group accounts by territory: e.g. size, industry, location, business type. This drives rep assignment and messaging.
Step 9: Route. Maintain a live rep assignment table in the orchestration layer (or directly in the CRM) with rep name, CRM Owner ID, and Slack channel. Use segments to assign each signal to the right rep. Some signals suit BDRs (ad engagements). Others suit AEs (champion tracking).

Example Slack notification
Step 10: Sync to CRM. Push assigned signal data back into the CRM. To view signals in the activity timeline, we’ve found the ‘custom events’ feature of HubSpot to be ideal, and a dedicated custom object to be the best setup for Salesforce.

Example of custom events in the activity timeline
Step 11: Activate. Turn qualified signals into action, i.e.:
Tier 1: Slack alert + manual outreach via Nooks + CRM task.
Tier 2: Retargeting ads via Google/LinkedIn & automated outbound via Instantly + HeyReach.
Tier 3: Automated emails via Instantly.

Task example
Step 12: Track. Roll up signals into awareness stages: Identified > Aware > Interested > Considering > Selecting.
Step 13: Enablement. This is where sales leadership steps in:
Custom sequences per signal type
Call scripts referencing the signal
Weekly signal digests
Dashboards per rep
Rep onboarding for new hires
Step 5: Awareness scoring
Funnily, awareness scoring is a strategy we learned from Growth Unhinged, especially in the case study pieces with Parabola and Emilia Korczynska. We took the frameworks laid out, and operationalized them inside HubSpot and Clay for our clients.
Awareness scoring was quite unclear at first, but we’ve built up a lot of know-how (e.g. using custom events). Here’s how it works across the five stages:
Identified: Member of the qualified TAL, no engagement. Default state.
Aware: Showed surface-level engagement (one website visit, 50+ ad impressions).
Interested: Repeated or high-intent engagement e.g. positive outbound reply, event attendance.
Considering / Evaluating: Bottom-funnel stage to capture the state right before the highest conversion drop-off (e.g. before the first meeting was held).
Selecting: In an active deal cycle with an opportunity in CRM.
When a company moves stages, we’ve found a few best-practices for activation:
Tasks and Slack notifications (for high-intent signals)
Build key lists that reps prospects out of (e.g. Tier 1 + 2 accounts in Interested)
Creating an AI signal summary every time an awareness stage changes, and adding it as a property / in the task description.
Designing awareness stages can be tricky, but here are some examples you can use to model off of:

This system acknowledges a major shortcoming of lifecycle stages: that they usually start after an opt-in. This means they end up missing out on a significant portion of your warm market.
Step 6: Demand generation
The core ABM infrastructure is now in place, starting with the target account list and moving to intent signals and awareness scores. This removes manual work that limited ABM in the pre-AI era. Now demand gen can become the core focus.
Some interesting observations we’ve seen after implementing the above-described components:
Our clients usually end up using the awareness score segments for their ads retargeting audiences.
SDRs can effectively spend zero time list-building outside the CRM.
The sales team naturally begins focusing on warmer accounts in the Interested + Aware stages, because they convert at a significantly higher rate (seeing a 3x lift is not uncommon for us).
Sales starts to appreciate the work of marketing more, since they actively use marketing-generated 1st- and 2nd-party signals to generate their pipeline.
Anecdotally, a BDR at one of our clients booked four meetings after just one day of cold calling out of the “Aware” lists we had set up for them. Their reps used to book just 1-2 meetings per week (it’s a $100k+ ACV product) so these numbers were massive for them.
Just like every marketing strategy, things may fail before they succeed. There’s are some key lessons I feel are worth sharing across every key channel for ABM:

1:1 demand generation
ABM gifting campaigns
Through helping the Freckle team deliver custom Pickleball rackets to 60 ICP accounts in SF, we learned that you can get so much more out of these campaigns by tying them to an IRL event, weaving in custom email sequences for every recipient, and generating social content out of the process (in this case we generated over 140k impressions).
Warm intros
The number #1 hack to automating warm intros is to add your close network of investors, partners, and evangelists and automate a monthly company update.
Share recent wins and insider reflections, paired with asks that would feel uncomfortable to ask 1:1 e.g. we just signed a case study with a medical device company, if you know anyone like X we’d appreciate an intro.
Event invites
We often find that event CTAs outperform other offers when used in cold outbound, specifically when selling to enterprise.
I recommend starting with webinars around trending topics, before testing our IRL events (e.g. small dinners) in hotspots like SF or New York.
Manual outreach
I recommend automating 90%+ of your outreach, while reserving a small portion to be manual. These are your dream accounts and high-intent accounts that you’d never want to risk a lower conversion rate with.
Since templates or AI personalization can only get you so far, and you may want to get hyper-personalized with strategies like custom microsites.
In cases where manual outreach vastly outperforms automated, we implement human-in-the-loop AI sequencing to scale this approach.
1:many demand generation
Automated outbound
Don’t waste energy thinking about “burning your TAM” if you don’t actually spam and you send great messages.
We reengage TAMs every 60 days and layer on signal-based and micro-campaigns on top.
Parallel dialing
Cold calling in 2026 can be remarkably scalable. If every contact is pre-uploaded to the CRM, you can implement a parallel dialer like Nooks or Orum and your reps can easily hit 100s of dials a day.
The alternative would be a cold-calling intent tool like TitanX, but it’s even pricier than the already expensive parallel dialers.
Social content
In B2B, LinkedIn is the #1 inbound channel besides SEO. For Workflows.io, 80% of our deals are at least indirectly attributed to our LinkedIn content.
Most companies who get it wrong make the same mistake; they post promotional or corporate content vs. content that their ICP is actually interested in (usually not directly related to the product)
On-site content
In our own ABM strategy, we put a lot of emphasis on lead magnets (see workflows.io/workflows and workflows.io/toolverse) since they feed into every other channel.
For our clients that don’t have offers outside meetings, audits, or POCs, this opens up a whole new funnel to test.
Video outreach
I’ve seen some people do really cool stuff with AI video outreach tools like SendSpark. From our personal experience, we prefer targeted 1:many Looms since educated buyers can see through the AI gimmick.
Video explainers are also a winning outbound CTA that we always test e.g. “Would you want to watch a 2-min video breaking down how this would work?”
Targeted ads
Having a small TAM opens up a unique advantage for ads. By uploading company and contact lists to LinkedIn ads, or contact lists to Meta and Google ads (for retargeting), you can ensure that 100% of your ad spend is on ICP accounts.
We find that last-touch attribution of LinkedIn ads can be relatively low, but running ads to ABM lists will naturally skyrocket your multi-touch attribution.
Public events
For GTM motions where trade shows and conferences play a significant role, we’ve tapped into massive time/cost-savings by automating the pre- and post-event outreach using an adapted version of the CRM enrichment workflow.
Connection requests
It’s literally free to send connection requests to your Tier 1 TAM, and they will start to see your content (also for free).
We find this to be a low-lift, high-impact implementation for most of the GTM teams we work with.
Step 7: ICP pipeline progression reporting
I’ve never met a GTM professional who doesn’t understand the importance of reporting. What is worth sharing: the top six reports we recommend for any company implementing ABM:
ICP pipeline created (MoM): This is the most accurate readout of ABM program success. This number should see incremental increases from baseline if ABM initiatives are succeeding.
Signal influence by category: We typically model each signal category against pipeline / closed won (with 7-day + 30-day attribution windows) to understand which signals are worth doubling down on.
Overdue signal tasks by rep: CRM/SEP tasks are the most effective way to assign work to reps, but it means nothing if reps don’t action the tasks. % of overdue tasks per reps tells us who needs more enablement.
Awareness stage progression/regression by tier: Companies showing awareness stage changes in the last 30 days can be a predictor of future pipeline. We separately track companies that move backwards in awareness stage to spot leaks before they affect pipeline.
Accounts by tier broken down by awareness stage: The base high-level report to measure market penetration.
Tier 1 accounts with no activity in the last 30 days: We build this report to add accountability for every client. This number should be as close to possible as 0.
Thanks for reading Growth Unhinged! To support the newsletter, please subscribe or share this post.
The TL;DR:
AI has lowered the manual work and costs of doing ABM. But you still need the right RevOps infrastructure to be effective. Follow the program we outlined in chronological order.
This is far more than buying an intent dashboard like Bombora and expecting your reps to check it. It’s building out the data pipeline that will power all your GTM activities.
If done right, you’ll start to see a flywheel effect with your GTM efforts:
High-performing social content becomes ads.
Ads warm up your outbound lists.
Outbound is used to social engagers.
And I really believe this is the only way to break into a limited market fast enough. We’ve seen it directly with companies like Medrio generating $1.3M in ABM-attributed pipeline in four months.
If you’re looking to build something like this out, I’d start by hiring a GTM engineer or RevOps specialist. Or, of course, an external partner.

