Skip to content

Agent Configuration ​

The advanced form (/gnosaris/create) provides full control over agent configuration. This guide documents every section and field available in the form.


Form Sections ​

The form is organized into 6 sections (verified against AgentFormSections.vue and AgentAdvancedForm.vue), navigated via a left sidebar. Only Essentials is required — the other 5 are marked Optional in the nav.

SectionIconRequiredDescription
EssentialsUser circleYesIdentity (name, description, identifier, image) + instructions editor
Knowledge BaseBookOptionalAttach knowledge sources
PersonalityHeartOptionalAttach personality traits
ChatChat bubbleOptionalGreeting, auto-message, suggested prompts, welcome screen, advanced overrides
Data CollectionRectangle stackOptionalEntity types, collection modes
PublicationGlobeOptionalURI, domain, access level, chat theme

Agent type selection is not part of this form. Purpose/type templates (pre-written instructions, traits, color theme) are chosen in the Build Wizard (/build) only — the advanced form's AgentTypeSelector component was removed. Agents created via the advanced form start from a blank Essentials section.

Integrations (tool/API connections) are not part of this form either — the section was removed. See Tools for how tools are currently configured.


Section 1: Essentials (required) ​

Purpose: Core identity plus the instructions that define agent behavior. This is the only required section.

Identity Fields ​

FieldTypeRequiredValidationDescription
NameTextYes—Display name shown in UI and chat
DescriptionTextareaNoMax 500 charsBrief summary of agent purpose
IdentifierTextNoUnique slugAuto-generated from name
Image URLText (URL)NoValid URLAgent avatar (shows in chat and cards)

Instructions Editor ​

Type: Rich markdown editor (MarkdownEditor, mode="rich"), with a fullscreen mode and an AI-helper assist button in the card header. Required: Yes — instructions cannot be blank. Character counter: Shown below the editor; a "good detail" badge appears once instructions exceed 500 characters.

Best practices (shown as in-app tips):

  • Be specific about goals and boundaries
  • Include examples of good responses
  • Define what the agent should NOT do

Section completion (nav): Essentials shows complete once both name and instructions are filled — matches the form's actual validity rule (see Form Validation).


Section 2: Knowledge Base (optional) ​

Purpose: Give the agent access to external information via RAG.

Field: List of selected knowledge sources, added via an "Add Source" button that opens a selection modal (search + create-new link to /knowledge). Source: /api/knowledgeNav badge: Shows the count of attached sources; shows "Optional" when empty.

How it works:

  1. Navigate to /knowledge and add sources (URLs, PDFs, etc.)
  2. Attach sources to the agent from this section
  3. Agent searches sources when answering questions

See: Knowledge Sources for full knowledge system documentation


Section 3: Personality (optional) ​

Purpose: Define communication style and tone via reusable traits.

Field: List of selected traits, added via an "Add Trait" button that opens a selection modal (search + create-new link to /traits). Source: /api/traitsNav badge: Shows the count of attached traits; shows "Optional" when empty.

How traits work:

  • Each trait adds behavioral instructions to the agent
  • Multiple traits combine (agent follows all selected traits)

See: Traits Documentation


Section 4: Chat (optional) ​

Purpose: Configure everything about the in-conversation experience. This section merges what used to be three separate sections (Suggested Prompts, Welcome Screen, Chat Experience) into one, made up of three sub-cards plus two collapsibles.

A banner at the top of the section explains that these fields override the chat theme's defaults — leave them blank to inherit the theme.

Sub-card: Greeting & Auto Message ​

FieldTypeDescription
GreetingTextareaAgent's first message when chat loads. Overrides the theme default.
Auto Message (toggle)SwitchEnables an automatic follow-up message
MessageTextareaAuto-message text (shown when toggle enabled), max 500 chars
DelayNumberMilliseconds to wait before sending (default: 3000)

Field location: configuration.chat_ui.greeting, configuration.chat_ui.autoMessage.{enabled,message,delay}

Sub-card: Suggested Prompts ​

Field: Array of prompt objects, managed via SuggestedPromptEditor (inline add/edit/delete). Purpose: Conversation-starter buttons shown below the empty chat state. Field location: configuration.chat_ui.suggestedPrompts / configuration.chat_ui.suggestedPromptsEnabled

Sub-card: Welcome Screen ​

FieldTypeMax LengthDescription
TitleText100 charsWelcome headline shown before the first message
DescriptionTextarea500 charsBrief introduction or instructions

A live preview of the empty state renders below the fields (EmptyStatePreview), using the agent's name and avatar. A "Clear" button resets both fields back to the theme default.

Field location: configuration.chat_ui.emptyTitle, configuration.chat_ui.emptyDescription

Collapsible: Advanced Features (collapsed by default) ​

FieldTypeDescription
Smart Follow-Up PromptsToggleEnables AI-suggested follow-up prompts after each response (configuration.chat_ui.followUpPrompts.enabled)

