> ## 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.

# Records

> Rows created, changed and deleted across every object in the workspace.

## Overview

A record is one row in an [object](/dev/api-reference/objects): one contact, one
company, one deal. Three triggers cover them, and they fire at different
granularities.

`record.created` fires **once per record**. `record.updated` fires **once per
field**, so a save that changes three fields is three deliveries, each carrying
that one field's own `previous` and `current` alongside the whole record as it
stands after the change.

`record.deleted` fires **once per record** again, including once for each row of
a bulk delete. It carries the record's id, its object and its name, and no
fields: by the time it is sent the fields are gone.

None of the three is scoped to an object. There is no per-object subscription,
so all of them fire for every object in the workspace and a receiver that cares
about one object filters on `data.objectId` itself.

<Note>
  Creating a record through a public form fires **both** `record.created` and
  [`form.submitted`](/dev/webhooks/events/form-submitted), with the same
  `recordId`. See [Forms](/dev/webhooks/events/forms) before subscribing to both.
</Note>

## Related documentation

<CardGroup cols={2}>
  <Card title="The Record object" icon="table" href="/dev/api-reference/records">
    The same rows, read and written over the API.
  </Card>

  <Card title="How the schema works" icon="sitemap" href="/dev/api-reference/schema">
    Objects, properties, and the keys these payloads use.
  </Card>
</CardGroup>

Select, status, relation and user values arrive as stored ids rather than
labels. [Payload format](/dev/webhooks/payload#field-values-are-stored-values-not-display-values)
covers how to resolve them.

## Triggers

<CardGroup cols={1}>
  <Card title="record.created" icon="plus" href="/dev/webhooks/events/record-created">
    A record was created on any object in the workspace.
  </Card>

  <Card title="record.updated" icon="pen" href="/dev/webhooks/events/record-updated">
    One field on a record changed. Carries the old value, the new value, and the
    whole record after the change.
  </Card>

  <Card title="record.deleted" icon="trash" href="/dev/webhooks/events/record-deleted">
    A record was deleted from any object. Carries its id, its object and its
    name.
  </Card>
</CardGroup>


## Related topics

- [Records](/data/records/overview.md)
- [Record Routing](/surfaces/records/overview.md)
- [record.deleted](/dev/webhooks/events/record-deleted.md)
- [record.created](/dev/webhooks/events/record-created.md)
- [record.updated](/dev/webhooks/events/record-updated.md)
