The Clay, Instantly, and HeyReach stack: an actual walkthrough
Clay builds and enriches the list, Instantly sends the email, HeyReach runs LinkedIn, and HubSpot keeps score. At list price, that's $495 for Clay Growth, $97 for Instantly Hypergrowth, and $79 per HeyReach sender: about $671 a month before a second LinkedIn seat or a single data credit.
The tools are the cheap part. The expensive part is the handoffs between them, because that's where variable names mismatch, imports fail without an error message, and a prospect who replied on LinkedIn on day two still gets your day-eight email.
Heads of Growth usually arrive at this stack after the alternative: a freelancer on Clay, an agency on cold email, an SDR half-running LinkedIn by hand, and a CRM that can't say which touch booked the meeting. This walkthrough covers how the three tools connect, where they break, and what it costs to keep them running.
What each tool does and what it costs
Clay has two paid self-serve tiers. Launch is $185 a month for 15,000 Actions and 2,500 Data Credits. Growth is $495 and adds CRM sync, HTTP API, and webhooks: CRM integrations aren't included on Free or Launch, so a HubSpot-connected stack starts at Growth. Under the credit model that took effect March 11, 2026, Actions cover platform orchestration and Data Credits buy marketplace data; Actions are the cheap meter, Data Credits are the one that actually runs dry. One-time top-ups cost more than plan-rate credits, so the base monthly allocation is the real budget to plan around.
Instantly's Growth plan is $47 a month for 5,000 emails, with a preview-only Unibox. Hypergrowth is $97 and adds native webhooks and a full in-app Unibox for managing replies. If you want Instantly to push events back to Clay or HubSpot, you need Hypergrowth: webhooks aren't on Growth.
HeyReach charges per LinkedIn sender, not per user: $79 a month per sender, dropping to about $59 on annual billing once you're running 10 or more. Growth includes a dedicated residential proxy per sender, plus Unibox, API, webhooks, and the Clay integration.
Prices here move, so treat any figure in this article as a snapshot.
Step 1: Build and enrich in Clay
Enrich companies first (funding, headcount, tech stack, news), then run Find People, then rerun the people lookup once the company data lands. Signals like a new VP Sales or a Series B live at the company level, and they decide who's worth paying to enrich at all.
Clay's email waterfall starts with Infer Email and its variants. If the inferred address validates, no paid provider gets called. The pattern resolves often enough that the paid steps (Prospeo, Hunter, and the rest of the waterfall, with a validator as the final check) exist specifically for the accounts Infer Email can't close.
Two settings decide which addresses make it into the sequence and how many credits that costs:
- Catch-all emails count as valid by default; a "safe to send" toggle excludes them.
- Bringing your own provider API keys removes the Data Credit cost for that step, though it still consumes an Action.
For personalization, Claygent is built into Clay and supports testing on a small batch before you commit a full list to it. Keep prompts bounded: asking Claygent to write a whole email performs worse than asking it for one specific, factual observation. At Understory, our Claygent prompts ask for funding amount, lead investors and date, plus one achievement from the past three months, and we sample 10 to 20 emails per batch before scaling a prompt to a full list.
Even a good prompt misses sometimes, so build fallback copy through conditional logic rather than assuming every row comes back clean. One sizing note from our own work with the tool: Clay earns its cost above roughly 100 prospects a week, and the overhead isn't worth it much below that.
Step 2: Push to Instantly and keep the domains alive
Set up the Clay action as follows:
- Select Actions > Instantly > Add Lead to Campaign. It needs an Instantly API v2 key (v1 was deprecated January 19, 2026) and an email address; first name, last name, and company are optional.
- Match every custom variable to its Clay column header exactly. A column called icebreaker_line becomes {{icebreaker_line}} in the Instantly sequence.
- Use a separate field per sequence step, for example one variable for the opener and a different one for the follow-up.
- Turn on "Skip if Lead is in Workspace" so a prospect already in another campaign doesn't get hit twice.
Infrastructure is where most teams get hurt. Instantly's own guidance points toward alternating sending domains, several accounts per domain, a capped daily send per account, and at least two weeks of warmup before a domain carries real volume. Google's bulk sender guidelines require SPF, DKIM, and DMARC, and ask senders to keep their spam rate under 0.10% and never let it reach 0.30%; Gmail has been enforcing this more strictly since November 2025.
We'll say the hard part plainly: one Google suspension sweep has taken out an entire batch of our done-for-you Instantly accounts at once, and we don't find Instantly's own health scores a reliable early warning. Budget a 20 to 25% domain reserve to replace burned domains.
Step 3: Push to HeyReach without silent failures
The HeyReach campaign has to exist before Clay can send to it. Create it in HeyReach with "Create empty list," set it active, then copy the Campaign ID.
Clay's required inputs are Campaign ID, first name, last name, and Professional URL. Sender account, company, and custom fields are optional; if no sender is chosen, leads get randomly assigned across connected accounts.
Two mistakes account for most broken LinkedIn campaigns:
- HeyReach uses single braces, {icebreaker}, not Clay's double-brace {{icebreaker}} format, and custom field names must match sequence variables exactly.
- Leads missing a first name, last name, or profile URL fail silently.
Clay reports Added, Updated, and Failed Lead counts after a push, so checking the Failed column catches both errors before they derail a campaign.
Volume has a hard ceiling underneath it, too. LinkedIn's user agreement prohibits automated software that sends messages or adds contacts on a member's behalf, and in March 2026, LinkedIn removed HeyReach's company page and restricted its executives' personal profiles; HeyReach has said customer accounts kept running throughout. HeyReach's own guidance caps connection requests per sender well under LinkedIn's broader limits, and recommends ramping a new sender gradually rather than running it at the ceiling from day one. The safer path is more senders at lower volume per sender, not one account pushed as hard as the platform allows. The channel also demands active monitoring: campaigns can fail to start cleanly, and sessions expire without warning.
Step 4: Route between channels and get it into HubSpot
The cross-channel routing runs in both directions. HeyReach's documented pattern is a connection request, a wait period, then adding non-accepters to an Instantly campaign; leads without an email can go to an Instantly list but not a full campaign. Instantly's automations can also trigger on HeyReach events, including a connection accepted or a reply received, and pause, resume, or tag a lead accordingly. HeyReach can likewise auto-pause an Instantly sequence the moment a lead replies on LinkedIn, closing the gap from the other direction. Neither tool offers one shared inbox across both channels; each Unibox only covers its own.
CRM sync is thinner than the marketing implies. Clay's HubSpot actions require the Growth plan; Salesforce support sits behind Clay's higher Enterprise tier. Instantly's native CRM sync covers HubSpot directly, but Salesforce isn't part of its native integration, which is a real gap. HeyReach's native HubSpot connector only updates a contact that already has an email on file, and it isn't retroactive. We've found running OutboundSync's webhooks alongside HeyReach's native connector duplicates activity, so pick one sync path for a given lead, not both.
What it returns and what it costs to keep running
For the $20K to $100K ACV SaaS teams Understory serves, platform-wide averages aren't a reliable forecast. Cold outbound should get judged on qualified opportunities from coordinated, relevant touches, not a generic reply-rate benchmark. For a Head of Growth coordinating paid media, outbound, and creative specialists, that means checking whether targeting, positioning, and follow-up tell the same story. For technical SaaS, the test is whether the sequence educates sophisticated buyers without demanding constant founder oversight.
Setup, in our experience, takes four to six weeks from zero domains, or about two weeks if you start from already-warmed inboxes. The real cost comes after launch, in the recurring work: monitoring inbox health, refreshing enrichment data, auditing attribution, and iterating copy and positioning. That work needs a clear owner rather than spare time from a founder or Head of Growth, and past about 50 inboxes, deliverability work gets difficult to manage without dedicated headcount. If you hire for it, GTM engineer postings carry a median base salary of $127,500.
Plenty of teams build this in-house and run it well. The ones who struggle tend to share a few traits: reply rates falling as volume rises, nobody on the team who can fix a waterfall or a burned domain, and email and LinkedIn running off different target lists entirely.
Run the Clay, Instantly, and HeyReach stack with Understory
Understory runs this exact stack for B2B SaaS clients: Clay waterfalls on signal triggers like a recent CRO hire, a funding round, or a tech-stack change, Instantly for email, HeyReach for LinkedIn, and HubSpot as the system of record, with OutboundSync filling the native sync gaps. Paid media and creative sit under the same team, so the prospect who gets your LinkedIn note sees the same positioning in the ad and the follow-up email. If paid media already lives with another partner, we can run the outbound side alongside them.
We built a comparable outbound system from scratch for Yofi, generating enough qualified leads that they had to pause the program to catch up on sales capacity.
Book a consultation and we'll walk through your current setup and where the handoffs are leaking.
Related Articles

Qualified pipeline, handled
Signal-based outbound that fills the funnel while your team closes.





