Claude Outreach Automation: Email and LinkedIn

How I use Claude for outreach automation across email and LinkedIn, with a skill our partnerships team runs and replies synced back into HubSpot.

I’ve been working on the cold email systems at Valur for a while now, and so far they’ve brought in 100+ leads. A customer who converts typically has an annual contract value of around $5k. It’s a machine that runs, and I mostly need to fuel it with prospects at this point. If you haven’t read how the infrastructure works, check out my earlier post on cold email outreach.

Now, how do I let our partnerships team use this for their own outreach?

So far, it had mostly been me and Claude Code, with my usual habit of setting everything up as scripts. I’m not a big fan of giving LLMs full write access to my data. I still prefer reviewing things and approving changes manually until I’m confident that the system works.

That setup worked for me, but I wanted the team to be able to run their outreach through Claude too.

But we recently started doing LinkedIn outreach, so the problem got a little complicated. Now I had to coordinate cold emails in Instantly with LinkedIn campaigns in HeyReach, then get the activity back into HubSpot to stop outreach on both platforms when a lead showed interest.

Letting the team run outreach with Claude

I still take care of finding the right people to target. That has its own tooling at this point. After I find the contacts, I import them into HubSpot as a segment. ZeroBounce validates the email addresses as soon as I add the contacts to the segment. So the partnerships team’s starting point is a validated, cleaned-up list of contacts.

Once this is done, the team uses Claude to research the prospects’ LinkedIn profiles and any other data they can find to draft a customized email and LinkedIn message for each lead. And no, these aren’t the emails that say, “Hey Rob, saw you liked this post, blah blah.” That’s not what personalization means here. The messaging should reflect why we’re reaching out and include a strong offer! I’m not going into email copy since that’s not the scope of this blog. The team then reviews the email and LinkedIn message and pushes the leads into the appropriate Instantly and HeyReach campaigns.

We currently run three campaigns across both HeyReach and Instantly with different sending accounts. We want the LinkedIn connection request and first email to go out on the same day.

This means that the campaign schedules need to line up, and the contacts need to be assigned to the right sending accounts on both tools.

All this is now part of a Claude skill, which holds the instructions to run the workflow.

So the team just needs to say something like, “Pick the next 30 leads and draft the messages,” then review them. This used to take around 30 to 40 minutes per batch. Now it takes less than five minutes.

How the outbound systems connectZeroBounce validates contacts in HubSpot. The Claude skill prepares outreach for human review and enrollment in Instantly and HeyReach. OutboundSync sends activity from both tools back to HubSpot. Positive intent in HubSpot feeds a custom script that stops cold outreach in both tools. The partnerships team replies directly in Instantly and HeyReach.preparereview + enrollpositive intentstop outreachsends + repliessync to CRMHubSpotContacts + activityZeroBounce validationClaude skillResearch + draftsCustom scriptUpdate suppression listsInstantlyEmailHeyReachLinkedInOutboundSyncActivity sync

Getting the replies back into HubSpot

Now the tricky part! When a lead replies positively on LinkedIn, how do I get Instantly to stop emailing them? And similarly, how do I stop sending LinkedIn messages and follow-ups when they respond positively on Instantly? I needed a way to get positive-intent data from both platforms into HubSpot.

HeyReach could populate properties back into HubSpot, but Instantly’s integration wasn’t syncing the data back into HubSpot properly. My options were looking like a custom script or a bunch of wired-up Zapier workflows. Then I found OutboundSync, which could sync activity from both platforms into HubSpot.

This took care of recording sends and replies as activities and updating properties on the HubSpot contact record.

This gave me the data to stop outreach on one platform when a lead responded positively on the other.

It also gave the entire org context on the lead. When they open the contact record in HubSpot, they can see what messages we’ve already sent and where the person replied, without needing to look them up in both platforms.

Once the lead’s positive-reply status reaches HubSpot, a script I wrote adds the lead to a warm contacts list I created in Instantly and removes them from the active campaign. In HeyReach, it moves the contact to a blacklist. Both lists suppress further messages to the contact. These contacts also get added to a warm contacts segment in HubSpot, making HubSpot our source of truth for all operations.

The partnerships team replies to positive responses directly in HeyReach and Instantly. From there, they handle the conversations and work on converting each marketing qualified lead into a sales qualified lead.

Letters, occasionally.