Appearance
Agent Purposes
Gnosari provides 41 pre-configured purpose templates split into two families. Each purpose includes default instructions, suggested traits, custom Build Wizard questions, and distribution-channel copy.
Overview
What are Purposes? Pre-built Gnosari templates that configure:
- Default instructions and behavior
- Recommended personality traits
- Custom Build Wizard questions
- Icon and color theme
- Distribution-channel messaging (embed / link / QR)
Where used?
- Build Wizard (
/build) — Step 0: Purpose selection, family-split grid
Purpose/type selection is only available in the Build Wizard. The advanced form (/gnosaris/create) has no Agent Type section — its AgentTypeSelector component was removed, and the form's Essentials section starts blank (name + instructions only). To use a purpose template, start from the Build Wizard; the advanced form is for direct, from-scratch configuration or for editing an already-created agent.
Source of truth: @neomanex/gnosari-agent-purposes npm package (packages/agent-purposes/ in this repo). See that package's README.md and CLAUDE.md for the full field reference, per-locale overlay structure, and how to add a new template. This page documents the taxonomy and how the app consumes it — it does not re-enumerate all 41 records (source: packages/agent-purposes/src/data/purposes/, one file per record).
Two Families
| Family | Framing | Count | Grid heading |
|---|---|---|---|
action | Outcome-first — "what do you need done?" | 5 | "What do you need done?" (leads the grid) |
assistant | Persona-first — ready-made role | 36 | "Or start from a ready-made assistant" |
Every purpose record carries family: 'assistant' | 'action' as a locale-invariant structure field. action records additionally carry a job id tying them to the wizard's verb-first tile row and ?job= deep link.
The 5 Action Templates
| Job id | Slug | Tagline |
|---|---|---|
ask | ask-someone | Send one question to one person and get a structured answer back |
ask-regularly | recurring-checkin | A recurring check-in that collects the same structured update on a cadence |
collect | collect-from-many | Collect the same structured submission from many people |
qualify | qualify-leads | Qualify inbound leads through conversation and score them |
answer | answer-for-me | Answer the same questions for many people automatically |
Full copy (name, description, default instructions, questions) lives in packages/agent-purposes/src/data/purposes/{slug}.ts.
The 36 Assistant Templates
The original persona templates (AI Representative, Social Buddy, Website Helper, Customer Support, Booking Assistant, Lead Collector, Event Helper, Recruiter Helper, Feedback Collector, and 27 more industry/use-case variants) are grouped in the Build Wizard grid by industry chip (INDUSTRIES taxonomy), not enumerated individually here. Browse the full set at /build or in packages/agent-purposes/src/data/purposes/.
Distribution Channels
Every one of the 41 templates (both families) carries a channels block — the three ways a finished Gnosari can be shared:
| Channel id | What it is |
|---|---|
embed | Dropped into a website with one line of code |
link | Shared as a joina.chat link |
qr | Printed as a scannable QR code |
The ids/icons are locale-invariant structure (CHANNELS taxonomy in the package); the human-readable label/blurb/sentence copy is translatable per locale. This block feeds both the Step 0 flow strip's channel icons and the Step 3 share surface.
Purpose Fields Reference
Every purpose has the following structure (from the @neomanex/gnosari-agent-purposes package, source: packages/agent-purposes/src/types/agent-purpose.ts):
typescript
{
id: string, // Unique identifier
slug: string, // URL-friendly slug
name: string, // Display name
tagline: string, // One-line description (always visible on the card)
description: string, // Full description — shown on the selected card, and
// seeds the Build Wizard's first chat message
icon: string, // Lucide icon name
colorTheme: string, // Color theme (violet, pink, blue, etc.)
industries: IndustryId[], // Industry taxonomy tags (structure, locale-invariant)
primaryIndustry?: IndustryId, // Omitted on generic templates
family: 'assistant' | 'action',// Family taxonomy (structure, locale-invariant)
job?: JobId, // Present only when family === 'action'
channels: DistributionChannels,// embed / link / qr structure + translatable copy
wizard: {
features: string[], // 3 key features
defaultTraits: string[], // Recommended trait IDs
defaultInstructions: string, // Pre-written instructions
suggestedNames: string[], // 3-4 name suggestions
questions: Question[], // Custom questions for Build Wizard
buildInstructions: (answers) => string // Function to build final instructions
}
}Selecting a Purpose
In Build Wizard
Path: /buildDisplay: Family-split grid — action templates lead under "What do you need done?", assistant templates follow under "Or start from a ready-made assistant". A search box and industry-chip row filter both groups Action: Click card → navigates to /build/{slug}
Direct Links:
/build/personal-ai— AI Representative/build/customer-support— Customer Support/build/qualify-leads— Qualify Leads (action family)- etc.
Effect: Pre-selects purpose and advances to Auth step (or Customize if logged in)
There is no equivalent purpose picker in the advanced form (/gnosaris/create) — it has no Agent Type section.
Customizing Purposes
Editing Instructions
After selecting a purpose, you can edit the default instructions:
In Build Wizard: Chat with Build Wizard to refine behavior In Advanced Form: Directly edit the instructions editor in the "Essentials" section
Recommendation: Start with defaults, then customize based on:
- Your specific use case
- Brand voice
- Target audience
- Unique requirements
Adding Knowledge
All purposes can be enhanced with knowledge sources:
- Add relevant sources (URLs, PDFs, documents) at /knowledge
- Assign to agent in Knowledge Base section
- Agent automatically searches knowledge when answering
Example: Customer Support purpose + FAQ knowledge source = Smarter support bot
Combining Traits
Default traits are suggestions only — you can:
- Add more traits
- Remove default traits
- Mix traits from different categories
Example: Booking Assistant (organized, friendly) + "detailed" trait = More thorough confirmation messages
Build Instructions Function
Each purpose has a buildInstructions() function that transforms user answers into agent instructions.
Example (AI Representative):
typescript
buildInstructions: (answers) => {
const aboutYou = answers.about_you
return `You are an AI clone representing your creator.
About your creator:
${aboutYou}
Your goal is to help visitors learn about your creator authentically.`
}This function:
- Receives answers from Build Wizard questions
- Injects answers into instruction template
- Returns final instructions for agent creation
- Called automatically when Build Wizard creates agent
Best Practices
Choosing a Purpose
Questions to ask:
- What is the agent's primary goal? (inform, collect, schedule, support — or, for action templates, ask/ask-regularly/collect/qualify/answer)
- Who is the audience? (customers, candidates, website visitors)
- What action should users take? (book, buy, provide info, get help)
If multiple purposes fit: Start with closest match, then customize in Advanced Form
Customizing Default Instructions
Keep:
- Core behavioral guidelines (tone, approach)
- Best practices (empathy, clarity)
- Boundary definitions (what NOT to do)
Change:
- Specific product/service details
- Company-specific policies
- Industry jargon or terminology
- Call-to-action wording
Testing Purposes
Before deploying:
- Create agent with purpose
- Chat with agent to test conversation quality
- Ask common questions your users might ask
- Verify data collection works (if applicable)
- Check personality matches expectations
- Refine instructions if needed
Next Steps
- Build Wizard: Create agent with guided wizard
- Agent Configuration: Customize in advanced form
- Knowledge Sources: Enhance with RAG knowledge
- Traits: Fine-tune personality