---
updatedAt: 2026-02-25T12:57:11.000Z
---

# KustomerCore.init()

Initializes chat by fetching your chat settings and business schedules.

[block:callout]
{
  "type": "success",
  "title": "First, initialize chat",
  "body": "You must initialize with `KustomerCore.init()` before you can execute any additional Core SDK methods"
}
[/block]

## Examples

[block:code]
{
  "codes": [
    {
      "code": "// Initialize chat\nKustomerCore.init();\n\n\n// Initialize chat with options and then fetch conversations\nKustomerCore.init({\n  brandId: 'SOME_BRAND_ID',\n  scheduleId: 'SOME_SCHEDULE_ID'\n}, function (chatSettings) {\n  console.log(chatSettings);\n\n  KustomerCore.getConversations();\n});\n",
      "language": "javascript",
      "name": "Code samples: Kustomer.start() "
    }
  ]
}
[/block]

## Syntax

[block:code]
{
  "codes": [
    {
      "code": "KustomerCore.init(options, function(callbackResponse, error))",
      "language": "javascript",
      "name": "JavaScript syntax: Kustomer.start() "
    }
  ]
}
[/block]

[block:parameters]
{
  "data": {
    "h-0": "Parameter",
    "h-1": "Type",
    "0-0": "options",
    "0-1": "Object",
    "1-0": "function(callbackResponse, error)",
    "1-1": "Function",
    "h-2": "Description",
    "0-2": "**Optional**\n\nThese are options that you can pass in to modify how your chat initializes. All possible options are listed below.",
    "1-2": "**Optional** \n\nA callback that is run after `Kustomer.init()` completes.\n\n**callbackResponse** is an object returned to the callback function. See the `callbackResponse` section below to see the properties of the object.\n\n**error** is either `undefined` or a native JavaScript Error object."
  },
  "cols": 3,
  "rows": 2
}
[/block]

### `options`

[block:parameters]
{
  "data": {
    "0-0": "brandId",
    "h-0": "Property",
    "h-1": "Type",
    "0-1": "string",
    "h-2": "Description",
    "0-2": "**Optional**\n\nBy passing in a `brandId` you can override the default brand setting in your Kustomer Chat Settings.",
    "1-0": "scheduleId",
    "1-1": "String",
    "1-2": "**Optional**\n\nBy passing in a `scheduleId`, you can override the default schedule setting in your Kustomer Chat Settings.",
    "2-0": "assistantId",
    "2-1": "String",
    "2-2": "**Optional**\n\nBy passing in an `assistantId`, you can override the default assistant setting in your Kustomer Chat Settings."
  },
  "cols": 3,
  "rows": 3
}
[/block]

### `callbackResponse`

[block:parameters]
{
  "data": {
    "h-0": "Property",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "settings",
    "0-1": "Object",
    "0-2": "**Required**\n\nThis is your Kustomer instance's chat settings, containing properties like your `teamName` and `teamIconUrl`. A sample `settings` object is shown below."
  },
  "cols": 3,
  "rows": 1
}
[/block]

### settings

[block:code]
{
  "codes": [
    {
      "code": "{\n  activeAssistant: \"SOME_ASSISTANT_ID\",\n  brandId: \"SOME_BRAND_ID\",\n  closableChat: true,\n  colors: {},\n  embedIconColor: \"#6e89a0\",\n  embedIconUrl: \"SOME_ICON_URL\",\n  teamIconUrl: \"SOME_URL\",\n  teamName: \"Gap\",\n  greeting: \"Greetings!\",\n  knowledgeBaseId: \"SOME_KB_ID\",\n  noHistory: false,\n  offhoursImageUrl: \"SOME_URL\",\n  offhoursMessage: \"SOME_URL\",\n  showBrandingIdentifier: true,\n  singleSessionChat: false,\n  volumeControl: {\n    enabled: true,\n    followUpChannels: [],\n    hideWaitOption: false,\n    markDoneAfterTimeout: true,\n    mode: \"upfront\",\n    promptDelay: 60,\n    timeout: 300,\n    upfrontWaitThreshold: 60,\n    useDynamicWaitMessage: false\n  },\n  waitMessage: \"Wait Message\",\n  widgetType: \"chat-kb\",\n}",
      "language": "javascript"
    }
  ]
}
[/block]