Trigger: On record edited

Language: English

The On record edited trigger starts an automation each time an existing record in a specific form is changed and saved. It fires once per edit, after the change has been successfully saved, including edits made through data entry, the mobile app, imports, and the API. Adding or deleting a record does not fire this trigger — see On record added and On record deleted.

The trigger is configured with a single Form. Edits to records of other forms, including sub-forms of the selected form, do not fire the trigger.

Imports that update existing records fire this trigger once per updated record, exactly as individual edits do — a change from ActivityInfo 4.0, whose webhooks skipped imports.

Step data

Every trigger produces a single row of step data: the values that the later steps of the automation — the filter, email, and webhook steps — can reference in formulas and templates.

For this trigger, the row describes the record after the edit, together with a snapshot of the record before the edit under the reserved _previous name:

Column Type Description
one column per form field the field's type The value of each field after the edit.
_previous Snapshot The record's state before the edit, with one entry per form field.
_id Text The record ID of the edited record.
_lastEditTime Date and time The time of the edit.
_user.name Text The name of the user who made the edit.
_user.email Text The email address of the user who made the edit.
_user.id Text The user ID of the user who made the edit.
_trigger.type Text Always RECORD_EDITED for this trigger.
_trigger.time Date and time The time the event occurred.

If the form is a sub-form, the row also includes a Parent column referencing the parent record.

Comparing before and after

The _previous snapshot lets a formula react only to meaningful changes. Each field of the form is available under _previous using the same code, label, or field ID as the current row:

_previous.STATUS != STATUS

continues the flow only when the edit changed the Status field, and

STATUS == "Recovered" && _previous.STATUS != "Recovered"

continues only when this particular edit moved the record into the Recovered status — an edit that leaves the record Recovered does not fire the actions again.

Reference fields held in the snapshot can be navigated exactly as on the current row: _previous.CLINIC.NAME is the name of the clinic the record pointed at before the edit — useful to detect a record being moved from one clinic to another:

_previous.CLINIC.NAME != CLINIC.NAME

Note that navigation always joins to the referenced record's current state; only the reference itself — which record is pointed at — is snapshotted.

Referencing fields

Fields can be referenced by code, by label, or by field ID; we strongly recommend codes. See Trigger: On record added for the full table of field types and their step data values — the values are identical for this trigger, both on the current row and under _previous.

See also

Next item
Trigger: On record deleted