Use Cases

Support Automation

Build an L1/L2 support system where agents handle routine questions across Slack, email, and Teams — escalating to senior agents or humans only when they can't resolve the issue. Most teams see 60–80% of tickets resolved without human intervention.

What you'll have

  • Agents answering support questions in real-time across 3+ channels
  • Automatic escalation when confidence is low or timeout is reached
  • A growing knowledge base that improves resolution rates over time
  • Daily standup reports showing ticket volume, resolution rates, and blockers

Architecture

ComponentRole
support-agentL1 — handles routine questions using knowledge base
senior-supportL2 — resolves escalated issues with deeper tooling
Escalation chainRoutes unresolved tickets through L1 → L2 → human
Team KBShared knowledge base that agents contribute to and search
ChannelsSlack, email, Teams — customers reach agents where they already are

Step 1: Configure agents and channels

yaml
# astra.yml — support automation setup
agents:
  - id: support-agent
    systemPromptTemplate: |
      You are a technical support agent for {{company_name}}.
      Answer questions using the knowledge base. If you cannot resolve
      the issue with confidence > 0.7, escalate immediately.
    providers: [claude, groq]
    tools:
      allow: [knowledge_retrieve, web_search, jira_integration]
    budget:
      maxCostCents: 50
      maxToolCalls: 15

  - id: senior-support
    systemPromptTemplate: |
      You are a senior support engineer. You receive escalated tickets
      that L1 could not resolve. You have access to internal docs and
      can execute diagnostic tools.
    providers: [claude]
    tools:
      allow: [knowledge_retrieve, code_execute, database_query, shell_execute]
    budget:
      maxCostCents: 200
      maxToolCalls: 30

channels:
  slack:
    enabled: true
    defaultAgent: support-agent
  email:
    enabled: true
    defaultAgent: support-agent
  teams:
    enabled: true
    defaultAgent: support-agent

Step 2: Set up escalation

The escalation chain gives support-agent 5 minutes to resolve. If it can't (or confidence drops below 0.7), the ticket escalates to senior-support with 15 minutes. After that, it goes to a human.

bash
# Create the escalation chain
curl -X POST http://localhost:3000/escalation-chains \
  -H "Authorization: Bearer ${JWT_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "support-escalation",
    "levels": [
      { "agentId": "support-agent", "timeoutSeconds": 300, "confidenceThreshold": 0.7 },
      { "agentId": "senior-support", "timeoutSeconds": 900 },
      { "agentId": "human-escalation", "timeoutSeconds": 3600 }
    ]
  }'

Step 3: Load your knowledge base

Pre-load common support procedures. Agents will also contribute new entries as they resolve tickets — the KB grows automatically.

bash
# Load your support knowledge base
curl -X POST http://localhost:3000/team-kb/entries \
  -H "Authorization: Bearer ${JWT_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "agentId": "support-agent",
    "title": "Password Reset Procedure",
    "content": "1. Verify identity via email. 2. Generate reset link...",
    "tags": ["auth", "password", "common"]
  }'

Step 4: Monitor with standups

Generate a daily standup report to track ticket volume, resolution rates, tool usage, and blockers.

bash
# Generate daily support standup
curl -X POST http://localhost:3000/standups/generate \
  -H "Authorization: Bearer ${JWT_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ "agentIds": ["support-agent", "senior-support"] }'

Tuning

  • Lower the confidenceThreshold to reduce escalations (at the cost of some inaccurate responses)
  • Add more entries to the Team KB to improve L1 resolution rates
  • Use peer learning to automatically extract strategies from senior-support and apply them to support-agent
  • Monitor costs on the cost dashboard — Groq as primary provider keeps L1 costs very low