Guide / Events (triggers)

Events (triggers)

Every automation chain starts with one of the following events.

Event Fires when... Settings
App entry The app loads for the first time for this visitor -
Screen opens The visitor enters a particular screen screenId required
Screen closes The visitor leaves a particular screen screenId required
Element interaction Click / typing / deleting / Enter / finished typing (for input fields) - or click / long-press / swiped left / swiped right (for every other element) elementId required
mode required
Key pressed A specific key (or any key) is pressed anywhere on the screen - ignored while an input field has focus key optional (blank = any key)
Run once (on entry) Only once per device, ever (a flag is saved on the device) -
Run repeatedly (every X seconds) Every N seconds, for as long as the tab is open seconds required
Every frame (game loop) Roughly 60 times a second, for as long as the visitor is on this screen (started on screen-open, stopped on screen-leave - unlike "Run repeatedly," which keeps ticking regardless of screen). The building block for game-style movement - pair with "Move element" and "Check overlap" screenId required
Scheduled notification A server-side clock - works even while the app is closed time required
timezone
days[]
enabled
Returned to the app / Left the app The tab regains focus / goes to the background -
Variable changed A specific cache variable's value genuinely changed variableName required
Internet connection restored / lost The browser's online/offline event -
Device rotated Switching between portrait and landscape -
Element scrolled into / out of view The element enters/leaves the visible scroll area (20% threshold) elementId required
No activity for a while After N seconds with no activity - resets and fires again after every further quiet stretch seconds required
Table changed (live) Someone wrote to a data table - instant notification via WebSocket, no polling collection required
Interaction inside a Data Loop

When the "element" of an "Element interaction" event sits inside a Data Loop's row template, the listener gets wired separately to every row actually rendered, and that row's columns instantly become regular variables (e.g. {{friendPhone}}) - handy for building "tap to call this friend" out of a list.

Which key was that?

A single "Key pressed" event set to "Any key" can still tell keys apart - the key that fired is always readable as {{lastKey}} (see the "Functions and expressions" chapter), so one event plus a condition on {{lastKey}} covers a whole set of shortcuts instead of one event node per key.