Font Size:
Ask Joget AI

UI Composer

UI Composer Overview

The UI Composer is built into the Joget UI Builder. Instead of manually configuring navigation menus, page components, and dashboards, you can describe what you need, and the composer generates the UI configuration.

Everything created by the composer follows standard Joget UI configuration and remains fully editable. This makes it particularly useful for quickly assembling production-ready application interfaces through conversation rather than drag-and-drop.

The Composer works best when used iteratively, creating a base structure and then refining page components, menus, and dashboards step by step.

Getting Started

Open any UI in the UI Builder.

Two ways to start:

  • Describe it: Define navigation menus, dashboard tiles, charts, and page layouts. The composer builds the UI structure.
  • Show it: Upload a screenshot or reference layout. The composer recreates it using standard Joget UI components.

Try this prompt:

Build a modern dashboard for project management with an overview page containing a project status chart, a list of active tasks, and quick navigation buttons to 'Create New Project' and 'View All Tasks'.

Two Modes of Composing

Targeted Edit

Select any menu item or page component in the UI Builder.

Use this when you want to:

  • Modify a specific component’s properties or label
  • Adjust styling for a particular section
  • Replace or refine a single menu element

Full Composition

Use the main composer panel to describe the UI or dashboard as a whole.

Use this when you want to:

  • Build a full UI layout from scratch
  • Add multiple navigation menus and pages
  • Restructure the overall navigation flow
  • Apply changes across multiple page components
Tip
Selecting an element enables faster edits, but the Composer is not limited to that selection. It can interpret broader intent to create new components and position them appropriately within the UI.

Reviewing Composer Output

After the composer runs, two options appear:

  • Apply: Saves changes to the UI configuration
  • Cancel: Discards all generated changes

Nothing is applied until confirmed.

What You Can Build

Check out prompt playbooks and the startup guide for detailed instructions.

Navigation Menus

  • CRUD, Datalist, and Form menus
  • Run Process and Process List menus
  • Dashboards, Rich Text, and Link elements

Page Components

  • Information tiles and charts for metrics
  • Headings, paragraphs, and labels
  • Buttons, images, and HTML code
  • Containers, accordions, and column layouts

The UI Composer is particularly effective at quickly assembling complex dashboards with various metric tiles and charts.

Layout & Structure

  • Define categories and menu organization
  • Setup multi-column page layouts
  • Configure page spacing and component hierarchy

Advanced Features

  • Configure menu and page permissions
  • Setup quick navigation menus

Use the Composer to refine access controls by defining which roles can access specific pages and actions.

Prompting Guide

To get the best results, describe the purpose and layout of the UI clearly.

Describe the outcome, not just the component

Bad: Add a chart

Good: Add a Project Status bar chart to the dashboard overview page, using the Project Datalist as the source

Be specific about the layout where it matters

Bad: Make a dashboard

Good: Create a dashboard with three info tiles at the top for Open, In-Progress, and Completed tasks, followed by a pie chart showing task distribution by priority

Provide full navigation context in one prompt

Bad: Add menus

Good: Build categories for Operations, HR, and Reports. Add the Employee Form to HR and the Sales Datalist to Operations

Define role-based visibility clearly

Bad: Fix permissions

Good: Restrict the Admin Dashboard page so that it is only visible to users with the Manager role

Refine instead of restarting

Bad: Redo the layout

Good: Update the dashboard info tiles to use a dark theme background with white icons for a modern look

Current Behaviour & Tips

These are known behaviours and best practices based on development logs.

Baseline Generation First

Use Joget’s built-in CRUD generation to quickly create a working baseline UI and data flow. This ensures standard configurations are applied correctly out of the box.

What to do:
Start with the generated baseline, then use the Composer to “refine and enhance the dashboard layout” or “modernize the navigation menu styles”.

Final Assembly Layer

Using the “Generate App” feature, users can quickly create lists and full CRUD functionality. The UI Composer is then used to design and enhance the application interface by adding navigation and other menu elements, helping deliver a well-structured, modern user experience for business users.

UI navigation should be configured after forms and datalists are defined, as many UI elements (such as menu links and datalist actions like Add/Edit) depend on existing form mappings or URL configurations.

For example, in the Datalist Builder, actions like Add or Edit require a valid form or link URL to be configured. If these are not defined beforehand, the UI Composer may not be able to resolve the navigation correctly, leading to incorrect or non-functional links.

As a recommended approach, first design and finalize your forms and datalists, including their actions and link behaviors (as outlined in the Datalist Builder documentation). Then, proceed to configure the UI Composer to structure navigation, menus, and user experience.

