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

# Widget

> Chats, visitor details and messages from the chat widget on your website.

## Overview

The widget is the chat window on your own website. Three triggers cover what
visitors do in it.

`widget.conversation.started` fires when a visitor starts a new chat.
`widget.visitor.identified` fires when a visitor gives their name, email or
phone. `widget.keyword.matched` fires for **every message a visitor sends**.

<Warning>
  Despite its name, `widget.keyword.matched` applies no keyword filter and
  carries no keyword. The keyword list belongs to the workflow trigger of the
  same name. A webhook receives every visitor message, and your handler decides
  which ones matter.
</Warning>

A widget chat is also a conversation. Its owner, completion, outcome and
deletion arrive as [conversation events](/dev/webhooks/events/conversations)
with `sourceType` set to `widget`.

Visitor details are self-reported. Anything typed into the widget arrives
unverified, so check an email address before you match a chat to an existing
customer.

## Related documentation

<CardGroup cols={2}>
  <Card title="Chat & Widget" icon="comment-dots" href="/comms/chat/overview">
    Setting up the widget and answering its chats.
  </Card>

  <Card title="Visitors" icon="user" href="/comms/chat/visitors">
    The people who chat with you through the widget.
  </Card>

  <Card title="Widget visitor identity" icon="id-card" href="/dev/api-reference/widget-identity">
    Vouching for a signed-in customer from your own server.
  </Card>

  <Card title="Conversations" icon="comments" href="/dev/webhooks/events/conversations">
    Assignment, completion and outcomes for widget chats.
  </Card>
</CardGroup>

## Triggers

<CardGroup cols={1}>
  <Card title="widget.conversation.started" icon="message" href="/dev/webhooks/events/widget-conversation-started">
    A website visitor started a new chat.
  </Card>

  <Card title="widget.visitor.identified" icon="user-check" href="/dev/webhooks/events/widget-visitor-identified">
    A visitor gave their name, email or phone. The details are self-reported.
  </Card>

  <Card title="widget.keyword.matched" icon="magnifying-glass" href="/dev/webhooks/events/widget-keyword-matched">
    A visitor sent a message. Fires for every message, with no keyword filter.
  </Card>
</CardGroup>


## Related topics

- [Widgets](/blocks/widgets/overview.md)
- [Install the widget](/comms/chat/widget-install.md)
- [Chat & Widget](/comms/chat/overview.md)
- [Widget windows](/start/widget-windows.md)
- [Conversation Widget](/blocks/widgets/conversation.md)
