Learn how dynamic field behaviours improve the JSM Customer Portal with cascading fields, auto-priority, and structured summaries.

Most JSM tickets start with a form. Whatever the customer fills in is what the support team works with from there — queues, SLAs, automations, reports. The structure of that data decides whether a ticket lands in the right place; the accuracy decides whether the agent has to follow up to fill in the gaps.
The catch: portal data isn't flat. Some fields only make sense after another field has a specific value. Some options should be narrowed down based on what was selected before. Some fields are critical in one scenario, irrelevant in the next.
Atlassian already covers parts of this out of the box. JSM Forms offer conditional logic at the section level and a polished customer experience. Native field configuration lets admins decide how fields appear per request type (name, description, required, pre-fillment). What has been harder to achieve on the portal is live, field-level reactivity — show/hide, required/optional, option filtering, value composition — driven by what the customer just did.
That's the gap Atlassian's UI Modifications API is opening up — currently in Preview for Jira Service Management. Direct, programmatic control over custom and system fields, right inside the portal.
There are different ways to work with Atlassian's UI Modifications API — Atlassian Third-Party Apps with scripted approaches and no-code configuration are available. This article walks through one practical example using VIP.LEAN Behaviours Builder.
As of today, VIP.LEAN Behaviours Builder supports the JSM customer portal create screen across the field types and modification methods that Atlassian currently exposes through the UI Modifications API for the portal. The portal create screen is still narrower than the standard Jira create, view, and transition screens. Here's the current coverage:

Atlassian's UI Modifications API surface for the JSM customer portal create screen — the layer Behaviours Builder operates on. Source: Atlassian developer documentation.
For this scenario, the goal was a portal experience that's tightly guided from start to finish:
Before configuring a single behaviour, it's worth sketching out the control flow you want to achieve. The capabilities Atlassian exposes through the UI Modifications API, and what Behaviours Builder makes available on top of them, define what's possible — and a clear design up front keeps the implementation focused.
Here's the decision matrix for this example:

The four stages of the customer journey: request category drives the sub-selection field, the sub-selection combined with urgency drives the priority, and all chosen values flow into the auto-generated description.
This step turned out to be the most important part of the setup. Once the decision matrix was clear, the actual configuration became fairly straightforward.
After applying the behaviours, the portal looks and behaves like this:

Fields cascade in as the customer makes selections. Priority is set automatically. The Description is composed in real time as a structured summary. Read-only fields are protected from edits.
The configuration above does not require any custom scripting. Once the logic is mapped out, a Jira administrator can configure it directly in Behaviours Builder.
A few capabilities that made this scenario possible:
In our setup, the configuration took around 15 minutes once the decision matrix was clear.
To make the configuration tangible, here are three views from the actual setup:

The full list of actions configured for this portal. Each action targets one field and applies one modification — show, hide, set value, set required, filter options. Together they orchestrate the cascade.

The condition expression that drives Priority to High — a compound logical expression combining Affected Hardware, Software Name, and Urgency, configured visually with reusable building blocks.

The rich-text editor that composes the Description live as the customer fills the form. Field values from across the form are pulled into a structured summary with headings, a classification table, and the customer's own input.
A few honest notes on what the portal layer doesn't do yet:
Try it yourself:
If you've solved similar portal scenarios — or if there's one you'd like us to cover next — we'd be happy to hear about it.