Enabling this toggle also adds suggest_followups to configuration.emits automatically.

Collapsible: UI & Behavior Overrides (collapsed by default, badged "Advanced") ​

UI Overrides (all toggles):

FieldField Location
Show Headerchat_ui.showHeader
Show New Chat in Navchat_ui.showNewChatInNav
Show Agent Selectorchat_ui.showAgentSelector
Hide Welcomechat_ui.hideWelcome

Behavior Overrides:

FieldTypeField Location
Enable AttachmentsTogglechat_ui.enableAttachments
Enable Model SelectionTogglechat_ui.enableModelSelection
Max Message LengthNumberchat_ui.maxMessageLength

Nav completion: The Chat section nav badge shows "Optional" (it never shows a numeric count); the section is marked complete once greeting, suggested prompts, or a welcome-screen field is set.


Section 5: Data Collection (optional) ​

Purpose: Configure what structured data the agent extracts from conversations.

Enable Toggle ​

A single toggle (extractionEnabled) turns entity extraction on/off. When off, the section shows a disabled-state message and no entity-type panel.

Entity Types (shown when enabled) ​

Field: Entity type selector with per-type collection-mode configuration, added via a selection modal (search + create-new link to /entity-types). Source: /api/entity-types

Collection Modes:

ModeBehaviorRequires Custom Prompt
passiveSilent observer — extracts after conversationNo
opportunisticWatch & probe — asks brief follow-upsOptional
activeAsk directly — proactively asksOptional
guidedFollow script — structured collectionYes (required)

Validation: An entity type with collection_mode: 'guided' and no custom_prompt blocks form submission — surfaced as a validation error in the section.

Nav completion: Complete once extraction is enabled AND at least one entity type is configured.

See: Entity Types


Section 6: Publication (optional) ​

Purpose: Configure public access, URLs, and chat theme.

Access Level ​

Options: PRIVATE (default, only you), PUBLIC (anyone with the link), PASSWORD_PROTECTED (requires password).

Password Protection ​

Shown inline when access level is PASSWORD_PROTECTED. Minimum 4 characters (validated client-side).

Public URI + Domain ​

Shown when access level is not PRIVATE. A combined domain-picker + slug input with live availability checking (debounced 600ms) against checkUriAvailability. On a taken slug, the form suggests alternatives ({slug}-ai, {slug}-bot, my-{slug}).

Result: Published at {domain.base_url}/{uri} (defaults to joina.chat).

Chat Theme ​

Dropdown of available chat themes (optional — defaults to the built-in theme). Individual Chat-section overrides (Section 4) take precedence over theme settings.

Nav completion: Complete once access level is set AND (private OR a URI is configured).


Form Validation ​

Required Fields ​

Minimum to create or save an agent (isFormValid in useAgentAdvancedForm.ts):

  • Name
  • Instructions
  • No unresolved entity-type validation errors (e.g. a guided entity type missing its custom prompt)

Every other field across every other section is optional. The Save button is disabled until these conditions are met.

Section Nav Indicators ​

  • Essentials: no badge; marked complete once name + instructions are filled
  • Knowledge / Personality / Data Collection: numeric badge = item count; "Optional" badge when empty
  • Chat / Publication: always show an "Optional" badge (never a count)

Error Display ​

Inline errors: Shown below fields when validation fails (e.g. entity-type validation errors rendered in the Data Collection section).


Saving and Navigation ​

Save Button ​

Location: Fixed footer bar (always visible) States: Disabled (required fields incomplete) / Enabled (form valid) / Loading (save in progress) Text: "Create Agent" (new) or "Save Changes" (edit)

Cancel Button ​

Location: Footer bar (left side) Action: Navigate to /gnosaris (discards changes)

Auto-Save ​

Status: Not implemented — changes are lost if you navigate away without saving.


Best Practices ​

  1. Essentials — name your agent and write instructions (the only required step)
  2. Knowledge — attach sources if the agent needs external information
  3. Personality — attach traits to fine-tune tone
  4. Chat — set a greeting, suggested prompts, or a welcome screen if you want to override the chat theme's defaults
  5. Data Collection — enable extraction and configure entity types if the agent should capture structured data
  6. Publication — set access level and, if not private, choose a public URI and theme

Performance Considerations ​

  • Each knowledge source adds latency to responses
  • More traits mean more nuanced behavior but slightly slower responses
  • Complex data-collection configuration (many guided/active entity types) adds conversational overhead

Recommendations: keep knowledge sources and traits focused rather than exhaustive; test response time before publishing.

Testing Configuration ​

After saving:

  1. Navigate to the agent detail page
  2. Click "Chat" to test the conversation
  3. Verify knowledge retrieval works (if configured)
  4. Test data collection — check extracted entities (if configured)
  5. Confirm the public URL loads correctly (if published)

Next Steps ​