Skip to content

Managing Agents ​

Agents are AI assistants that handle conversations, answer questions, and collect structured data automatically. This guide covers how to create, configure, and manage agents in Gnosari.


Agent List Page ​

The agent list (/gnosaris) provides a centralized view of all your AI agents.

View Modes ​

ModeDescriptionUse Case
Grid ViewCard-based layout with visual previewsBrowsing and comparing agents visually
Table ViewCompact row-based layoutQuickly scanning many agents

Toggle between views using the view mode buttons in the top-right corner of the list page.

Search and Filtering ​

Search: Enter keywords in the search bar to filter agents by name or description. Search is real-time and case-insensitive.

Agent List Columns ​

The table view displays the following columns (verified against app/types/domains/agent.ts):

ColumnDescriptionSource Field
NameAgent display namename
DescriptionBrief summary of agent purposedescription
CapabilitiesIcon badges showing enabled capabilitiesconfiguration.manager, configuration.reasoning, configuration.multimodal, configuration.allow_delegation
Access LevelPublic, Private, or Password Protectedaccess_level
CreatedCreation timestampcreated_at
ActionsQuick action buttons—

Capability Badges:

  • Manager (crown icon): Agent can manage other agents
  • Reasoning (brain icon): Advanced multi-step reasoning enabled
  • Multimodal (image icon): Can understand images and vision
  • Delegation (network icon): Can delegate tasks to other agents

Per-Agent Actions ​

Each agent in the list has quick action buttons:

ActionIconDescription
ChatMessage bubbleOpen a chat session with the agent
EditPencilOpen the advanced configuration form
EmbedCode bracketsView embed code for the widget
DeleteTrashPermanently delete the agent (confirmation required)

Row Click: Clicking anywhere on an agent row (outside action buttons) opens the agent detail view.


Creating Agents ​

There are two paths for creating agents:

Path: /build → Select Purpose → Customize

The Build Wizard is a 4-step conversational flow powered by an AI agent that creates your agent through natural conversation:

  1. Purpose: Select from 9 pre-configured agent types (Lead Collector, Customer Support, etc.)
  2. Auth: Login or register (auto-skips if already authenticated)
  3. Customize: Chat with the Build Wizard to configure your agent
  4. Success: View your created agent and next actions

Key Features:

  • No form-based data collection — everything via chat
  • Agent creation happens automatically via MCP (Model Context Protocol)
  • Build Wizard uses Gnosari Manager MCP to create agents on your behalf
  • Conversation completion triggers automatic transition to Success step

When to use: First-time users, quick setup, guided experience

2. Advanced Form (Power Users) ​

Path: /gnosaris/create

The advanced form provides full control over all agent configuration options in a traditional form interface.

When to use: Experienced users, complex multi-agent setups, precise configuration requirements

See: Agent Configuration Guide for full form documentation


Agent Capabilities ​

Capabilities are advanced features that enhance agent behavior. These are configured in the configuration object.

CapabilityFieldDescriptionDefault
ManagermanagerAgent can coordinate and manage other agentsfalse
ReasoningreasoningMulti-step reasoning and chain-of-thought processingfalse
MultimodalmultimodalUnderstand images, screenshots, and visual contentfalse
Allow Delegationallow_delegationDelegate sub-tasks to other specialized agentsfalse
OrchestratororchestratorRoute and coordinate workflows across multiple agentsfalse

Configuration Example:

json
{
  "configuration": {
    "manager": false,
    "reasoning": true,
    "multimodal": true,
    "allow_delegation": true,
    "orchestrator": false
  }
}

When enabled:

  • Manager: Agent appears in team manager dropdowns
  • Reasoning: Uses extended thinking tokens for complex problems
  • Multimodal: Accepts image uploads in chat interface
  • Allow Delegation: Can spawn sub-agents for specialized tasks
  • Orchestrator: Can route messages to appropriate team members

Access Levels ​

Control who can interact with your agent via the access_level field.

Access LevelDescriptionUse Case
PRIVATEOnly you can access the agentInternal testing, personal assistants
PUBLICAnyone with the link can accessPublic-facing agents, lead collection
PASSWORD_PROTECTEDRequires password to accessClient-specific agents, gated access

Setting Access:

  • In the Build Wizard: Configured during the "Share" step
  • In the Advanced Form: Set via the "Publication" section
  • After creation: Edit agent → Publication section

