Two systems. One contact record.
Both think they own it.

HubSpot runs your business development, the ATS runs everything else, and somewhere in the middle the same contact exists twice. Stack Logic builds the sync that decides which system wins, field by field, so consultants and marketing work from one version of the truth.

Two systems. One contact record.
Both think they own it.

HubSpot runs your business development, the ATS runs everything else, and somewhere in the middle the same contact exists twice. Stack Logic builds the sync that decides which system wins, field by field, so consultants and marketing work from one version of the truth.

Source of truth

Left alone, the two databases drift apart.

HubSpot is rarely the only system in a recruitment agency, which is where the trouble starts.

The ATS holds candidates and placements, HubSpot holds the business development and marketing side, and both of them think they own the contact record.

Left alone this produces two versions of the same client contact, a marketing team working from a list the consultants have already updated, and a BD pipeline that does not reconcile with the ATS at the end of the month.

The fix is an explicit decision about which system wins for each field, made once and enforced by the sync, rather than a cleverer way of copying fields between the two. That decision is most of the work. It is also the part generic integration tools skip.

Source of truth

Left alone, the two databases drift apart.

HubSpot is rarely the only system in a recruitment agency, which is where the trouble starts.

The ATS holds candidates and placements, HubSpot holds the business development and marketing side, and both of them think they own the contact record.

Left alone this produces two versions of the same client contact, a marketing team working from a list the consultants have already updated, and a BD pipeline that does not reconcile with the ATS at the end of the month.

The fix is an explicit decision about which system wins for each field, made once and enforced by the sync, rather than a cleverer way of copying fields between the two. That decision is most of the work. It is also the part generic integration tools skip.

What I build

What a HubSpot build actually looks like.

HubSpot's own workflows handle a good share of what an agency needs and I use them where they fit. Beyond that the work moves into the API, usually because a record needs to be matched on something other than an email address, or because the sync has to make a decision rather than copy a field. Every build starts with the ownership question settled on paper before anything touches a live record.

ATS sync

One-way or two-way sync with Bullhorn, Vincere or JobScience, with field-level ownership agreed up front rather than a general aspiration that the systems will stay in step. JobScience needs particular care because its candidates live in Salesforce custom objects that standard connectors do not reach.

Deal pipelines that match how you sell

Pipelines built around how the agency actually wins work, including the stages people currently track in a spreadsheet because the default pipeline does not support them. Retained, contingency and contract business rarely belong in one pipeline, so they do not share one.

Candidate and client marketing

Marketing that respects consent and knows what the consultants are doing, so nobody is sent a newsletter three days after being placed. Lists build themselves from ATS activity rather than from an export somebody refreshes when they remember.

Reporting that pulls from both systems

The numbers in the board pack come from one calculation rather than two people exporting to Excel on the last Friday of the month. BD activity from HubSpot, placements from the ATS, reconciled in one place with the differences explained rather than hidden.

What I build

What a HubSpot build actually looks like.

HubSpot's own workflows handle a good share of what an agency needs and I use them where they fit. Beyond that the work moves into the API, usually because a record needs to be matched on something other than an email address, or because the sync has to make a decision rather than copy a field. Every build starts with the ownership question settled on paper before anything touches a live record.

ATS sync

One-way or two-way sync with Bullhorn, Vincere or JobScience, with field-level ownership agreed up front rather than a general aspiration that the systems will stay in step. JobScience needs particular care because its candidates live in Salesforce custom objects that standard connectors do not reach.

Deal pipelines that match how you sell

Pipelines built around how the agency actually wins work, including the stages people currently track in a spreadsheet because the default pipeline does not support them. Retained, contingency and contract business rarely belong in one pipeline, so they do not share one.

Candidate and client marketing

Marketing that respects consent and knows what the consultants are doing, so nobody is sent a newsletter three days after being placed. Lists build themselves from ATS activity rather than from an export somebody refreshes when they remember.

Reporting that pulls from both systems

The numbers in the board pack come from one calculation rather than two people exporting to Excel on the last Friday of the month. BD activity from HubSpot, placements from the ATS, reconciled in one place with the differences explained rather than hidden.

Is this you?

We should talk if...

You run a recruitment agency, HubSpot arrived after the ATS did, and some version of the following is true.

The consultants and the marketing team are working from different versions of the same contact.

Deals close in HubSpot that never quite reconcile with placements in the ATS.

