Assistants

For Coding Agents

assistants.md

AGNT Assistants

AI assistants without personality are just autocomplete. AGNT Assistants let you define distinct personalities, writing styles, and behavioral profiles — then assign them to users so every interaction feels intentional.

Why AGNT Assistants

Most platforms give you one global system prompt and call it a day. That falls apart fast. Different users need different tones. Your support agent shouldn't sound like your sales agent. Your CEO's assistant shouldn't write like an intern's.

AGNT Assistants solve this by treating personality as structured data — professionalism, humor, emoji use, signature style — not a freeform prompt you hope the model follows. You configure it once, assign it to users, and it stays consistent across every interaction.

System templates give you a starting point. Custom assistants let you dial in exactly what you need.

Quick Start

Create an assistant and assign it to a user in two calls.

1. Create an Assistant

bash
curl -X POST https://api.agnt.ai/assistants \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Professional Scheduler",
    "email": "admin@yourcompany.com",
    "personality": "Efficient, warm, and direct. Gets to the point without being curt.",
    "signature": "Best regards",
    "writingStyle": {
      "professionalism": 8,
      "humor": 3,
      "emojiUse": 1
    }
  }'

Response:

json
{
  "success": true,
  "data": {
    "id": "asst_7kx9m2nq",
    "account": "acc_abc123",
    "name": "Professional Scheduler",
    "email": "admin@yourcompany.com",
    "personality": "Efficient, warm, and direct. Gets to the point without being curt.",
    "signature": "Best regards",
    "writingStyle": {
      "professionalism": 8,
      "humor": 3,
      "emojiUse": 1
    },
    "status": "active",
    "isSystemTemplate": false,
    "metadata": {},
    "tags": [],
    "createdAt": "2026-02-15T10:30:00.000Z"
  }
}

2. Assign to a User

bash
curl -X POST https://api.agnt.ai/users/usr_abc123/assistant \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "assistantId": "asst_7kx9m2nq"
  }'

That user's interactions now carry the assistant's personality, writing style, and signature.

Core Concepts

Assistants

An assistant is a personality profile — a structured definition of how an AI agent should communicate. It's not a model, not a prompt, not a conversation thread. It's the behavioral layer that sits on top of all of those.

Every assistant has:

  • Personality — free-text description of tone and approach
  • Signature — how the assistant signs off on messages
  • Writing Style — numeric scales for professionalism, humor, and emoji use
  • Avatar — optional visual identity

Writing Style

Writing style uses numeric scales (0-10) instead of vague descriptors. This makes behavior reproducible and adjustable.

FieldRangeWhat it controls
professionalism0-10Formal (10) to casual (0)
humor0-10Dry/serious (0) to playful (10)
emojiUse0-10None (0) to frequent (10)

You can also provide charactersOrCelebrities — a list of reference personas to guide the model's tone. Think "writes like David Ogilvy" or "tone of a calm airline pilot."

System Templates

AGNT ships system template assistants — pre-built personalities you can use directly or clone and customize. These are available to all accounts via the /assistants/system endpoint.

Per-User Assignment

Every user can have one assistant assigned. When assigned, that assistant's configuration applies to all agent interactions for that user. No assistant assigned? The system defaults apply.

Bulk Sync

If you're managing assistants externally (syncing from your own user database, for example), the /assistants/bulk-sync endpoint lets you upsert multiple assistants in a single call, matched by email.

API Reference

Endpoints

MethodPathDescriptionAuth
GET/assistantsList account assistantsManagement
POST/assistantsCreate an assistantManagement
GET/assistants/systemList system template assistantsManagement
POST/assistants/bulk-syncBulk upsert assistants by emailManagement
GET/assistants/:assistantIdGet assistant by IDManagement
PUT/assistants/:assistantIdUpdate an assistantManagement
DELETE/assistants/:assistantIdDelete an assistantManagement
GET/users/:userId/assistantGet user's assigned assistantManagement
POST/users/:userId/assistantAssign assistant to userManagement
PUT/users/:userId/assistantUpdate user's assistant assignmentManagement
DELETE/users/:userId/assistantRemove user's assistantManagement

Assistant Object

json
{
  "id": "asst_7kx9m2nq",
  "account": "acc_abc123",
  "user": "usr_abc123",
  "name": "Professional Scheduler",
  "email": "admin@yourcompany.com",
  "avatar": "https://cdn.agnt.ai/avatars/asst_7kx9m2nq.png",
  "personality": "Efficient, warm, and direct. Gets to the point without being curt.",
  "signature": "Best regards",
  "writingStyle": {
    "professionalism": 8,
    "humor": 3,
    "emojiUse": 1,
    "charactersOrCelebrities": ["David Ogilvy"]
  },
  "status": "active",
  "isSystemTemplate": false,
  "metadata": {},
  "tags": ["scheduling", "enterprise"],
  "createdAt": "2026-02-15T10:30:00.000Z"
}
FieldTypeDescription
idstringUnique assistant identifier
accountstringAccount ID the assistant belongs to
userstringUser ID if assigned to a specific user
namestringDisplay name
emailstringEmail associated with the assistant
avatarstringURL to avatar image
personalitystringFree-text personality description
signaturestringSign-off text for messages
writingStyleobjectNumeric style scales
writingStyle.professionalismnumber0-10 scale
writingStyle.humornumber0-10 scale
writingStyle.emojiUsenumber0-10 scale
writingStyle.charactersOrCelebritiesstring[]Reference personas for tone
statusstringactive or inactive
isSystemTemplatebooleanWhether this is a system-provided template
metadataobjectArbitrary key-value pairs
tagsstring[]Categorization tags
createdAtstringISO 8601 timestamp

