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.