Somebody was asked to tidy the data last year, and the tidying did not survive contact with the next quarter.

None of that means you bought the wrong software. It means nobody ever decided which system owns what, and both have been guessing.

Is this you?

We should talk if...

You run a recruitment agency, HubSpot arrived after the ATS did, and some version of the following is true.

The consultants and the marketing team are working from different versions of the same contact.

Deals close in HubSpot that never quite reconcile with placements in the ATS.

Somebody was asked to tidy the data last year, and the tidying did not survive contact with the next quarter.

None of that means you bought the wrong software. It means nobody ever decided which system owns what, and both have been guessing.

How it works

Every process goes through the same three steps.

Discovery

A focused look at how HubSpot and your ATS are configured, where the same data lives twice, and which processes cross between the two. We agree field ownership, matching rules and the priority order before anything is built. This takes a week.

Discovery

A focused look at how HubSpot and your ATS are configured, where the same data lives twice, and which processes cross between the two. We agree field ownership, matching rules and the priority order before anything is built. This takes a week.

Build

I build the sync and the workflows we have agreed, using HubSpot's native tools where they fit and the API where they do not. Nothing writes to a live record until the matching has been tested against your real data, and everything is documented as it is built. Typically two to four weeks depending on scope.

Build

I build the sync and the workflows we have agreed, using HubSpot's native tools where they fit and the API where they do not. Nothing writes to a live record until the matching has been tested against your real data, and everything is documented as it is built. Typically two to four weeks depending on scope.

Handover

You get a working sync, documentation that records which system wins for every field, and a walkthrough of how it all fits together. I stay available for 30 days post-launch. After that, retainer support is available if you want someone keeping an eye on it.

Handover

You get a working sync, documentation that records which system wins for every field, and a walkthrough of how it all fits together. I stay available for 30 days post-launch. After that, retainer support is available if you want someone keeping an eye on it.

what clients say

But don't just take it from me.

We bring Jack in whenever we need serious Bullhorn Automation expertise. He takes our most tangled requirements and turns them into clean automations that just work, and he's become our go-to second pair of eyes whenever a build needs sense-checking. It's clear he has a deep understanding of Bullhorn and the recruitment industry as a whole. Overall, he's saved us hours of build time.

Kathy Walker, Fractional Marketing Director & Co-Founder, JK&Co.

We’ve had the pleasure of working with Jack across several projects and have consistently been impressed with the quality of work delivered. Communication is always clear, deadlines are met without issue, and there's a strong sense of accountability and transparency throughout. What stands out most is the flexibility to adapt to varying requirements while maintaining a high standard of execution.

Tina Tucker, Marketing Account Director, Thrive Recruitment Marketing

what clients say

But don't just take it from me.

We bring Jack in whenever we need serious Bullhorn Automation expertise. He takes our most tangled requirements and turns them into clean automations that just work, and he's become our go-to second pair of eyes whenever a build needs sense-checking. It's clear he has a deep understanding of Bullhorn and the recruitment industry as a whole. Overall, he's saved us hours of build time.

Kathy Walker, Fractional Marketing Director & Co-Founder, JK&Co.

We’ve had the pleasure of working with Jack across several projects and have consistently been impressed with the quality of work delivered. Communication is always clear, deadlines are met without issue, and there's a strong sense of accountability and transparency throughout. What stands out most is the flexibility to adapt to varying requirements while maintaining a high standard of execution.

Tina Tucker, Marketing Account Director, Thrive Recruitment Marketing

what clients say

But don't just take it from me.

We bring Jack in whenever we need serious Bullhorn Automation expertise. He takes our most tangled requirements and turns them into clean automations that just work, and he's become our go-to second pair of eyes whenever a build needs sense-checking. It's clear he has a deep understanding of Bullhorn and the recruitment industry as a whole. Overall, he's saved us hours of build time.

Kathy Walker, Fractional Marketing Director & Co-Founder, JK&Co.

We’ve had the pleasure of working with Jack across several projects and have consistently been impressed with the quality of work delivered. Communication is always clear, deadlines are met without issue, and there's a strong sense of accountability and transparency throughout. What stands out most is the flexibility to adapt to varying requirements while maintaining a high standard of execution.

Tina Tucker, Marketing Account Director, Thrive Recruitment Marketing

Book a Call

Book a Diagnostic Call

