Skip to main content

Customer Event

The customer event fires every time a customer record is created or updated in myKaarma. The payload mirrors the response from the myKaarma Customer API. Full field documentation for customerWithVehicles is also available here.

Important Notes

  • Customer events are pushed via an indexer job that runs once per second.
  • If a customer is updated multiple times within one second, you will receive a single event with the final state.

Field Reference

payloadTop-level payload for the customer event.
customerWithVehicles
object
Customer information and associated vehicles.
customer
object
Core customer profile — name, contact preferences, emails, and phone numbers.
customerUuid
string
customerKey
stringnullable
firstName
string
middleName
string
lastName
string
company
stringnullable
isBusiness
boolean
preferredLocale
string
preferredCommunication
enum
emails[]
array
phoneNumbers[]
array
availability
number
vehicles[]
arraynullable
addresses[]
arraynullable
{
  "id": "a7b9c1d3-e5f7-4891-ab23-cd45ef678901",
  "timestamp": 1728542293678,
  "dealeruuid": "7c1e5a9f3b7d1e5a9c3e7b1f5d9a3c7e1b5f9d3a7c1e5b9f3d7a1c5e9b3f7d1",
  "departmentuuid": "3a7f1c9e2b5d8f0a4c6e9b1d3f5a7c0e2b4d6f8a1c3e5b7d9f0a2c4e6b8d0f2",
  "type": "customers",
  "payload": {
    "customerWithVehicles": {
      "customer": {
        "customerUuid": "Wq7nJhXtGpBmNd3KvRzYf2kAcEiLoU8sTPeCbHwOyM1",
        "customerKey": null,
        "firstName": "myKaarma",
        "middleName": "",
        "lastName": "Testing",
        "company": null,
        "isBusiness": false,
        "preferredLocale": "en-us",
        "preferredCommunication": "text",
        "emails": [
          {
            "emailAddress": "mykaarma.testing@gmail.com",
            "label": "home",
            "okToEmail": true,
            "isPreferred": true
          }
        ],
        "phoneNumbers": [
          {
            "phoneNumber": "+13108170196",
            "label": "cell",
            "okToCall": true,
            "okToText": true,
            "isPreferred": true
          }
        ],
        "availability": 1
      },
      "vehicles": [
        {
          "vehicleUuid": "Pr5jFwQmZnBt8kXaHdV3uI0yDgCeLsR6NvOcTpKqY4f",
          "vehicleKey": null,
          "vin": "1GD312CG0BF081737",
          "vehicleMake": "GMC",
          "vehicleModel": "Sierra 3500HD",
          "vehicleYear": "2011",
          "vehicleTrim": "Work Truck Long Box 2WD",
          "vehicleEngine": "6.0L V8 OHV 16V FFV",
          "isValid": true
        }
      ],
      "addresses": [
        {
          "type": "PRIMARY",
          "addressType": "P",
          "line1": "123 Main St",
          "line2": null,
          "zip": "90210",
          "state": "CA",
          "country": "USA",
          "isValid": true,
          "isPreferred": false
        }
      ]
    }
  }
}
note

In the actual webhook delivery, payload is a stringified JSON string (not an object). The example above shows it as a parsed object for readability.

How to Test a Customer Event

  1. Login to https://app.mykaarma.com using the user credentials provided to you.

  2. In the Customer tab, click on NEW button:

    New Customer Button
  3. Fill in the fields in the Add Customer Dialog and click Save. You should receive an event on your webhook URL for this customer creation:

    New Customer Dialog
  4. In the Customer tab, search for and select the customer you want to edit:

    Search Customer
  5. Click on the EDIT button:

    Edit Customer Button
  6. Fill in/update the fields in the Edit Customer Dialog and click Save. You should receive an event on your webhook URL for this customer update:

    Edit Customer Dialog

FAQ

Are customer events 1:1 in terms of customer updates?

Not always, the indexer job runs once per second, so multiple updates within one second produce a single event with the final state.