You may refer to the Vibe Composer guide for the recommended development flow, followed by the Datalist Builder section for proper action and link configuration.

Component placement: Prompts should be configured at the top-level UI layer (UI → Pages). If the applied changes are not visible, verify the associated menu category settings, as they may impact how the updates are rendered.

Usage recommendation: This initial version of UI composer is best suited for lightweight use cases. For applications with a large number of existing menus or complex navigation structures, it is not recommended at this stage, as the behavior may be inconsistent. For now, it should be used primarily for simple implementations such as informational tiles and basic UI elements.

Best practice

Finalize your forms and processes first. The Composer can then more effectively connect them into a unified UI.

Permissions

Update navigation permissions based on group/department. Note: Currently limited to Joget Directory groups only.

Complex Dashboards

For dashboards with many interdependent charts and tiles:

  • Start with a basic layout
  • Then refine component by component

Prompt Playbook

Use Case

Prompt

Basic Dashboard

Build a dashboard for case management showing summary tiles for Status and Priority, and include a bar chart for daily case counts.

Navigation Setup

Setup a sidebar navigation with menus for Dashboard, Inbox, and a CRUD menu for Employee records.

Layout Refinement

Rearrange the dashboard into a three-column layout with info tiles at the top and a full-width chart at the bottom.

Page Components

Add an accordion component to the help page and include a paragraph component for each section of text.

Role-Based Access

Set the Financial Report page to be only visible to users in the Management grade.

Menu Icons

Update all sidebar menu items with relevant Font Awesome icons for better visual recognition.

CRUD Menu

Add a CRUD Menu to the sidebar linked to the Projects form. Label it "Manage Cases". Show Add, Edit, View, and Delete actions. Set the datalist to Case List and the form to case.

Datalist Menu

Add a Datalist Menu item to the sidebar. Label it "Open Cases". Bind it to the datalist. Set the page title to "Cases List" and ensure it is accessible to all authenticated users.

Form Menu

Add a Form Menu item to the sidebar labeled "New Case" with a star icon. When clicked, it should open a blank case submission form. After the form is submitted, reload the current view.

Inbox Menu

The Inbox menu in UI Composer is not supported at the moment and cannot be used to access pending case assignments.

Run Process Menu

Add a Run Process menu item to the sidebar. Label it "Start New Case". Link it to the process. Set it to launch a new process instance when clicked. Make it visible to users with the requester role only.

Process List Menu

Add a Process List menu item to the sidebar. Label it "Open Cases". Link it to the Request list.

Calendar Menu

Add a Calendar menu item to the sidebar. Label it "Cases Calendar."

Dashboard Menu

Add a Dashboard page to the sidebar labeled "Dashboard" with a chart icon. Make it the first item in the navigation so it opens by default. The dashboard should show a summary of all cases at a glance.

Rich Text Menu

Add a Rich Text menu item to the sidebar labeled "Service Guidelines". In the content, add a bold heading and a short paragraph explaining how to handle cases.

Link Menu

Add a Link menu item to the sidebar labeled "Knowledge Base" with a book icon. Link it to the Knowledge Base section of this app. Open the link within the same page.

Universal Inbox Menu

Add a Universal Inbox menu item to the sidebar labeled "All My Tasks". Show all pending workflow tasks assigned to the current user across every active process.

User Profile Menu

Add a User Profile menu item at the very bottom of the sidebar labeled "My Profile".

List Menu

The List menu in UI Composer is not supported at the moment and cannot be used to access all case records.

Chart Menu 

The Chart menu in UI Composer is not supported at the moment and cannot be used to add a chart to add case volume by category.

Import Menu

Add an Import menu item to the sidebar labeled "Import Cases". Allow users to upload a CSV file to bulk-create case records.

List Inbox Menu

Add a List Inbox menu item to the sidebar labeled "My Case Queue". Show all cases currently assigned to the current user as workflow tasks.

Manage Permission Menu

Manage Permissions Menu is currently not supported.

Process Status Menu

Add a Process Status Menu item to the sidebar labeled "My Case History". Show all cases that the current user has submitted.

Information Tile

Add 5 information tiles in a single row across the top of the dashboard page. Each tile should have a dark card background.

Chart

Add two charts stacked in the right column of the dashboard page. Both should use a dark background to match the overall theme.

Video Tutorial

Created by Debanraj Ravindran Last modified by Nurkhairini Fitrah on May 18, 2026