All work

B2B engineering services · June 2026 to present

Building an ABM engine from zero, with AI doing the research

Personalise properly and you cannot scale. Scale and you go generic. The fix was in the data layer, not the copy.

Client B2B engineering services firm
Role Program owner, systems architect
Scale 1,000+ accounts researched, 50 selected

Company context

A B2B engineering services firm, engineering-led digital transformation across devices, data and digital. No ABM program, no Apollo instance and no account research process when I started.

My role

Program owner and systems architect. I own the structure and build the tooling that runs it.

How it runs

Six executable skills rather than a slide deck. AI does research volume and drafting. It does not decide what is true, and it does not define done.

Integrations

Apollo via MCP · Context Center · custom fields and sequences · HubSpot · LinkedIn Campaign Manager · Claude Code with six custom skills · Google Drive MCP · GA4 and GTM

Two limits found by inspection, not documentation: no field-creation endpoint in the Apollo MCP, and updating a contact with label names wipes list membership instead of appending to it.

The call worth naming

I audit the vendor's AI as well as my own.

Apollo's Context Center had auto-generated a generic data-engineering profile. Dental named once in a list of eight industries, anti-personas null, proof points quoting a procurement engagement meaningless to a dental buyer. Every AI-written outbound email drew from it. Rewritten field by field.

Results

Want this for your company?

If your outbound is personalised by hand and therefore does not scale, or scaled and therefore reads like mail merge, the fix is usually in the data layer rather than the copy. That is the problem I would start with.