> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yourhomie.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Events

> Vom homie-Embed ausgelöste Browser-Events.

Das Embed löst `CustomEvent`s auf `window` aus, damit du ohne Polling auf Lebenszyklus und Interaktion reagieren kannst. Jedes Event enthält `{ chatbotId }` in `event.detail`. Für nahezu alle Integrationen reichen diese Events zusammen mit den [Methoden](/de/api-reference/client/methods) aus.

## Browser-Events

| Event                      | Wann es ausgelöst wird                                      | `event.detail`  |
| -------------------------- | ----------------------------------------------------------- | --------------- |
| `homiebot:api-ready`       | `window.homieBot` ist verfügbar                             | `{ chatbotId }` |
| `homiebot:assistant-ready` | Das Chat-Iframe ist bereit für `sendMessage` / `getHistory` | `{ chatbotId }` |
| `homiebot:opened`          | Das Chat-Widget wurde geöffnet                              | `{ chatbotId }` |
| `homiebot:closed`          | Das Chat-Widget wurde geschlossen                           | `{ chatbotId }` |

<Note>
  `homiebot:opened` und `homiebot:closed` werden bei jeder Öffnen-/Schließen-Aktion ausgelöst — über den
  Launcher-Button, die Willkommens-Bubbles, `window.homieBot.open()` / `.close()` / `.toggle()` sowie über Aktionen aus
  dem Chat heraus.
</Note>

### Auf die API hören

Wird ausgelöst, sobald `window.homieBot` nutzbar ist.

```js theme={null}
window.addEventListener('homiebot:api-ready', (e) => {
  const { chatbotId } = e.detail;
  console.log('homie API ready', chatbotId);
  window.homieBot.open();
});
```

### Auf den Assistenten hören

Wird ausgelöst, sobald das Iframe für `sendMessage` und `getHistory` bereit ist.

```js theme={null}
window.addEventListener('homiebot:assistant-ready', () => {
  window.homieBot.sendMessage({ text: 'Hello', newChat: false });
});
```

### Öffnen und Schließen tracken

Nützlich, um Interaktionen an Analytics weiterzugeben.

```js theme={null}
window.addEventListener('homiebot:opened', (e) => {
  window.dataLayer?.push({ event: 'homie_chat_opened', chatbotId: e.detail.chatbotId });
});

window.addEventListener('homiebot:closed', (e) => {
  window.dataLayer?.push({ event: 'homie_chat_closed', chatbotId: e.detail.chatbotId });
});
```