Password Protection:

  • Set via access_password field
  • Users must enter correct password before starting conversation
  • Password is stored hashed (not plaintext)

Publication ​

Agents can be published to custom URLs on the joina.chat domain.

URI and Domain ​

FieldDescriptionExample
URICustom path slug for agent URLmy-support-bot
DomainCustom domain (if configured)example.com
Published URLFull public URLhttps://joina.chat/my-support-bot

Requirements:

  • URI must be unique across your account
  • URI can only contain lowercase letters, numbers, hyphens
  • Domain field is optional (uses joina.chat by default)

Setting via API:

json
{
  "uri": "customer-support",
  "domain_id": null
}

Custom Domains: Configure custom domains in Settings → Domains to publish agents on your own branded URLs.


Agent Traits ​

Traits are reusable personality and communication patterns that can be applied to agents.

Examples:

  • helpful: Proactively offers assistance
  • friendly: Warm, conversational tone
  • personable: Uses empathy and emotional intelligence
  • professional: Formal, business-appropriate language

Applying Traits:

  • Build Wizard: Automatically applies default traits based on purpose
  • Advanced Form: Select from trait library in the "Personality" section

See: Traits Documentation for full trait system details


Knowledge Sources ​

Agents can access external knowledge via RAG (Retrieval-Augmented Generation).

Knowledge Source Types:

  • Website URLs
  • PDF documents
  • DOCX files
  • Markdown files
  • API endpoints
  • Database queries
  • Cloud storage (S3, Google Drive, Dropbox)

Adding Knowledge:

  1. Navigate to Knowledge → Sources
  2. Add a source (URL, PDF, DOCX, etc.)
  3. Assign source to agent via the "Knowledge Base" section

How it works:

  • Agent searches sources when answering questions
  • Semantic search returns most relevant content
  • Agent cites sources in responses

See: Knowledge Sources for full knowledge system documentation


Learning Objectives ​

Learning objectives define what the agent should learn from conversations over time.

Example Objectives:

  • Learn customer pain points
  • Identify common product questions
  • Track feature requests
  • Understand objection patterns

Configuration:

  • Field: learning_objective_ids (array of integers)
  • Assign via /learning-objectives page — the advanced form has no dedicated "Learning" section

How it works:

  • Agent tracks insights related to objectives during conversations
  • Insights stored in database and linked to sessions
  • Review insights via Sessions → AI Insights panel

See: Learning Objectives for full learning system documentation


Chat Theme ​

Customize the chat widget appearance for each agent.

Theme Options:

  • Pre-built themes (Light, Dark, Brand)
  • Custom color themes
  • Background patterns
  • Typography settings

Setting Theme:

  • Field: chat_theme_id (integer, nullable)
  • Set via Advanced Form → "Publication" section
  • Or create themes at /chat-themes

Per-Agent Overrides: Each agent can override global theme settings via configuration.chat_ui object.

See: Chat Themes for full theming documentation


Entity Types and Data Collection ​

Configure what structured data the agent should collect during conversations.

Collection Modes (defined in app/types/domains/agent.ts):

ModeIconDescriptionRequires Prompt
PassiveEye slashSilent observer - extracts data after conversation endsNo
OpportunisticEyeWatch & probe - asks brief follow-ups when topic arisesOptional
ActiveChat bubblesAsk directly - proactively asks for informationOptional
GuidedClipboard listFollow script - uses custom script for structured collectionYes (required)

Configuration:

  • Field: entity_types (array of EntityTypeWithMode)
  • Each entry has: entity_type_id, collection_mode, custom_prompt

Example:

json
{
  "entity_types": [
    {
      "entity_type_id": 1,
      "collection_mode": "active",
      "custom_prompt": "Ask for email early in the conversation. Explain it's so we can send them resources."
    }
  ]
}

See: Entity Types for full data collection documentation, and the Collected Data Inbox for reviewing what agents capture


Tools ​

Tools extend agent capabilities by integrating with external services.

Tool Types:

  • HTTP APIs (REST, GraphQL)
  • MCP servers (Model Context Protocol)
  • Python functions
  • Shell commands
  • Database queries

Adding Tools:

  • Build Wizard: Select from tool library during setup
  • Advanced Form: no dedicated section — the "Integrations" section was removed. Tools are not currently configurable from the advanced form UI

