Apps and software

HubSpot integration

When the thing you sell isn't a contact, a company, a deal or a ticket, you either bend the standard objects until reporting breaks, or model it properly.

The short answer

HubSpot integration connects the CRM to the systems holding the rest of your business: billing, your product, your support desk and your own software. The work is custom objects, two way sync with clear field ownership, and API services that keep both sides honest.

What the work usually covers

  • Custom object design, with associations to contacts, companies and deals.
  • Two way sync with field level ownership agreed before anything is built.
  • Billing data pushed in, so sales sees what finance sees.
  • Product or job data on the record, not in a separate tool.
  • Webhook handling with retries, logging and a replay path.
  • Migration and deduplication where records exist in both systems.

Custom objects, and how to tell whether you need one

HubSpot models four things well: contacts, companies, deals and tickets. If you sell a straightforward B2B service, that's enough, and structure you don't need is its own mess.

Then there are businesses where the central thing is none of those. A property. A vehicle. A participant. A shipment. It has its own attributes and status, and it existed before any deal.

What people do instead, and when it breaks

Two workarounds are common. Make each one a deal, so every property becomes a pipeline record. Or bolt thirty fields onto the contact and hope nobody has two.

Both hold for a quarter. Then pipeline value counts things that aren't revenue and the forecast becomes fiction. Deal stages describe a lifecycle they were never meant to. A contact with three vehicles becomes three duplicates, or one record with vehicle one, two and three fields no report can group. It surfaces in reporting, usually after someone acted on those numbers.

How to decide

Four questions. Does it have its own attributes and status, separate from the person? Does one contact need several of them, or one of them need several contacts? Do you report on them as a set? Does it exist independently of a deal?

Mostly yes means a custom object. Mostly no means properties on an existing record, and an object would be over engineering. One constraint: custom objects sit on the higher HubSpot tiers, so it's a licensing decision too. Without the tier, keep the object in your own database and sync a summary in.

Two way sync, and who owns each field

Two way sync sounds like a feature. It's a set of decisions, and the one that matters is field level ownership.

For every field living in both systems, one is the source of truth. Not both. If billing owns the plan and renewal date, HubSpot receives them, nobody edits them there, and the field is read only so a salesperson can't quietly correct it. If HubSpot owns lifecycle stage, billing never writes it back.

Get that wrong and you get the classic failure: both systems writing the same field, each triggering the other's webhook, and last write wins deciding your data. Two more decisions belong here. Match on a stable ID rather than email, because people change jobs and share inboxes. And decide what a delete means, because deleted in one system usually means archived in the other.

How the work runs

  1. Model the data

    The objects, their associations, who owns each field.

  2. Scope and price

    Fixed number, dates in writing, and what phase two covers.

  3. Build

    Objects, sync service, webhooks and logging, tested on real records.

  4. Hand over

    Documentation, monitoring and a way to replay a failure.

Who this suits, and who it doesn't

It suits businesses whose core record isn't a deal, teams where sales and finance quote different numbers, and anyone whose reporting isn't trusted.

It doesn't suit a business that needs one form to create a contact. That's configuration, not a build. And it won't rescue a CRM nobody updates, because sync doesn't create discipline.

Why build it with us

We model the data first.

Most sync problems are modelling problems that surface later as bugs.

The marketing team is in the same office.

Whoever runs your campaigns through marketing works off the same records, so the properties they segment on are built for it.

No lock in contracts.

You own the portal, the data and the code.

"Can't an off the shelf connector do this?"

Sometimes, and if one fits we'll say so rather than quote a build. Connectors handle standard objects and fields. Custom objects, conditional ownership and replay paths are where they run out.

FAQs

Frequently asked questions

Still wondering about something? Call 07 3067 8910 or 0425 879 379, mon to fri, 8:30am to 5:30pm.

  • Properties are enough when the thing belongs to one contact and isn't reported on as a set.

Tell us what your business actually tracks

Book a scoping call. Describe the thing your business revolves around and we'll say whether it belongs in a custom object, on the contact, or in your database.

Book a scoping call Contact the team

Ready for a website that brings in work?

Tell us what you need and we'll show you how we'd approach it. No pressure, just a straight answer about what will work for your business.