Skip to main content

Overview

A record is one row in an object: 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.
Creating a record through a public form fires both record.created and form.submitted, with the same recordId. See Forms before subscribing to both.

The Record object

The same rows, read and written over the API.

How the schema works

Objects, properties, and the keys these payloads use.
Select, status, relation and user values arrive as stored ids rather than labels. Payload format covers how to resolve them.

Triggers

record.created

A record was created on any object in the workspace.

record.updated

One field on a record changed. Carries the old value, the new value, and the whole record after the change.

record.deleted

A record was deleted from any object. Carries its id, its object and its name.