PromptRails

Agent UI Deployments

Build and deploy interactive dashboards backed by agents, prompts, and data sources with a grid layout system, multi-page navigation, and PIN protection.

Agent UI Deployments

Agent UI Deployments let you create interactive web dashboards that expose your agents, prompts, and data sources to end users without writing any frontend code. Each deployment is a standalone application with its own URL, pages, layout, and optional PIN protection.

Overview

A deployment is a multi-page dashboard where each page contains boxes arranged in a grid layout. Each box is connected to an agent, prompt, or data source, and renders an interactive interface for execution.

This enables non-technical users to interact with your AI agents through a simple, customizable web interface.

Deployment Structure

Deployment
├── Page 1 (e.g., "Customer Lookup")
│   ├── Box A: Customer Search Agent
│   └── Box B: Order History Data Source
├── Page 2 (e.g., "Content Generator")
│   ├── Box A: Blog Post Agent
│   └── Box B: SEO Analysis Prompt
└── Page 3 (e.g., "Analytics")
    └── Box A: Sales Dashboard Data Source

Grid Layout System

Pages use a 12-column grid system for responsive layouts. Each box has:

PropertyDescription
grid_xHorizontal position (0-11)
grid_yVertical position (row index)
grid_wWidth in columns (1-12)
grid_hHeight in rows

Layout Examples

Two equal columns:

Box A: grid_x=0, grid_y=0, grid_w=6, grid_h=4
Box B: grid_x=6, grid_y=0, grid_w=6, grid_h=4

Full width + two columns below:

Box A: grid_x=0, grid_y=0, grid_w=12, grid_h=3
Box B: grid_x=0, grid_y=3, grid_w=4, grid_h=4
Box C: grid_x=4, grid_y=3, grid_w=8, grid_h=4

Box Types

Each box connects to one source type:

Agent Box (agent)

Renders a form based on the agent's input schema and displays the execution result.

box = {
    "title": "Customer Support",
    "source_type": "agent",
    "source_id": "agent-ksuid",
    "grid_x": 0, "grid_y": 0, "grid_w": 12, "grid_h": 6
}

Prompt Box (prompt)

Renders a form for the prompt's input schema and displays the LLM response.

box = {
    "title": "Text Summarizer",
    "source_type": "prompt",
    "source_id": "prompt-ksuid",
    "grid_x": 0, "grid_y": 0, "grid_w": 6, "grid_h": 4
}

Data Source Box (data_source)

Renders a parameterized query form and displays results in a table.

box = {
    "title": "Sales Report",
    "source_type": "data_source",
    "source_id": "data-source-ksuid",
    "grid_x": 6, "grid_y": 0, "grid_w": 6, "grid_h": 4
}

Page Parameters

Pages can define parameters that users fill in before executing boxes. Parameters are mapped to box inputs.

FieldDescription
nameParameter identifier
labelDisplay label
param_typeInput type (text, number, select, etc.)
default_valueDefault value
optionsOptions for select-type parameters
requiredWhether the parameter is required
sort_orderDisplay order
parameter = {
    "name": "customer_email",
    "label": "Customer Email",
    "param_type": "text",
    "required": True,
    "sort_order": 1
}

Input Mapping

Box input mapping connects page parameters to the box's source input fields:

{
  "message": "{{customer_email}}",
  "action": "lookup"
}

This maps the page parameter customer_email to the agent's message input field.

PIN Protection

Deployments can require a PIN code for access. Enable Require PIN while configuring the deployment and set the PIN in the dashboard before publishing.

When enabled, users must enter the correct PIN before accessing the deployment. The PIN is hashed before storage.

Public URLs

Each deployment has a unique slug that forms its public URL:

https://your-instance.com/d/internal-tools

Slugs must be unique across all deployments.

Creating a Deployment

Create deployments from the PromptRails dashboard:

  1. Open Agent UI Deployments in your workspace.
  2. Create a new deployment and set its name, slug, description, and PIN requirements.
  3. Add one or more pages to define the navigation structure.
  4. Add page parameters for shared inputs such as customer ID, email address, or date range.
  5. Add boxes to each page and connect them to an agent, prompt, or data source.
  6. Configure each box's layout and input mapping, then publish the deployment.

Analytics

Deployments track execution logs including:

  • Which boxes were executed
  • Input payloads and output summaries
  • Status (success/failure)
  • Session tracking
  • Error messages

Review these logs from the deployment detail view in the dashboard to understand how end users are interacting with each page and box.

Deployment Fields

FieldTypeDescription
idKSUIDUnique deployment identifier
workspace_idKSUIDWorkspace scope
namestringDisplay name
descriptionstringOptional description
slugstringURL slug (unique)
statusstringactive or inactive
require_pinbooleanWhether PIN is required
grid_columnsintegerGrid column count (default: 12)
last_published_attimestampLast publish time
created_attimestampCreation time
updated_attimestampLast update time
  • Agents -- Agents used in dashboard boxes
  • Prompts -- Prompts used in dashboard boxes
  • Data Sources -- Data sources used in dashboard boxes