AionUi
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!
Crawler Summary
Multi-Agent Agentic AI Customer Support System using CrewAI, LangChain RAG, FAISS, reranking, web search, Gmail, HITL, and Google Sheets. Agentic Customer Support System A personal educational AI project demonstrating an agentic customer support workflow using CrewAI, LangChain, RAG, FAISS, reranking, web search, Gmail, Google Sheets, and OpenAI. The system demonstrates how AI agents can classify customer support emails, retrieve information from a local knowledge base, validate generated answers, use web search when additional information is required, Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
Agentic-Customer-Support-System 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
Multi-Agent Agentic AI Customer Support System using CrewAI, LangChain RAG, FAISS, reranking, web search, Gmail, HITL, and Google Sheets. Agentic Customer Support System A personal educational AI project demonstrating an agentic customer support workflow using CrewAI, LangChain, RAG, FAISS, reranking, web search, Gmail, Google Sheets, and OpenAI. The system demonstrates how AI agents can classify customer support emails, retrieve information from a local knowledge base, validate generated answers, use web search when additional information is required,
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
Deepan095
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
Deepan095
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
text
Customer Email
|
v
Gmail API
|
v
Support Query Classification
|
+----------------------+
| |
v v
SUPPORT NOT SUPPORT
| |
v Ignore
Agent 1
RAG Support Agent
|
v
LangChain RAG Pipeline
|
v
Document Loading
|
v
Text Chunking
|
v
Hugging Face Embeddings
all-MiniLM-L6-v2
|
v
FAISS Vector Search
|
v
Relevant Chunks
|
v
CrossEncoder Reranking
ms-marco-MiniLM-L-6-v2
|
v
RAG Answer
|
v
Agent 2
Validator + Web Research Agent
|
v
Confidence Score
|
+-----------------------------+
| |
v v
Confidence >= 70% Confidence < 70%
| |
| v
| Web Search
| |
| v
| Improve Answer
| |
| v
| Revalidate
| |
| +--------+--------+
| | |
| v v
| >= 70% < 70%
| | |
+--------------------+ |
| |
v v
Agent 3 Web Search Again
Customer Response Agent |
| v
| Revalidate
| |
| +-------+-------+
| text
Search Slack Knowledge Base
text
0 - 100
text
Confidence >= 70%
text
Confidence < 70%
text
SerperDevTool
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
Multi-Agent Agentic AI Customer Support System using CrewAI, LangChain RAG, FAISS, reranking, web search, Gmail, HITL, and Google Sheets. Agentic Customer Support System A personal educational AI project demonstrating an agentic customer support workflow using CrewAI, LangChain, RAG, FAISS, reranking, web search, Gmail, Google Sheets, and OpenAI. The system demonstrates how AI agents can classify customer support emails, retrieve information from a local knowledge base, validate generated answers, use web search when additional information is required,
A personal educational AI project demonstrating an agentic customer support workflow using CrewAI, LangChain, RAG, FAISS, reranking, web search, Gmail, Google Sheets, and OpenAI.
The system demonstrates how AI agents can classify customer support emails, retrieve information from a local knowledge base, validate generated answers, use web search when additional information is required, generate professional customer responses, and route low-confidence cases for Human-in-the-Loop review.
Note: Slack is used only as an example SaaS product for learning and demonstration purposes. This project is not affiliated with or endorsed by Slack or Salesforce.
This is a personal educational project created solely for learning, experimentation, and portfolio demonstration purposes.
Slack is used in this project only as an example SaaS product to demonstrate how an AI-powered customer support system can work with RAG, multi-agent workflows, web search, Gmail automation, and Human-in-the-Loop (HITL).
This project is not affiliated with, associated with, authorized by, endorsed by, or officially connected with Slack or Salesforce.
The Slack-related knowledge used in this project is intended only for educational and demonstration purposes. No confidential company data, private customer information, or proprietary internal support data is intended to be included in this repository.
The purpose of this project is to learn and demonstrate technologies such as CrewAI, LangChain, RAG, FAISS, embeddings, reranking, web search, Gmail API, Google Sheets API, and agentic AI workflows.
The goal of this project is to build a multi-agent AI customer support workflow using three AI agents.
The system is designed to:
Customer Email
|
v
Gmail API
|
v
Support Query Classification
|
+----------------------+
| |
v v
SUPPORT NOT SUPPORT
| |
v Ignore
Agent 1
RAG Support Agent
|
v
LangChain RAG Pipeline
|
v
Document Loading
|
v
Text Chunking
|
v
Hugging Face Embeddings
all-MiniLM-L6-v2
|
v
FAISS Vector Search
|
v
Relevant Chunks
|
v
CrossEncoder Reranking
ms-marco-MiniLM-L-6-v2
|
v
RAG Answer
|
v
Agent 2
Validator + Web Research Agent
|
v
Confidence Score
|
+-----------------------------+
| |
v v
Confidence >= 70% Confidence < 70%
| |
| v
| Web Search
| |
| v
| Improve Answer
| |
| v
| Revalidate
| |
| +--------+--------+
| | |
| v v
| >= 70% < 70%
| | |
+--------------------+ |
| |
v v
Agent 3 Web Search Again
Customer Response Agent |
| v
| Revalidate
| |
| +-------+-------+
| | |
| v v
| >= 70% < 70%
| | |
+------------------------------+ |
| v
v HUMAN REVIEW REQUIRED
Professional Email |
| v
v Google Sheets
Gmail Reply
|
v
Google Sheets
|
v
AUTO RESPONDED
The project uses three CrewAI agents.
The first agent acts as the primary knowledge-based customer support agent.
Agent 1 has access to the custom:
Search Slack Knowledge Base
tool.
This tool connects CrewAI with the RAG pipeline implemented in rag.py.
The second agent acts as both the:
This allows the project to maintain a simple three-agent architecture.
Agent 2 evaluates the RAG answer based on:
It then generates a confidence score between:
0 - 100
If:
Confidence >= 70%
the answer can continue to the customer response stage.
If:
Confidence < 70%
web research is triggered.
When the RAG answer does not reach the required confidence threshold, Agent 2 uses web search to find additional information.
The project uses:
SerperDevTool
for web search.
For Slack-related questions, the agent is instructed to prioritize:
The web-search answer is intentionally kept concise and focused on customer support.
The system currently allows a maximum of:
2 web-search attempts
After each web search, the improved answer is validated again.
The third agent converts the final validated answer into a professional customer-support email.
The customer email address is handled by the Python workflow rather than being selected or generated by the AI agent.
The project uses Retrieval-Augmented Generation (RAG) to answer questions using a local knowledge base.
The RAG pipeline is implemented in:
rag.py
The general workflow is:
Knowledge Base Documents
|
v
Document Loading
|
v
Text Splitting
|
v
Embeddings
|
v
FAISS Vector Store
|
v
Similarity Search
|
v
CrossEncoder Reranking
|
v
Best Context
|
v
CrewAI Agent
The project can work with multiple knowledge-base documents.
Example:
data/
├── slack_accounts.txt
├── slack_billing.txt
├── slack_integrations.txt
└── slack_notifications.txt
The documents used in the public repository should contain only sample, educational, or publicly available information.
No confidential company or customer information should be included.
LangChain is used to build and manage the RAG pipeline.
It helps with tasks such as:
This keeps the RAG implementation modular and makes it easier to extend the project to additional document types in the future.
Large documents are divided into smaller pieces before embeddings are created.
This allows the retrieval system to search smaller relevant sections instead of returning an entire document.
Conceptually:
Large Document
|
v
Text Splitter
|
+--> Chunk 1
|
+--> Chunk 2
|
+--> Chunk 3
|
+--> Chunk 4
These chunks are then converted into embeddings.
The project uses the Hugging Face Sentence Transformer model:
sentence-transformers/all-MiniLM-L6-v2
The embedding model converts text into numerical vector representations.
Conceptually:
"How do I reset my password?"
|
v
Embedding Model
|
v
[0.12, -0.42, 0.81, ...]
These vectors allow FAISS to compare the semantic meaning of the customer query with the knowledge-base content.
The project uses:
FAISS
as the vector store and similarity-search system.
FAISS performs the initial fast retrieval.
The workflow is approximately:
Customer Query
|
v
Query Embedding
|
v
FAISS Search
|
v
Top Relevant Chunks
FAISS is useful because vector similarity search is much faster than asking the LLM to read every document for every customer question.
Vector similarity alone may not always return the chunks in the best possible order.
Therefore, the project uses a second model for reranking:
cross-encoder/ms-marco-MiniLM-L-6-v2
The CrossEncoder compares:
Customer Query
+
Retrieved Document Chunk
and produces a relevance score.
The retrieved documents can then be reordered according to their relevance.
The overall retrieval process becomes:
Customer Query
|
v
Embedding
|
v
FAISS
|
v
Candidate Chunks
|
v
CrossEncoder
|
v
Reranked Chunks
|
v
Best Context
This combines:
FAISS
= Fast retrieval
CrossEncoder
= More accurate ranking
The CrewAI agents use:
GPT-4.1 mini
through OpenAI.
The LLM is used for tasks such as:
The embedding model is separate from the LLM.
Before running the full RAG workflow, the incoming email is classified as:
SUPPORT
or:
NOT_SUPPORT
This prevents the AI support workflow from replying to unrelated emails.
If the email is classified as:
NOT_SUPPORT
no automatic support reply is sent.
The project integrates with Gmail using the Gmail API.
Gmail is used to:
The Gmail API provides email message data using Base64 encoding.
When reading an email:
Gmail Message
|
v
Base64 Decode
|
v
Readable Email Text
When sending an email:
Customer Response
|
v
MIME Email
|
v
Base64 Encode
|
v
Gmail API
Base64 is therefore used only for transferring email content through the Gmail API.
It is not part of the AI or RAG pipeline.
Google Sheets is used as a simple support interaction log and Human-in-the-Loop queue.
The sheet contains the following columns:
Received Time
Responded Time
Customer Email
Query
Final Answer
Response Time (seconds)
Status
When the final answer is approved:
Status = AUTO RESPONDED
The system:
The project includes a Human-in-the-Loop safety mechanism.
If the RAG answer has confidence below 70%, web search is performed.
If the answer still remains below 70%, another web-search attempt can be performed.
If the answer still fails to reach the required confidence:
HUMAN REVIEW REQUIRED
The system will:
The workflow is:
RAG
|
v
Validation
|
v
Confidence < 70%
|
v
Web Search
|
v
Validation
|
v
Confidence < 70%
|
v
Web Search Attempt 2
|
v
Validation
|
v
Confidence < 70%
|
v
HUMAN REVIEW REQUIRED
|
v
Google Sheets
This prevents low-confidence AI responses from being automatically sent to customers.
The project records:
Received Time
and:
Responded Time
The difference between these values is used to calculate:
Response Time (seconds)
This provides a simple way to measure how long the automated support workflow takes to respond.
Agentic-Customer-Support/
│
├── data/
│ ├── slack_accounts.txt
│ ├── slack_billing.txt
│ ├── slack_integrations.txt
│ └── slack_notifications.txt
│
├── app.py
├── crew.py
├── rag.py
│
├── requirements.txt
├── README.md
├── .gitignore
└── .env.example
The following files may exist locally but must not be uploaded to GitHub:
.env
credentials.json
token.json
vector_store/
logs/
__pycache__/
app.pyThe main entry point of the application.
It:
crew.pyContains the main agentic workflow.
It includes:
rag.pyContains the RAG pipeline.
It handles:
The project uses:
git clone <your-repository-url>
Move into the project directory:
cd Agentic-Customer-Support
python -m venv venv
Activate it:
venv\Scripts\activate
python3 -m venv venv
Activate it:
source venv/bin/activate
pip install -r requirements.txt
Create a file named:
.env
Use:
.env.example
as the reference.
Example:
OPENAI_API_KEY=your_openai_api_key_here
SERPER_API_KEY=your_serper_api_key_here
GOOGLE_SHEET_ID=your_google_sheet_id_here
Never commit your actual .env file to GitHub.
The project requires:
Google OAuth 2.0 is used for authentication.
Create OAuth credentials using Google Cloud Console and download the credentials file.
Save it locally as:
credentials.json
On the first successful authentication, the application creates:
token.json
These files must remain private.
Do not upload:
credentials.json
token.json
to GitHub.
Create a Google Sheet with these columns:
Received Time
Responded Time
Customer Email
Query
Final Answer
Response Time (seconds)
Status
Copy the spreadsheet ID and add it to your .env:
GOOGLE_SHEET_ID=your_google_sheet_id_here
The Received Time and Responded Time columns can be formatted in Google Sheets using:
Format
→ Number
→ Date time
After configuring the APIs and environment variables, send a test email to the Gmail account connected to the project.
Run:
python app.py
The application checks the currently available unread emails and processes them.
This assignment version is intentionally designed to be run manually when required rather than operating as a continuously running production service.
Customer sends:
Subject: Password reset
How do I reset my password?
The workflow can be:
Gmail
|
v
SUPPORT
|
v
RAG Search
|
v
Answer
|
v
Validation
|
v
Confidence 85%
|
v
Agent 3
|
v
Professional Email
|
v
Gmail Reply
|
v
Google Sheets
If the local knowledge base does not contain sufficient information:
Customer Question
|
v
RAG
|
v
Confidence 55%
|
v
Web Search
|
v
Improved Answer
|
v
Revalidation
|
v
Confidence 85%
|
v
Customer Response
If sufficient confidence cannot be achieved:
Customer Question
|
v
RAG
|
v
Confidence < 70%
|
v
Web Search
|
v
Confidence < 70%
|
v
Second Web Search
|
v
Confidence < 70%
|
v
HUMAN REVIEW REQUIRED
|
v
Google Sheets
No automatic customer response is sent in this case.
Sensitive credentials must never be stored directly in the source code or committed to GitHub.
The following files are excluded using .gitignore:
.env
credentials.json
token.json
Generated files and folders are also excluded:
__pycache__/
vector_store/
logs/
The public repository contains:
.env.example
to show which environment variables are required without exposing actual credentials.
This project was developed to practice and understand:
As this is a learning project, several features could be explored in the future:
These are possible future improvements and are not required for the current educational assignment.
This repository represents a personal learning project and is not intended to represent an official Slack customer-support system.
Slack is used only as an example SaaS product to demonstrate the technical architecture of an AI-powered customer-support workflow.
The main purpose of the project is to gain practical experience building an end-to-end agentic AI application involving:
Email
+
RAG
+
AI Agents
+
Validation
+
Web Search
+
Human Review
+
Customer Response
All product names and trademarks belong to their respective owners.
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-deepan095-agentic-customer-support-system/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/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.
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!
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.
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-deepan095-agentic-customer-support-system/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/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-10T03:52:03.754Z"
}
},
"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": "Deepan095",
"href": "https://github.com/Deepan095/Agentic-Customer-Support-System",
"sourceUrl": "https://github.com/Deepan095/Agentic-Customer-Support-System",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T15:16:47.770Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T15:16:47.770Z",
"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-deepan095-agentic-customer-support-system/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-deepan095-agentic-customer-support-system/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 Agentic-Customer-Support-System and adjacent AI workflows.