BotShelf Vampire BOTSHELF VAMPIRE Register

Library · Team · CrewAI · support-triage

AI Team crewai Support Untested multi-agent free

Support Triage — CrewAI

Classify an inbound message, propose a first reply hold, and flag escalation — human sends. (CrewAI multi-agent Python sketch for one job.)

Id: crewai/support-triage · Slug: support-triage · Status: Untested · Untested on this machine — recipe reviewed for safety (no secrets, no destructive commands, no auto-spend). Mark tested after you run it locally.

What is this

AI Team for CrewAI. Classify an inbound message, propose a first reply hold, and flag escalation — human sends. (CrewAI multi-agent Python sketch for one job.)

How this runtime fits

This CrewAI sketch is a AI Team implementation typed as AI Team in the catalog. Where roles coordinate, it is fair to call it an agent team or multi-agent system — not a swarm.

Parent AI Team: support-triage · What is an AI Team?

What it does

Classify an inbound message, propose a first reply hold, and flag escalation — human sends. (CrewAI multi-agent Python sketch for one job.)

Who for

Builders working on Support jobs who can run CrewAI themselves.

Works with

Need to run

How to use

  1. Create a venv; install CrewAI (pin versions yourself).
  2. Configure a local OpenAI-compatible base URL when possible.
  3. Save crew_support_triage.py and run: python crew_support_triage.py
  4. Replace PASTE_EXAMPLE_IN with your real input.
  5. Read Pass/Fail gate output before trusting the draft.

Limitations

Test status

Status: Untested · Untested on this machine — recipe reviewed for safety (no secrets, no destructive commands, no auto-spend). Mark tested after you run it locally.

# crew_support_triage.py — Support Triage (CrewAI)
# Safety: local/OpenAI-compatible endpoint preferred. No keys in source.
# pip install crewai  (pin versions yourself)

from crewai import Agent, Task, Crew, Process

SYSTEM = """You are a support triage assistant. Goal: classify and draft a hold reply.

RULES:
- Human sends the message. You do not send email/chat.
- Never ask for passwords, seed phrases, or full card numbers.
- Escalate billing disputes and safety issues.
- Keep the hold reply short and kind.

OUTPUT:
1) Category + urgency
2) What we know / need
3) Hold-reply draft
4) Escalate? yes/no + why"""

GOAL = "Classify an inbound message, propose a first reply hold, and flag escalation \u2014 human sends."

lead = Agent(
    role="Support Triage lead",
    goal=GOAL,
    backstory="Local BotShelf operator. One job, then stop. No spend. No destructive tools.",
    allow_delegation=False,
    verbose=False,
)

reviewer = Agent(
    role="Quality gate",
    goal="Check the lead output against the required sections; list gaps only.",
    backstory="Pedantic reviewer. Does not invent facts.",
    allow_delegation=False,
    verbose=False,
)

produce = Task(
    description=(
        "Follow SYSTEM strictly.\n\nSYSTEM:\n" + SYSTEM +
        "\n\nUSER INPUT:\n{user_input}"
    ),
    expected_output="Complete Support Triage structured result.",
    agent=lead,
)

gate = Task(
    description=(
        "Verify the previous result has all required sections. "
        "Return Pass/Fail + missing sections. Do not rewrite creatively."
    ),
    expected_output="Pass/Fail and gap list.",
    agent=reviewer,
)

crew = Crew(
    agents=[lead, reviewer],
    tasks=[produce, gate],
    process=Process.sequential,
)

def run(user_input: str) -> str:
    return str(crew.kickoff(inputs={"user_input": user_input}))

if __name__ == "__main__":
    print(run("PASTE_EXAMPLE_IN"))
From: user@example.com
Subject: charged twice?
Body: I see two USDT sends. Order #1842. Need help.
Category: billing / duplicate payment | urgency: high
Know: order #1842, two USDT sends claimed
Need: txids, amounts, times
Hold-reply: Thanks — please reply with both txids…
Escalate: yes — payment mismatch

Two-agent crew (produce + gate). Keep tools disabled unless you add read-only tools on purpose.

Parent: support-triage · implementation_id: crewai/support-triage

teams/support-triage/crewai · commit eb87e8e049fdf9908e438305ff827c7b617505b5 · license: free-use-at-own-risk

Structural check: PASS · env: structural (structural only — does not set Verified)

Soft thematic links only — not identity merges. Marketplace Teams ≠ Library AI Team records.