List Account Assistants

bash
curl https://api.agnt.ai/assistants?email=admin@yourcompany.com \
  -H "Authorization: Bearer $TOKEN"
json
{
  "success": true,
  "data": [
    {
      "id": "asst_7kx9m2nq",
      "name": "Professional Scheduler",
      "email": "admin@yourcompany.com",
      "personality": "Efficient, warm, and direct.",
      "writingStyle": {
        "professionalism": 8,
        "humor": 3,
        "emojiUse": 1
      },
      "status": "active",
      "isSystemTemplate": false,
      "createdAt": "2026-02-15T10:30:00.000Z"
    }
  ]
}

List System Templates

bash
curl https://api.agnt.ai/assistants/system \
  -H "Authorization: Bearer $TOKEN"
json
{
  "success": true,
  "data": [
    {
      "id": "asst_sys_friendly",
      "name": "Friendly Default",
      "personality": "Warm, approachable, and helpful. Uses conversational language.",
      "writingStyle": {
        "professionalism": 5,
        "humor": 6,
        "emojiUse": 4
      },
      "status": "active",
      "isSystemTemplate": true
    },
    {
      "id": "asst_sys_executive",
      "name": "Executive Brief",
      "personality": "Concise, authoritative, data-driven. No fluff.",
      "writingStyle": {
        "professionalism": 10,
        "humor": 0,
        "emojiUse": 0
      },
      "status": "active",
      "isSystemTemplate": true
    }
  ]
}

Create an Assistant

bash
curl -X POST https://api.agnt.ai/assistants \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Casual Helper",
    "email": "admin@yourcompany.com",
    "personality": "Relaxed and conversational. Explains things like a smart friend would.",
    "signature": "Cheers",
    "writingStyle": {
      "professionalism": 3,
      "humor": 7,
      "emojiUse": 5,
      "charactersOrCelebrities": ["Paul Graham"]
    },
    "avatar": "https://yourcdn.com/avatars/casual.png",
    "metadata": {
      "department": "engineering"
    }
  }'
FieldRequiredTypeDescription
nameYesstringDisplay name for the assistant
emailYesstringEmail to associate with the assistant
personalityNostringFree-text personality description
signatureNostringMessage sign-off text
writingStyleNoobjectNumeric style configuration
avatarNostringAvatar image URL
metadataNoobjectArbitrary key-value pairs

Bulk Sync Assistants

Upsert multiple assistants in one call. Assistants are matched by email — existing ones are updated, new ones are created.

bash
curl -X POST https://api.agnt.ai/assistants/bulk-sync \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "assistants": [
      {
        "name": "Sales Rep",
        "email": "sales@yourcompany.com",
        "personality": "Enthusiastic and solution-oriented.",
        "writingStyle": { "professionalism": 7, "humor": 5, "emojiUse": 3 }
      },
      {
        "name": "Support Agent",
        "email": "support@yourcompany.com",
        "personality": "Patient, thorough, empathetic.",
        "writingStyle": { "professionalism": 8, "humor": 2, "emojiUse": 1 }
      }
    ]
  }'

Get User's Assistant

bash
curl https://api.agnt.ai/users/usr_abc123/assistant \
  -H "Authorization: Bearer $TOKEN"
json
{
  "success": true,
  "data": {
    "id": "asst_7kx9m2nq",
    "name": "Professional Scheduler",
    "personality": "Efficient, warm, and direct.",
    "writingStyle": {
      "professionalism": 8,
      "humor": 3,
      "emojiUse": 1
    },
    "status": "active"
  }
}

Assign Assistant to User

bash
curl -X POST https://api.agnt.ai/users/usr_abc123/assistant \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "assistantId": "asst_7kx9m2nq" }'

Remove User's Assistant

bash
curl -X DELETE https://api.agnt.ai/users/usr_abc123/assistant \
  -H "Authorization: Bearer $TOKEN"

Returns the user to default system behavior.

For Coding Agents

If you're building an agent that interacts with AGNT Assistants:

  • Fetch the user's assistant before generating responses. Call GET /users/:userId/assistant to get the active personality config. Use it to shape system prompts, tone, and formatting.
  • Treat writingStyle as hard constraints, not suggestions. A professionalism of 10 means formal language, full sentences, no slang. A humor of 0 means no jokes, no wordplay.
  • Use personality as the system prompt modifier. Inject it into your prompt chain as a behavioral directive.
  • Respect signature. If a signature is set, append it to outbound messages.
  • charactersOrCelebrities is a tone hint. Use it for few-shot style matching, not literal impersonation.
  • System templates are read-only. If you need to modify one, create a custom assistant based on it.
  • Bulk sync is idempotent. Safe to call repeatedly — it matches on email and updates in place.

For Product Teams

  • Assistants are your brand voice layer. Define them during onboarding and assign by role or team. Sales gets one personality, support gets another, executives get a third.
  • Writing style scales make A/B testing trivial. Change humor from 3 to 7, measure the impact on user engagement. No prompt engineering required.
  • System templates accelerate setup. Browse templates with GET /assistants/system, pick one that's close, clone and customize it for your needs.
  • Per-user assignment means personalization at scale. Every user can have a distinct experience without managing separate agent instances.
  • Bulk sync integrates with your user management. Sync assistant assignments from your HR system, CRM, or user database. One API call keeps everything in sync.