Maria Gabriela
ServiceNow Employee
Options
- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
an hour ago
If you've ever had to create a declarative action with custom UI in ServiceNow Workspace, you know the drill: read the docs, create the declarative action, hop over to UI Builder to define your modal, go back to the page, set up add-on event mapping, take ownership of the page... and then do it all again the next time you forget how it works.
That experience is exactly what the ServiceNow platform team set out to fix with UI Interactions, shipping as part of the Australia release.
The Confusion with the Old Way
Let's take a common use case: you want a button on a form that opens a modal, collects some input, and creates a new record. Simple enough concept, surprisingly painful to execute in Workspace.
The old approach required juggling multiple systems and concepts simultaneously:
- Create a declarative action (platform side)
- Build a viewport modal in UI Builder (UIB side)
- Wire everything together with add-on event mapping (back to the page)
- Take ownership of the page just to get custom UI working
That last point is the real problem. The whole point of declarative actions is to extend pages without taking ownership. But the moment you wanted custom UI in the mix, you had to take ownership anyway, breaking that abstraction entirely.
Enter UI Interactions
UI Interactions are reusable, encapsulated interactive experiences that can be triggered by any event - a button click, a page event, or anything else you'd normally handle in UI Builder.
The key word here is encapsulated. A UI Interaction lives completely outside the page. You define it once, and any page or experience can trigger it without needing to take ownership of that page.
Here's what that unlocks:
Reusability across workspaces. Create a UI Interaction once and trigger it from any workspace or experience. Update the interaction, and every consumer gets the update automatically - no hunting down every page that uses it.
No more forced page ownership. Because UI Interactions are self-contained, you can extend pages using declarative actions without the ugly workaround of taking page ownership just to get a modal working.
Built into the UI Builder ecosystem. If you already know UI Builder, you already know most of what you need. UI Interactions live right in the UIB home screen alongside experiences, page collections, and components. The configuration panel, data binding, toolbox - all the same patterns you're used to.
What You Can Build
When you create a UI Interaction, you choose from three types:
Generic - No data dependencies. Use this when you just need something to happen without needing form or list context. Good for things like navigation or launching a flow.
Form - Has access to the full form client scripting environment. You can validate fields, update field state, trigger form saves, and build really robust interactions tied to form data.
List - Similar to form type, but for list contexts.
Inside the Interaction, you get a toolbox of building blocks:
- Alert and notification displays
- If/else logic for branching flows
- Out-of-the-box modals (alert, confirm, confirm and destroy, and a new "user input" type similar to GlideModal)
- Modeless dialogues (great for multitasking - users can minimize and keep working while the dialogue is open)
- Navigation steps (open a record, navigate to a URL)
- Server script execution (yes, this means you can trigger flows)
- Custom modal/modeless dialogue content built with full component-building capabilities in UIB
How Triggering Works
UI Interactions can be invoked in two ways:
Via declarative actions - This is your go-to when you want to add a button to a list or form header without taking page ownership. Just set the "Implemented As" field to "UI Interaction," point it at the interaction you built, and map any required inputs. The interaction handles the rest.
Via component events in UI Builder - Open the Events panel on any component, click "Add Handler," and you'll find a "UI Interactions" pill in the handler panel. Search for your interaction, map the inputs, and you're done. Nothing gets added to the page canvas - the interaction stays fully encapsulated.
Conclusion
UI Interactions fundamentally simplify how you build custom experiences in ServiceNow Workspace. By moving interactive logic outside the page and into reusable, self-contained units, the platform removes friction from what used to be a multi-step, error-prone process.