Actions
Fifty-two actions, split in the editor across two tabs: "Actions" (core/data) and "Fun & effects".
Core & data actions
| Action | What it does | Main settings |
|---|---|---|
| Go to screen | Navigates to another screen, with a none/fade/slide/slideUp/zoom transition | screen required |
| Go back | Returns to the previous screen in history | - |
| Show message (toast) | A short pop-up message | text required |
| Open external link | Opens a URL in an external tab/app | url required |
| Show / Hide element | Updates an element's display - pairs with "hidden at start" | elementId required |
| Disable / re-enable calendar day | Marks a specific date as taken/free on a calendar element only | calendar element required date required |
| Scroll to element | Scrolls the screen until the element is visible | elementId required |
| Focus input | Puts focus on an input field (types straight into it) | input element required |
| Get input value | Reads whatever the visitor typed into an input field into a variable | input element required save to variable required |
| Get element text | Reads the text currently shown on any element (label, button, card, etc.) into a variable | elementId required save to variable required |
| Set text in element/input | Sets an input's value, or an element's displayed text - whichever fits the element picked | elementId required value |
| Set variable | Sets a new value for a cache variable - the value can combine several {{variables}} and plain text in one go, and each token can be piped through a filter ({{name|upper}}) - see the "Functions and expressions" chapter | variable required value |
| Change number | Increases/decreases a numeric variable by a given amount | variable required amount (+/-) required |
| Find and replace text | Swaps every appearance of one piece of text for another inside a value, and saves the result | text required find required replace with save to variable required |
| Pick random | Picks a random line from a list of text lines into a variable | list required |
| Random number | A random integer between min and max | min, max required |
| Save / read on device | Writes/reads local db.* (private, not shared) | path required |
| Save / read on server storage | dbSet/dbGet - see the "Data tables" chapter | collection, key required |
| Create a persistent ID | Generates and saves a stable ID for the visitor (long / short) | save target required type (long/short) recommended: long for reliable identification |
| Run code (advanced) | The path language described in the "Functions and expressions" chapter | code required |
| Refresh Data Loop / Export to CSV | See the "Data tables" chapter | - |
| Confirm dialog (yes/no) | A confirmation dialog whose result (boolean) is saved to a variable | message required variable target required |
| Generate QR code | Draws a QR code into an image element | target image element required text required |
Fun & effects
| Action | What it does | Main settings |
|---|---|---|
| Wait (delay) | Pauses the rest of the chain for a given number of seconds | seconds required |
| Celebrate 🎉 | A confetti burst on screen | - |
| Play animation | shake / bounce / pulse / fadeIn on a target element | elementId required |
| Replay entrance animation | Re-plays whatever "Entrance animation" is set on the element itself (in its properties panel) - does nothing if that's "None" | elementId required |
| Set continuous animation | Starts, swaps, or stops (pick "Off") an element's looping pulse/bounce/float/spin animation at runtime | elementId required animation required |
| Move element | Frees an element into free-positioned placement the first time this runs on it (every other element on the screen is unaffected) and moves it to an x/y - "Absolute" for an exact spot, "Relative" to add to wherever it already is (e.g. gravity added to Y every frame). Pair with "Every frame (game loop)" for movement | elementId required |
| Change color (setStyle) | Updates an element's background/text/border color | elementId required |
| Vibrate | A vibration pattern in milliseconds | pattern optional |
| Haptic feedback | A ready-made profile: light/medium/heavy/success/warning/error | preset required |
| Play sound | Synthetic tones - success/ding/alert/error, plus a game set (coin/jump/power-up/explosion/click/win/lose) - no file upload needed | preset required |
| Share | The Web Share API, and automatically falls back to "copy to clipboard" if unsupported | text/url recommended to fill in |
| Copy to clipboard | Copies a given text | text required |
| Paste from clipboard | Reads whatever the visitor last copied (outside the app) into a variable | save to variable required must run from a real click |
| Detect country (getLocation) | Fetches only the country via the server - never precise coordinates | variable target required |
| Turn on notifications (opt-in) | Requests push permission and registers the device | must run from a real click |
| Send push notification | See the full example in the "Full wiring examples" chapter | title, body required buttons[] optional |
| App icon badge | Sets/clears the small number badge on the PWA's icon | count required |
| Control video | play/pause/toggle/restart/mute/unmute on a video element | video element required |
| Control audio | play/pause/toggle/restart/mute/unmute on an audio player element | audio element required |
| Set draw color | Changes what color a Drawing canvas element draws with from now on | canvas element, color required |
| Set brush size | Changes the line thickness a Drawing canvas element draws with from now on | canvas element, size required |
| Clear drawing canvas | Wipes everything drawn on a Drawing canvas element | canvas element required |