# Turn Kustomer customers into HubSpot contacts automatically

> The moment support creates or updates a customer in Kustomer, their details land on the matching HubSpot contact, with no duplicates and no retyping.

- Workflow type: code
- Services: Kustomer, HubSpot
- Categories: Operations, Customer Support
- Published: 2026-08-07

## What it does

- Reacts the moment your support team creates or updates a customer in Kustomer, instead of waiting for a nightly sync.
- Looks that person up in HubSpot by email address first, so you end up with one clean record rather than a pile of duplicates.
- Creates the contact if they are new, or refreshes the existing one with their latest name, phone and company.
- Stamps each HubSpot contact with its Kustomer reference, so the two records stay linked for every future update.

## What you'll need

- A Kustomer account with admin access, so customer created and updated events can be sent to this workflow.
- A HubSpot account where you can create and edit contacts.
- One spare HubSpot contact property to hold the Kustomer reference. A short text field is all it takes.

## Prompt

I want the people my support team talks to in Kustomer to exist in our HubSpot CRM without anyone retyping them.

Trigger this with a webhook subscribed to Kustomer's customer created and customer updated events (kustomer.customer.create and kustomer.customer.update). The webhook payload tells us which customer changed.

First, load the full record using the Kustomer Get Customer by ID operation with the customer id from the webhook payload. Kustomer responses use a JSON:API envelope, so the fields to read live under data.attributes.

Take the customer's primary email address. If the customer has no email address at all, stop and do nothing. There is nothing to match on in HubSpot, and I would rather skip the record than create a contact we cannot deduplicate later.

Then look for an existing HubSpot contact with that email using Search Contacts, filtering on the email property. If there is no match, file a new one with Create Contact. If there is a match, patch the existing record with Update Contact using the HubSpot contact id returned by the search.

Map a fixed set of fields and do not infer or invent any values: first name, last name, primary email, primary phone and company. Also write the Kustomer customer id onto a dedicated HubSpot contact property, for example kustomer_customer_id, so the two records stay linked and future runs can tell where the contact came from.

Two rules matter. Skip any Kustomer customer that has no email address, because there is nothing to match on. And never overwrite a populated HubSpot field with an empty Kustomer value: when a value is missing or blank in Kustomer, leave the existing HubSpot value exactly as it is and only send the fields that actually carry a value.

Keep the mapping explicit and deterministic. Every step here is a known operation over structured fields, so nothing in this workflow needs judgement or generated text.

## How to customize

- Change which details carry across. Name, email, phone and company are mapped out of the box, and you can add your own fields to the list.
- Narrow down who is worth syncing, for example only customers who have a company name against them.
- Switch the matching rule if your team recognizes people by something other than their email address.

## FAQ

### Will this create duplicate contacts in HubSpot?

No. Every run searches HubSpot for an existing contact with the same email address before it writes anything, and only creates a new contact when there is genuinely no match.

### What happens to Kustomer customers who have no email address?

They are skipped on purpose. Without an email there is nothing reliable to match on in HubSpot, so the workflow leaves your CRM untouched rather than guessing and creating a record you cannot clean up later.

### Could this wipe out details we already have in HubSpot?

No. If a field is blank in Kustomer, the workflow leaves whatever is already in HubSpot exactly as it is. It only ever fills in or refreshes fields that actually have a value behind them.

### Does this work on HubSpot Free?

Yes. It uses standard contact records, which come with every HubSpot plan including the free CRM. You just need room to add one custom contact property to store the Kustomer reference.

### How quickly does a change in Kustomer show up in HubSpot?

Within moments. Kustomer tells the workflow as soon as a customer is created or updated, so sales and success see the same details support is looking at.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-kustomer-customers-into-hubspot-contacts-automatically