Skip to content

Customer connections

Pull your customer list from a CRM or ERP over REST, mapped once and refreshed every night or when you ask.

Updated 23 September 2026

Why
Your customer list already lives in a CRM or an ERP, and keeping a second copy in step by hand is where mistakes start.
How
Set it up on the Custom REST connection entry, or on a Template entry such as HubSpot that carries the recipe for that system.

Set one up

  1. Step 1.

    In /app/settings/integrations, open Custom REST connection and choose New connection. It needs the admin role.

  2. Step 2.

    Give the Base URL and Endpoint path. Pick Authentication: Bearer token, Basic (user:pass) or Custom header (the header name defaults to x-api-key). The credential is stored encrypted.

  3. Step 3.

    Set the Records path to the array inside the response, such as data.customers, or leave it empty when the response is the array.

  4. Step 4.

    Press Test fetch to see a sample record, then fill the Field map with dotted paths: Company field (required), Email field, Phone field and External ID field.

  5. Step 5.

    Choose the Schedule, Daily or Manual, and Save connection.

The source answers one GET request with JSON. There is no paging: the whole list comes back in one response.

How records merge

  1. By external id, when you mapped one. It survives a company being renamed.
  2. Otherwise by the email domain of the mapped email.

A match updates the customer's company name and email domain. No match creates a customer, with the email or phone as its primary contact. A record with no company is skipped.

A connection never deletes. A customer missing from the source stays in Kabaido until you remove it, and deleting the connection keeps every customer it brought in.

Running and watching

Daily connections run in the overnight sync; Run now runs one at once. Each run gives the source 20 seconds. A run that cannot fetch or read the list records its error on the connection and changes no customer.

A failed Run now marks the connection as errored, and the overnight sync skips it until you save it again.

If your system cannot be reached from the internet, reverse the direction: an inbound endpoint set to Upsert customers merges by the same rules.