Cookie Preferences

We may use and track cookies, local storage, your IP address and similar technologies to improve the user experience of this site and to understand how it is used.
Read more in our Privacy Policy or set preferences.

January 12, 2023

December: Email actions, infinite table scroll and programmatic validation

Dominik Picker
Co-founder & CTO

First and foremost: Happy New Year everybody! May 2023 be the year of empowering your teams with the tools they desperately need 🙌. Sounds like a solid new year’s resolution, doesn’t it? Luckily, we just released some awesome features which should help making that resolution more successful than the gym membership you just bought. Flex the low-code muscle and let’s dive in!

We launched email actions so you can send emails directly from Uify, individually or in bulk! You can also switch tables between pagination and infinite scroll.


  • 📧 Email actions: Sending dynamic email notifications from your apps is now possible within minutes. Use our rich-text editor to compile beautiful messages, or switch to HTML mode for full flexibility. Oh, and you can use JavaScript, too!
  • ♾ Infinite table scroll: The Table component now allows to either show records with infinite scroll, or paginated so that the amount of visible records depends on how many fit into view. This replaces the existing mix of both approaches based on a configured number of records per page.
  • 🙅 Programmatic validation: Applying validation rules on input fields has so far been limited to the context of a surrounding Form component. With our latest release, you can trigger validations programmatically any time and based on any logic you need.

Let’s break it down

Email actions

Like it or not, email is still a dominant tool for communication and notifications. Sending emails within a team or to external parties is an essential part of many business processes. It should therefore be easy and fast to set up such dynamic notifications from any app you can build in Uify. With that in mind, “Email actions” are now available and can be handled like any other action type. You have full control over basic parameters like recipients (to, cc, bcc), subject line, from-name and reply-to, and all of those can be configured dynamically with JavaScript, too.

Since plain-text emails are boring, you create emails with our new and shiny rich-text editor by default. It offers all major formatting options and understands your markdown commands as well. In case you need full flexibility, you can switch to the HTML editor and sky is the limit. Or rather, email clients are 🙈.

Have you ever coded in a rich-text editor? Well, now you can 🚀. Just embed dynamic JavaScript snippets that will be evaluated when your email is sent:

Infinite table scroll

The latest changes of the Table component simplifies scrolling and pagination. You can now configure your tables to be either infinitely scrollable (default) or paginated and not have scroll at all. In case of the latter, the table will only display as many records as the table size permits, depending on the configured row height. This change is especially useful in case a table is already placed in a scrollable parent component and the end user might therefore experience unpleasant double-scroll behavior.

Give it a shot, and you will instantly understand which configuration feels best in your specific scenario:

Programmatic validation

Validating user input is critically important to maintain consistent and clean data. Our app editor offers a lot of flexibility to apply validation rules, either based on pre-defined rule-sets or by using custom JavaScript code. However, these validations were applied only in two scenarios:

  1. When a surrounding Form is submitted
  2. When the input value is changed, unless “Validate while typing” is configured to be false

This covers a lot of use cases, but certainly not all of them. For that reason, the Form component and all input components for which validation rules may be configured now expose a validate() function, which immediately executes all configured rules and returns false in case any validation fails.

Additional improvements

Not enough yet? No worries, here is some more:

  • Create actions from events: Many components allow to associate actions with their UI events. Making such a configuration however assumed that your action already exists, which is certainly not always the case. Now you can create new actions right from the event-dropdown in the properties panel 🙌:

  • Color presets: Selecting the right color is hard. Really hard. For that reason, our color picker now offers convenient presets to choose from:

  • Spot hidden collaborators: Our previous releases made you aware of the presence of other collaborators while building apps, especially in the component explorer and action editor. There was one catch though: their presence indicator may be hidden due to a collapsed parent component or folder. With this release, we improved this experience by rendering avatars of your collaborators next to those collapsed parent entities, so you never lose track of “who is where” ever again.
  • Audio-only calls: Real-time communication is an essential ingredient of the Uify workspace. We received a lot of positive and constructive feedback regarding the call-feature and its usability. We concluded that the video bubbles are often rather distracting than useful and hence removed them from the product. Calls are audio-only for now, but we will continue experimenting with video call features to get them right!
  • Bug fixes & improvements: On top of all the features mentioned above, we applied 25 additional bug fixes and improvements 🚀.

We have big plans for 2023 and hope that you are joining us on that journey! As always, we appreciate your feedback on the new features and look forward to new use cases being unlocked.

Happy building,