Tool Configuration:

  • Field: tools (array of integers or Tool objects)
  • Each tool has: name, description, connection_type, url, headers, args

Security: Tools run in sandboxed environments with access controls.

See: Tool Integration for tool setup and examples


Editing Agents ​

Two ways to edit:

  1. Quick Edit: Click pencil icon on agent row → Opens advanced form with all fields
  2. Full Edit: Navigate to agent detail → Click "Edit" button

What can be edited:

  • All configuration fields (name, description, instructions)
  • Capabilities and access levels
  • Knowledge sources and tools
  • Entity types and collection modes
  • Publication settings (URI, domain, theme)

What cannot be edited:

  • Agent ID
  • Creation timestamp
  • Historical session data

Saving changes:

  • Changes saved immediately on form submission
  • No draft system — edits are live instantly
  • Edit history not tracked (consider version control for critical agents)

Deleting Agents ​

Warning: Deletion is permanent and irreversible.

What gets deleted:

  • Agent configuration and settings
  • Associated learning insights
  • Chat theme overrides
  • Publication URLs

What is preserved:

  • Historical sessions (sessions remain accessible)
  • Collected entity data (entities remain in database)
  • Knowledge sources (sources not deleted)

Deletion flow:

  1. Click trash icon on agent row
  2. Confirmation dialog appears
  3. Enter agent name to confirm
  4. Click "Delete Permanently"

Cannot delete if:

  • Agent is part of an active team
  • Agent has active scheduled tasks
  • Agent is referenced by automation workflows

Agent List API Fields ​

The agent list endpoint (/api/agents) returns agents with the following structure (verified against app/types/domains/agent.ts):

typescript
interface ExtendedAgent {
  id: number
  name: string
  description: string
  identifier?: string
  image_url?: string
  instructions?: string

  // Configuration
  configuration?: {
    manager?: boolean
    reasoning?: boolean
    multimodal?: boolean
    allow_delegation?: boolean
    orchestrator?: boolean
    chat_ui?: AgentChatUIConfig
  }

  // Access control
  access_level?: 'PRIVATE' | 'PUBLIC' | 'PASSWORD_PROTECTED'
  access_password?: string

  // Publication
  uri?: string | null
  domain_id?: number | null
  domain?: DomainMinimal | null

  // Theme
  chat_theme_id?: number | null
  chat_theme?: ChatThemeMinimal | null

  // Related entities
  traits?: any[]
  knowledge?: any[]
  learningObjectives?: any[]
  entity_types?: EntityTypeWithMode[]

  // Timestamps
  created_at?: string
  updated_at?: string

  // Legacy fields (deprecated)
  suggested_prompts?: SuggestedPromptsConfig | null
  empty_state_title?: string | null
  empty_state_description?: string | null
}

Key API Fields:

  • identifier: Auto-generated unique slug (different from uri)
  • image_url: Agent avatar image
  • traits: Array of trait objects (not just IDs)
  • entity_types: Full objects with collection_mode and custom_prompt

Best Practices ​

Naming Agents ​

  • Use clear, descriptive names (avoid generic names like "Agent 1")
  • Include purpose in name: "Customer Support Bot" not "Bot"
  • Keep names under 50 characters for readability

Writing Instructions ​

  • Be specific about agent goals and behavior
  • Include examples of good responses
  • Define boundaries (what agent should NOT do)
  • Keep instructions under 2000 characters for optimal performance

Configuring Capabilities ​

  • Enable Reasoning for complex problem-solving tasks
  • Enable Multimodal if agent needs to understand screenshots/images
  • Enable Delegation for multi-step workflows requiring specialization
  • Don't enable all capabilities — each adds latency and cost

Access Levels ​

  • Use PRIVATE during development and testing
  • Switch to PUBLIC only when ready for production
  • Use PASSWORD_PROTECTED for client-specific agents

Knowledge Sources ​

  • Start small — add 5-10 key documents, not 1000
  • Test search quality before deploying agent
  • Update knowledge regularly (set up scheduled re-indexing)

Performance ​

  • Agents with fewer tools respond faster
  • Limit knowledge sources to avoid slow response times
  • Disable unused capabilities
  • Use caching for frequently accessed knowledge

Next Steps ​