# Lead events

> lead.created, fired when a visitor leaves contact details

Source: https://www.hey.support/docs/developer-guide/webhooks/events/lead

---

One event covers every way a lead can be created. The envelope is described in the [overview](/docs/developer-guide/webhooks).

## `lead.created`

Fires when contact details are captured, by any route that can produce a lead:

* the agent captures details the visitor gave in conversation (`source: "auto_detected"`)
* the visitor submits the lead card (`source: "lead_form"`)
* they leave details as part of a human handoff
* a lead is created through the [API](/docs/api/leads/create-lead)

```json
{
  "lead": {
    "id": 3312,
    "chatbot_id": 17,
    "conversation_id": 8214,
    "name": "Ada Lovelace",
    "email": "ada@example.com",
    "phone": null,
    "company": "Analytical Engines",
    "details": {
      "need": "A 12-seat rollout for the analytics team",
      "budget": "$5k",
      "timeline": "Q4"
    },
    "source": "auto_detected",
    "status": "new",
    "created_at": "2026-08-26T10:02:00.000Z"
  }
}
```

Every field except `id`, `chatbot_id`, `status` and `created_at` can be `null`, depending on which fields the agent asks for and what the visitor gave. `details` carries the qualification answers; keys the visitor never answered are absent.

<Accordions>
  <Accordion title="Deduplication">
    A conversation produces at most one lead. If details are captured again in the same conversation, the existing lead is updated and no second `lead.created` fires. Across conversations there is no dedupe: the same person returning next week produces a new lead with a new `conversation_id`. Match on `email` if you need to collapse those.
  </Accordion>

  <Accordion title="Bookings do not double-fire">
    When a visitor books a meeting, we create the lead silently and fire `booking.created` only. If you want a record for every captured contact including bookings, subscribe to [`booking.created`](/docs/developer-guide/webhooks/events/booking) as well.
  </Accordion>
</Accordions>

<NextSteps>
  <IconCard icon="webhook" title="Webhooks overview" href="/docs/developer-guide/webhooks" description="The envelope, the headers and every event." />

  <IconCard icon="key-round" title="Verifying signatures" href="/docs/developer-guide/webhooks/signature" description="Check the HMAC before you act on a delivery." />
</NextSteps>
