AI Support Guide

Simpli Assist

AI-powered agent copilot with contextual suggestions for customer support.

Assist is your agents' AI copilot. It combines knowledge base articles, macros, conversation history, and customer context to surface the most relevant suggestions in real-time. Agents resolve tickets faster with intelligent, contextual recommendations.

Simpli Assist provides contextual suggestions, next-action recommendations, and rich context panels for support agents using LLM-powered analysis.

Configuration

VariableDefaultDescription
APP_PORT8010Server port
LITELLM_MODELopenai/gpt-5-miniLLM model for suggestions
MAX_SUGGESTIONS5Maximum number of suggestions to return
CONTEXT_WINDOW_SIZE10Number of recent messages to consider
CORS_ORIGINS*Allowed CORS origins (comma-separated)

Start the server

simpli-assist serve

API endpoints

All endpoints are under the /api/v1 prefix.

POST /api/v1/suggest

Get contextual suggestions for the current conversation.

Request:

{
  "ticket_id": "T-321",
  "conversation": [
    {"role": "customer", "content": "How do I export my data as CSV?"}
  ],
  "agent_id": "agent-42"
}

The role field accepts values from the AuthorType enum: customer, agent, or system.

Response:

{
  "suggestion_id": "sg-abc123",
  "suggestions": [
    {
      "type": "kb_article",
      "content": "Exporting Your Data — Navigate to Settings > Export to download your data as CSV...",
      "confidence": 0.92,
      "source": "kb-article-47"
    },
    {
      "type": "reply",
      "content": "You can export your data as CSV from Settings > Export. Select the date range and click Download.",
      "confidence": 0.88,
      "source": null
    },
    {
      "type": "macro",
      "content": "data_export_instructions",
      "confidence": 0.75,
      "source": "macro-12"
    }
  ]
}

Suggestion types: reply (draft response), macro (template to apply), kb_article (relevant article), escalation (escalation recommendation).

POST /api/v1/next-action

Recommend the next best action for a conversation.

Request:

{
  "ticket_id": "T-321",
  "conversation": [
    {"role": "customer", "content": "This is the third time I've reported this!"},
    {"role": "agent", "content": "I sincerely apologise for the repeated issue."}
  ],
  "current_status": "open"
}

Response:

{
  "action_id": "a-def456",
  "recommended_action": "escalate",
  "reasoning": "Customer has reported this issue multiple times, indicating a recurring problem that needs senior attention.",
  "confidence": 0.85,
  "alternatives": ["apply_macro", "reply"]
}

POST /api/v1/context

Build a rich context panel for the current conversation.

{
  "ticket_id": "T-321",
  "conversation": [
    {"role": "customer", "content": "I can't export my data"}
  ],
  "customer_id": "cust-99"
}

GET /health

Health check.

Integration example

import httpx

client = httpx.Client(base_url="http://localhost:8010")

# Get suggestions for current conversation
suggestions = client.post("/api/v1/suggest", json={
    "ticket_id": "T-456",
    "conversation": [
        {"role": "customer", "content": "How do I cancel my subscription?"},
    ],
}).json()

for s in suggestions["suggestions"]:
    print(f"[{s['type']}] {s['content']} ({s['confidence']:.0%})")

# Get next action recommendation
action = client.post("/api/v1/next-action", json={
    "ticket_id": "T-456",
    "conversation": [
        {"role": "customer", "content": "I want to cancel immediately"},
    ],
}).json()

print(f"Recommended: {action['recommended_action']}")
print(f"Reason: {action['reasoning']}")

Next steps

On this page