Skip to main content
Findable includes a full-featured prompt template system for creating reusable, parameterized prompts with rich input forms.

Prompt Templates

A prompt template (IPromptTemplate) consists of:
  • Content — Markdown text with {{variableName}} placeholders
  • Variable Specs — Rich input definitions (IPromptVariable[]) that describe how each placeholder should be rendered as a form control
  • Tags — For organization and search
  • Scope — Personal (creator-only) or Shared (ACL-controlled)
  • Groups — Templates can be organized into prompt groups with drag-and-drop ordering

Variable Types

Each variable has a type that determines the input control rendered in the form: Basic Types (always available): Advanced Types (require advanced mode toggle):

Select Option Formats

Select and multiselect variables support three option formats:
  • Simple strings["Option A", "Option B"]
  • Grouped options{ group: "Fruits", items: ["Apple", "Banana"] } for hierarchical dropdowns
  • Rich options{ value: "opt1", label: "Option 1", description: "Help text", icon: "CheckCircle", disabled: false } for metadata-enhanced options

Dynamic Options Sources

Instead of static options, select/multiselect variables can populate from system objects at runtime:

AI-Generated Options

Individual select/multiselect variables can have AI generate their options at runtime:
  • aiPopulate — Enable AI-generated options for this variable
  • aiPrompt — Prompt sent to AI (supports {{variable}} references from flow context)
  • aiModelEndpointId — Optional model override
  • aiOptionsCount — Number of options to generate (default: 5)

Conditional Logic

Variables support dynamic show/hide/require/disable rules based on other field values:
Supported operators: equals, not_equals, contains, not_contains, greater_than, less_than, is_empty, is_not_empty, in, not_in Supported actions: show, hide, require, disable, enable

Layout & Visual Options

  • Widthfull, half, third, quarter for responsive grid layout
  • Variantdefault, radio, chips, buttons for select/multiselect/boolean display
  • Ordering — Explicit order field for display sequence
  • Grouping — Visual grouping via the group field

Text Validation

Text and multiline variables support validation presets: email, url, phone, ipv4, ipv6, subnet, uuid, alphanumeric, numeric, or custom (regex pattern).

Chat-Specific Prompts

Each chat can be assigned a prompt group from the Prompt Library via the promptGroupId field on the chat configuration. This surfaces the group’s prompt templates in the chat’s prompt selector, giving each chat a curated set of prompts without duplicating data.