The diagnostic call is 30 minutes. You tell me what your HubSpot and ATS setup looks like and where the two disagree, and I'll tell you honestly what is worth building, what HubSpot can already do on its own, and what I'd tackle first. If a native feature or an existing connector does the job, you'll hear that instead of a quote.

Trusted by SMEs from Recruitment and HR to Marketing, Finance and Tech.

frequently asked questions

Common questions answered

Can you sync HubSpot with Bullhorn, Vincere or JobScience?

Yes, and it is most of what I am asked to do in HubSpot. Bullhorn and Vincere both have workable APIs. JobScience is the awkward one, because it is built on Salesforce but keeps candidates and applications in custom objects, so standard Salesforce connectors do not reach them. The build works against those objects directly. In every case the sync starts from an agreed answer to which system wins for each field, because without that you are just moving the mess around faster.

Can you sync HubSpot with Bullhorn, Vincere or JobScience?

Yes, and it is most of what I am asked to do in HubSpot. Bullhorn and Vincere both have workable APIs. JobScience is the awkward one, because it is built on Salesforce but keeps candidates and applications in custom objects, so standard Salesforce connectors do not reach them. The build works against those objects directly. In every case the sync starts from an agreed answer to which system wins for each field, because without that you are just moving the mess around faster.

Why not just use a marketplace connector?

If one fits, use it, and I will tell you when it does. Connectors are built for the average case: contacts in, contacts out, matched on email address. They tend to stop at the parts specific to your agency, which usually means field ownership, matching records that have no shared email, and anything involving placements. Those are the parts that were causing the trouble in the first place.

Why not just use a marketplace connector?

If one fits, use it, and I will tell you when it does. Connectors are built for the average case: contacts in, contacts out, matched on email address. They tend to stop at the parts specific to your agency, which usually means field ownership, matching records that have no shared email, and anything involving placements. Those are the parts that were causing the trouble in the first place.

Can you stop marketing emailing people we have just placed?

Yes, and it is a sync problem rather than a marketing problem. The ATS knows about the placement and HubSpot does not, so the fix is a timely signal from one system to the other that updates list membership and consent status. Once that signal exists, the suppression itself is ordinary HubSpot list logic. Without it, the marketing team is working blind and taking the blame for it.

Can you stop marketing emailing people we have just placed?

Yes, and it is a sync problem rather than a marketing problem. The ATS knows about the placement and HubSpot does not, so the fix is a timely signal from one system to the other that updates list membership and consent status. Once that signal exists, the suppression itself is ordinary HubSpot list logic. Without it, the marketing team is working blind and taking the blame for it.

We already use HubSpot workflows. Do you replace them?

No. HubSpot's native workflows handle a good share of what an agency needs and I build with them where they fit. The work moves into the API when a record needs matching on something other than an email address, or when the sync has to make a decision rather than copy a field. Ripping out working native tooling to replace it with custom code is how budgets disappear.

We already use HubSpot workflows. Do you replace them?

No. HubSpot's native workflows handle a good share of what an agency needs and I build with them where they fit. The work moves into the API when a record needs matching on something other than an email address, or when the sync has to make a decision rather than copy a field. Ripping out working native tooling to replace it with custom code is how budgets disappear.

Are you a HubSpot partner?

No, I work independently. Partner programmes reward licence sales, and advice tends to follow the incentive. I do not sell HubSpot seats, so if the honest answer is that you are paying for a tier you do not need, or that the feature you are considering will not fix the problem, that is the answer you will get.

What does it cost?

It depends on how many systems are involved and how much of the data needs untangling first. A clean one-way sync sits at the lower end. A two-way sync with cross-system reporting is a bigger piece of work. Custom builds start at £3,000, fixed price and phased, so you can stop after a phase if it is not working out. The diagnostic call is free.

What does it cost?

It depends on how many systems are involved and how much of the data needs untangling first. A clean one-way sync sits at the lower end. A two-way sync with cross-system reporting is a bigger piece of work. Custom builds start at £3,000, fixed price and phased, so you can stop after a phase if it is not working out. The diagnostic call is free.

See where your team's time is going.

It starts with a short audit of your stack. I'll show you where consultant and back-office hours are leaking, and what it would take to get them back.

Systems That Scale.

© 2026 Stack Logic. All rights reserved.
Here's our privacy policy.

See where your team's time is going.

It starts with a short audit of your stack. I'll show you where consultant and back-office hours are leaking, and what it would take to get them back.

Systems That Scale.

© 2026 Stack Logic. All rights reserved.
Here's our privacy policy.