activepieces
AI Agents & MCPs & AI Workflow Automation β’ (~400 MCP servers for AI agents) β’ AI Automation / AI Agent with MCPs β’ AI Workflows & AI Agents β’ MCPs for AI Agents
Crawler Summary
This project is based on crewai framwork with a multiagents <div align="center"> <img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=230§ion=header&text=SupportCrew%20AI&fontSize=64&fontColor=ffffff&fontAlignY=38&desc=Multi-agent%20support%20with%20a%20QA%20feedback%20loop%20%E2%80%A2%20100%25%20local&descAlignY=60&descSize=18&animation=fadeIn" alt="SupportCrew AI banner" width="100%"/> <a href="https://github.com/Mahe Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
Ticket_resolver_crewai is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
This project is based on crewai framwork with a multiagents <div align="center"> <img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=230§ion=header&text=SupportCrew%20AI&fontSize=64&fontColor=ffffff&fontAlignY=38&desc=Multi-agent%20support%20with%20a%20QA%20feedback%20loop%20%E2%80%A2%20100%25%20local&descAlignY=60&descSize=18&animation=fadeIn" alt="SupportCrew AI banner" width="100%"/> <a href="https://github.com/Mahe
Public facts
4
Change events
1
Artifacts
0
Freshness
Oct 9, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Oct 9, 2026
Vendor
Mahee0117
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Mahee0117
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
python
mermaid
flowchart TD
A([π« Customer Ticket]) --> B[π Triage Agent]
B --> C{{π¦ Structured Triage Result<br/>category Β· priority Β· issue}}
C --> D{π§ Python Router}
D -->|Billing| E[π³ Billing Agent]
D -->|Technical| F[π οΈ Technical Agent]
D -->|Account| G[π€ Account Agent]
D -->|General| H[π¬ General Support Agent]
E --> I[π Customer Response]
F --> I
G --> I
H --> I
I --> J[π§ͺ QA Agent]
J -->|β
APPROVED| K([π¨ Final Response])
J -->|β REJECTED + feedback| L{Retries left?}
L -->|Yes| D
L -->|No| K
style A fill:#8b5cf6,color:#fff,stroke:none
style B fill:#6366f1,color:#fff,stroke:none
style C fill:#0ea5e9,color:#fff,stroke:none
style D fill:#f59e0b,color:#fff,stroke:none
style J fill:#ec4899,color:#fff,stroke:none
style K fill:#22c55e,color:#fff,stroke:nonepython
MAX_RETRIES = 2 # 1 first attempt + up to 2 retries = max 3 attempts
mermaid
flowchart LR
A1[Attempt 1] --> Q1[QA]
Q1 -->|Reject| A2[Attempt 2]
A2 --> Q2[QA]
Q2 -->|Reject| A3[Attempt 3]
A3 --> Q3[QA]
Q3 -->|Approve or limit reached| Z([Stop])
Q1 -->|Approve| Z
Q2 -->|Approve| Ztext
PREVIOUS RESPONSE: ... QA FEEDBACK: ... Improve the previous response based on the QA feedback.
text
QAResult(
approved = False,
feedback = "Do not assume the customer uses Windows. The response is unnecessarily verbose."
)python
class TriageResult(BaseModel):
category: str
priority: str
issue: str
class QAResult(BaseModel):
approved: bool
feedback: strFull documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
This project is based on crewai framwork with a multiagents <div align="center"> <img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=230§ion=header&text=SupportCrew%20AI&fontSize=64&fontColor=ffffff&fontAlignY=38&desc=Multi-agent%20support%20with%20a%20QA%20feedback%20loop%20%E2%80%A2%20100%25%20local&descAlignY=60&descSize=18&animation=fadeIn" alt="SupportCrew AI banner" width="100%"/> <a href="https://github.com/Mahe
Overview Β· What's new in v2 Β· How it works Β· Agents Β· Quick start Β· Roadmap
</div>SupportCrew AI is a multi-agent customer support system built with CrewAI.
A ticket comes in. A Triage Agent classifies it and sets its priority. The ticket is routed to the right specialist agent, which drafts a customer-friendly response. Then a QA Agent reviews that response, and if it isn't good enough, the specialist gets feedback and tries again.
π‘ Why multi-agent? Each agent has one clear job. Specialists give focused answers, and a separate reviewer catches what the writer missed.
A new reviewer checks every specialist response for relevance, correctness and usefulness before it goes out.
</td> <td width="33%" valign="top">Rejected responses go back to the specialist together with the QA feedback, with a bounded retry limit.
</td> <td width="33%" valign="top">Moved from Hugging Face to Ollama + Qwen2 7B. No API credits or tokens required.
</td> </tr> </table>| | v1 | v2 |
|---|---|---|
| Flow | Ticket β Triage β Specialist β Response | Ticket β Triage β Specialist β QA β Final response or retry |
| QA review | β | β
structured QAResult |
| Feedback loop | β | β
up to 2 retries |
| LLM | Hugging Face (hosted) | Ollama qwen2:7b (local) |
| Code layout | Single file | Modular: agents, tasks, models, config, router, tickets |
flowchart TD
A([π« Customer Ticket]) --> B[π Triage Agent]
B --> C{{π¦ Structured Triage Result<br/>category Β· priority Β· issue}}
C --> D{π§ Python Router}
D -->|Billing| E[π³ Billing Agent]
D -->|Technical| F[π οΈ Technical Agent]
D -->|Account| G[π€ Account Agent]
D -->|General| H[π¬ General Support Agent]
E --> I[π Customer Response]
F --> I
G --> I
H --> I
I --> J[π§ͺ QA Agent]
J -->|β
APPROVED| K([π¨ Final Response])
J -->|β REJECTED + feedback| L{Retries left?}
L -->|Yes| D
L -->|No| K
style A fill:#8b5cf6,color:#fff,stroke:none
style B fill:#6366f1,color:#fff,stroke:none
style C fill:#0ea5e9,color:#fff,stroke:none
style D fill:#f59e0b,color:#fff,stroke:none
style J fill:#ec4899,color:#fff,stroke:none
style K fill:#22c55e,color:#fff,stroke:none
<table>
<tr>
<td width="20%" align="center"><h3>1οΈβ£</h3><b>Ticket</b><br/><sub>A customer describes the problem in plain language</sub></td>
<td width="20%" align="center"><h3>2οΈβ£</h3><b>Triage</b><br/><sub>Category, priority and issue summary are extracted</sub></td>
<td width="20%" align="center"><h3>3οΈβ£</h3><b>Route</b><br/><sub>Plain Python logic picks one specialist, with no extra LLM call</sub></td>
<td width="20%" align="center"><h3>4οΈβ£</h3><b>Resolve</b><br/><sub>The specialist drafts a response</sub></td>
<td width="20%" align="center"><h3>5οΈβ£</h3><b>QA</b><br/><sub>Approve it, or send it back with feedback</sub></td>
</tr>
</table>
The loop is bounded on purpose. An open-ended while not approved could run forever, so the system stops after a fixed number of retries.
MAX_RETRIES = 2 # 1 first attempt + up to 2 retries = max 3 attempts
flowchart LR
A1[Attempt 1] --> Q1[QA]
Q1 -->|Reject| A2[Attempt 2]
A2 --> Q2[QA]
Q2 -->|Reject| A3[Attempt 3]
A3 --> Q3[QA]
Q3 -->|Approve or limit reached| Z([Stop])
Q1 -->|Approve| Z
Q2 -->|Approve| Z
On a retry, the specialist receives its previous response and the QA feedback, then improves the draft:
PREVIOUS RESPONSE:
...
QA FEEDBACK:
...
Improve the previous response based on the QA feedback.
Illustrative example of what a rejection could look like:
QAResult(
approved = False,
feedback = "Do not assume the customer uses Windows. The response is unnecessarily verbose."
)
Both the triage and QA agents return validated Pydantic models instead of free text.
class TriageResult(BaseModel):
category: str
priority: str
issue: str
class QAResult(BaseModel):
approved: bool
feedback: str
Four tickets ran through the full Triage β Specialist β QA pipeline on local Qwen2 7B:
| # | Ticket | Category | Priority | Result | |:-:|---|:-:|:-:|:-:| | 1 | Password reset problem | Account | Medium | β Approved | | 2 | App crashes on PDF upload | Technical | High | β Approved | | 3 | Profile picture issue | Account | Low | β Approved | | 4 | Unauthorized access and fraudulent transactions | Account | Urgent | β Approved |
<!-- πΈ Add a terminal screenshot or GIF of a real run here, for example: <p align="center"><img src="docs/demo.gif" alt="SupportCrew AI demo" width="80%"/></p> -->π Honest note: all four responses were approved on the first attempt, so the reject β feedback β retry path is implemented but not yet demonstrated in a real run.
main.py is now a thin orchestrator. The work is split into small functions.
main.py
β
βββ run_triage() β creates the triage task + crew, returns TriageResult
βββ run_specialist() β routes by category, runs the matching specialist
βββ run_quality_check() β creates the QA task + crew, returns QAResult
βββ main() β ticket β triage β specialist β QA β retry if needed
The router (category β agent) is deterministic Python, not another LLM call.
| Layer | Tools |
|---|---|
| π Language | Python |
| π€ Agent framework | CrewAI |
| π§ LLM runtime | Ollama |
| π€ Model | qwen2:7b (local) |
| β
Data validation | Pydantic |
| π¦ Packaging | uv |
Ticket_resolver_crewai/
β
βββ src/
β βββ supportcrew_ai/
β βββ __init__.py
β βββ main.py # orchestration + QA retry loop
β βββ config.py # local Ollama LLM setup
β βββ models.py # TriageResult, QAResult
β βββ agents.py # all six agents
β βββ tasks.py # all tasks, incl. QA task
β βββ router.py # category β specialist
β βββ tickets.py # sample tickets
β
βββ .gitignore
βββ .python-version
βββ pyproject.toml
βββ uv.lock
βββ README.md
π§© Agents and tasks each live in a single file on purpose. At this size, one file per agent would be needless fragmentation.
1. Clone the repository
git clone https://github.com/Mahee0117/Ticket_resolver_crewai.git
cd Ticket_resolver_crewai
2. Install dependencies
uv sync
3. Pull the local model and make sure Ollama is running
ollama pull qwen2:7b
Ollama serves on http://localhost:11434 by default.
4. Run it
uv run python src/supportcrew_ai/main.py
β No API keys needed. v2 runs entirely on your machine.
Using a different model? Change the model in config.py:
llm = LLM(
model="ollama/qwen2:7b",
base_url="http://localhost:11434",
)
These are planned improvements, not blockers for v2.
SupportCrew AI is built incrementally. Each version adds one new agentic capability.
| Version | Milestone | Status | |:---:|---|:---:| | v1.0 | Multi-agent triage and routing | β Done | | v2.0 | QA Agent + feedback retry loop + local Ollama | β Done | | v3.0 | Tools + knowledge base (RAG) | ποΈ Planned | | v4.0 | CrewAI Flow + human escalation | ποΈ Planned | | v5.0 | FastAPI + PostgreSQL + React | ποΈ Planned |
<details> <summary>β <b>v1.0: Multi-Agent Triage & Routing</b> (completed)</summary> <br/>QAResult (approved, feedback)previous_response and qa_feedbackMAX_RETRIES = 2)run_triage(), run_specialist(), run_quality_check()qwen2:7b), no hosted API neededSpecialists gain tools and can look things up in company documentation, so they work with real data instead of only the ticket text.
get_customer() get_order() get_payment() get_account() search_logs()
Potential knowledge sources: FAQs Β· Refund policies Β· Account recovery docs Β· Product docs Β· Troubleshooting guides
flowchart LR
T[π« Ticket] --> S[Specialist Agent] --> K[(π Knowledge Base)] --> D[Relevant Docs] --> R([β
Accurate Resolution])
</details>
<details>
<summary>π£ <b>v4.0: CrewAI Flow & Human Escalation</b> (planned)</summary>
<br/>
Move orchestration into a structured CrewAI Flow, and escalate to a human for:
flowchart LR
A[βοΈ React Frontend] --> B[β‘ FastAPI Backend] --> C[π€ CrewAI Workflow] --> D[π§° Agents + Tools + RAG] --> E[(π PostgreSQL)]
</details>
π§ Everything from v3.0 onward is a plan, not a feature that exists today.
This project doubles as a hands-on way of learning CrewAI, built one layer at a time:
Single Agent β Multiple Agents β Routing β Structured Outputs β QA + Feedback
β Tools + RAG β Workflow Orchestration β Full Application
Each version marks a new stage of understanding and implementation.
Mahesh M S K <br/> <sub>Computer Science student Β· Agentic AI Β· Multi-Agent Systems Β· Generative AI Β· DevOps Β· Cloud Β· Full-Stack</sub>
<br/> <br/>Current version: v2.0 Β· π§ Actively being developed
β If you find this project interesting, consider giving it a star!
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&customColorList=6,11,20&height=110§ion=footer" alt="footer" width="100%"/> </div>Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
AI Agents & MCPs & AI Workflow Automation β’ (~400 MCP servers for AI agents) β’ AI Automation / AI Agent with MCPs β’ AI Workflows & AI Agents β’ MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | π Star if you like it!
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-10-09T18:49:53.641Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Mahee0117",
"href": "https://github.com/Mahee0117/Ticket_resolver_crewai",
"sourceUrl": "https://github.com/Mahee0117/Ticket_resolver_crewai",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T11:50:37.115Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T11:50:37.115Z",
"isPublic": true
},
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-mahee0117-ticket-resolver-crewai/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub Β· GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to Ticket_resolver_crewai and adjacent AI workflows.