Skip to content

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

FamilyFramingCountGrid heading
actionOutcome-first — "what do you need done?"5"What do you need done?" (leads the grid)
assistantPersona-first — ready-made role36"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 idSlugTagline
askask-someoneSend one question to one person and get a structured answer back
ask-regularlyrecurring-checkinA recurring check-in that collects the same structured update on a cadence
collectcollect-from-manyCollect the same structured submission from many people
qualifyqualify-leadsQualify inbound leads through conversation and score them
answeranswer-for-meAnswer 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 idWhat it is
embedDropped into a website with one line of code
linkShared as a joina.chat link
qrPrinted 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:

  1. Add relevant sources (URLs, PDFs, documents) at /knowledge
  2. Assign to agent in Knowledge Base section
  3. 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:

  1. What is the agent's primary goal? (inform, collect, schedule, support — or, for action templates, ask/ask-regularly/collect/qualify/answer)
  2. Who is the audience? (customers, candidates, website visitors)
  3. 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:

  1. Create agent with purpose
  2. Chat with agent to test conversation quality
  3. Ask common questions your users might ask
  4. Verify data collection works (if applicable)
  5. Check personality matches expectations
  6. Refine instructions if needed

Next Steps