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.
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.
What does this prompt do?
- 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 do I need to use this?
- 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.
How can I customize it?
- 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.
FAQs
Will this create duplicate contacts in HubSpot?
What happens to Kustomer customers who have no email address?
Could this wipe out details we already have in HubSpot?
Does this work on HubSpot Free?
How quickly does a change in Kustomer show up in HubSpot?
Related templates
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
When a HubSpot deal hits Closed Won, the customer's plan, seats and renewal dates land in your DynamoDB accounts table, with a Slack note showing what changed.
When a deal moves to closed won in HubSpot, we find or create the customer in Zoho Books, draft the invoice, and tell finance in Slack.
The moment someone finishes your win-loss survey, their answers land as a short note on the deal they belong to, not in a dashboard nobody opens.
Stop retyping support customers into your CRM.
Every person your support team talks to in Kustomer shows up in HubSpot, complete and up to date, without anyone copying fields across.