User Interactions Reference Guide

User Interactions Reference Guide

User interactions are actions triggered when a user taps a button or icon. While these can be used on screens and forms, this guide focuses on the Action Button Field, which allows up to 5 custom buttons per field.

Reference App: Search for “User Interactions” in the Examples Catalog to install a working demo of these features into your account.


Interaction Syntax Quick Reference+

Use this table to determine exactly what data needs to be passed into an Interaction field to make it function.

CategoryInteractionRequired Syntax / ParameterExample
ContactCreate EmailTo email addresssupport@company.com or {{client_email}}
Create SMS / DialInternational phone format+1234567890 or {{phone_field}}
LocationGeocode AddressText address or comma-separated fields{{street}}, {{city}}, {{zip}}
Show on MapText address OR lat lon{{lat}} {{lon}}
ScreenOpen Screendataname:value (pipe-separated)field1:value1|field2:{{order_id}}
Reload on ReturnField/Page names (comma-separated)MyTable, TotalField, All
TasksOpen TaskTask ID{{this[0]}} (1st column of Task row)
WebOpen URLFull URL (must include protocol)https://www.google.com
LogicNo Interaction(None) – Assigns Label to Data-Name{{btn_name}} returns “Label Text”

Key Formatting Rules+

To ensure your interactions trigger correctly, follow these three golden rules of syntax:

  • The Dynamic Placeholder: {{dataname}}

    Any value wrapped in double curly braces tells the system to “look at this field” rather than using literal text.
    • Static: Seattle (Always searches for Seattle)
    • Dynamic: {{city}} (Searches for whatever the user typed in the ‘city’ field)
  • The Pipe Separator: |

    When passing multiple values to a new screen, use the pipe symbol (typically above the Enter key) to separate different field assignments.
    • Syntax: field1:value1|field2:value2
  • Task Referencing: {{this[n]}}

    When working with Task Data Sources, the index starts at 0.
    • {{this[0]}} = 1st Column
    • {{this[1]}} = 2nd Column

The “Five-button” Rule+

Since you can configure up to 5 buttons on an Action Field, prioritize them by frequency of use:

  1. Primary Action: (e.g., Upload or Next) — Place this on the far right.
  2. Secondary Action: (e.g., Save Draft) — Place in the middle.
  3. Destructive Action: (e.g., Exit/Cancel) — Place on the far left to prevent accidental taps.

General & Logic Options

Standard actions that don’t fit into a specific category but are essential for form logic.

 No Interaction

  • Behavior: The button triggers no external action. Instead, the button’s Label is passed as its value.
  • Syntax: If the Data-Name is status_btn and Label is Approve, pressing it sets {{status_btn}} to "Approve".
  • Best Use: Use this to trigger hidden calculations, REST API calls, or visibility logic based on which button was pressed. (e.g., Show Section B only if {{status_btn}} = ‘Approve’).

Internal Navigation (Jump to Location)

Use these to create custom “Skip” logic or faster navigation shortcuts. These are especially useful for long, multi-page forms where users need to bypass irrelevant sections.

 Jump to Form Location

  • Behavior: Redirects the user to a specific point in the current form.
  • Options:
    • Start / End of Form: Instantly moves to the first or last page.
    • Next / Previous Page: Standard linear progression.
    • Add New Repeat: Creates a new row/item in a repeatable set (e.g., “Add another expense”).
    • Next / Previous Repeat: Navigates through existing rows in a table or repeatable page.

Repeatable Data Capture Tip: “Always Jump to New Repeat”

Toggle “Always Jump to New Repeat” if you want the button to skip past existing entries and open a fresh, empty data row every time.


Completion & Submission

These interactions handle the final stages of the user’s workflow, determining how data is saved and how the user exits.

 Exit & Save Changes

  • Behavior: Closes the current form and saves a local draft of the data.
  • Best Use: Creating a “Save & Finish Later” button so users don’t lose progress if they are interrupted.

 Save Without Exiting

  • Behavior: Saves all current field entries to the local device immediately but keeps the form open.
  • Best Use: Use this on very long forms or “Observation” logs where a user might be entering data over several hours. It ensures that if the device battery dies or the app restarts, the data is already safely stored.

 Exit Without Saving

  • Behavior: Closes the form and discards all edits made during the current session.
  • Best Use: A “Cancel” or “Discard” button to prevent accidental data entry.

 Upload Form

  • Behavior: Triggers the final submission process to our servers.
  • Requirement: Best used at the end of a workflow once all validation is complete.

 Upload and Print Form

  • Behavior: Submits the data to the server and immediately triggers a print job.
  • Requirement: Requires a configured App Printing HTML template in the web portal.

Visual Layout Tip: Grouping by Color

  • Blue/Gray for Navigation (Jump to Location)
  • Green for Success/Submission (Upload)
  • Red for Exit/Cancel (Exit Without Saving)

Contact Options

Launch the device’s native communication apps with pre-filled data.

 Create Email

  • Behavior: Opens the default email client with “To” pre-populated.
  • Parameter: The destination email address.
  • Syntax: sales@company.com or {{client_email}}

 Create SMS

  • Behavior: Opens the default messaging app with the “To” number pre-populated.
  • Parameter: The destination phone number.
  • Syntax: +1234567890 (International format recommended).

 Dial Phone Number

  • Behavior: Opens the device dialer with the specified number ready to call.
  • Parameter: A static or dynamic phone number.
  • Syntax: {{phone_field}}

Location & Map Options

Integrate geographical data with the device’s GPS and mapping capabilities.

 Geocode Address

  • Behavior: Converts text addresses into decimal latitude/longitude coordinates.
  • Syntax: {{street}}, {{city}}, {{zip}}
  • Output: Results are returned as lat lon (e.g., -13.38 153.98).

 Show Address on Map

  • Behavior: Opens the device’s map app at a specific text address.
  • Syntax: 5 My Road, City, Post Code or {{myaddressfield}}

 Show Coordinates on Map

  • Behavior: Opens the map app at specific GPS coordinates.
  • Syntax: Space-separated coordinates: {{lat}} {{lon}} or -12.34 76.54.

App & Data Options

Manage how the app stays in sync with our servers and local data.

 Force Sync

  • Behavior: Connects to the server to update all screens and data sources.
  • Requirement: Requires an active internet connection.

 Refresh Screen

  • Behavior: Reloads the current form and its local data sources.
  • Best Use: Use this to display newly added rows that are already on the device.

Document & Screen Options

Navigate between different parts of your app or open external files.

 Open Doc

  • Behavior: Opens a file from your “Files & Docs” section using the device’s default viewer (e.g., Adobe Acrobat for PDFs).
  • Parameter: Specify a hardcoded File ID or a dynamic field value.

 Open Screen

  • Behavior: Launches a different screen within the app and can pass data forward.
  • Syntax: target_field:{{current_field}}|another_field:static_value
  • Filtering: Use {{target[column]}} for Listing/Details/Map targets.

 Reload on Return

  • Behavior: Refreshes specific fields or pages once the user returns from a child screen.
  • Syntax: All or PageName, FieldName, TableName.
  • Warning: Reloading a field clears any unsaved user edits in that field.

URL & Task Options

Connect to external web resources or specific workflow tasks.

 URL Syntax

  • Requirement: Always use the full protocol (e.g., https://).
  • Open URL in App: Uses the internal app browser.
  • Open Link in Browser: Launches the device’s external browser (Chrome/Safari).

 Open Task

  • Behavior: Opens a specific task via its Task ID.
  • Syntax: {{this[n]}} where n is the column index (starting at 0) of your Task data source.

Troubleshooting Common Issues

If an interaction isn’t behaving as expected, use this guide to identify and resolve the most common configuration errors.

 URL or Email Won’t Open

  • The Cause: Missing Protocol.
  • The Fix: Ensure your URL starts with https:// and not just www.. For emails, ensure the email address is valid and doesn’t contain accidental spaces at the end of the field.

 Geocoding Returns “Zero Results”

  • The Cause: Ambiguous or incomplete address data.
  • The Fix: Geocoding works best with specific data. Instead of just {{city}}, try passing a string of fields: {{street_address}}, {{suburb}}, {{state}}, {{postcode}}.
  • Note: This feature requires an active internet connection to “handshake” with the mapping service.

 “Force Sync” is Failing

  • The Cause: Connectivity or authentication issues.
  • The Fix: * Verify the device has a stable internet connection.
    • Check if the user’s login session has expired.
    • If the app is “stuck,” try a Refresh Screen first to see if local data loads correctly.

 “Reload on Return” isn’t Showing New Data

  • The Cause: Target naming mismatch.
  • The Fix: Ensure the Data-Names in your comma-separated list match your fields exactly (case-sensitive). If you are reloading a whole page, use the Page Data-Name, not the Label.
  • Warning: Remember that “Reload on Return” clears any unsaved edits in the target field. If your data is disappearing, this is likely why!

 Dial/SMS Logic is “Dead”

  • The Cause: Formatting issues.
  • The Fix: Ensure there are no brackets () or dashes - in the raw data being passed. The cleanest format for global compatibility is + followed by the country code and number (e.g., +12223334444).
    • Related Articles

    • Formula Quick Question and Answer Reference

      This is a compilation of common scenarios that use formula to achieve the goal. This is a quick reference in a Q&A layout. For more detailed explanations and practical examples, kindly consult our Recipes section. Q: How do I move Fields between ...
    • Action Field

      The Action field is an advanced dynamic field that allows customizing up to 5 buttons with user interactions. In addition, set the field’s value based on which button is pressed to drive other field conditional properties like visibility, read-only, ...
    • External User Connector – REST

      Authenticate your users against an external system, such as a web service or enterprise identity provider. When external auth is configured, user passwords are never stored on our platform. Azure AD is being renamed to Microsoft Entra ID. When logged ...
    • User Defined Filter Options

      If you have large datasources or require more advanced options for querying your data, then you should consider allowing app users to filter data displayed in Listing and Mapping screens. This is done by checking the “Allow Filtering By Column” box ...
    • Folder Settings & User Access Permissions

      Folders are available on the platform’s Screens, Docs, and Data Sources areas. Editing a Folder’s settings is the same for all. When viewing folders and hovering over them, a gear or lock icon will appear. Clicking on this icon will open the folder’s ...