This document provides a visual representation of the complete multi-agent system architecture, showing how all components interact and work together.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β USER INTERFACE β
β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β Web Client β β Mobile App β β API Client β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β β β β
β βββββββββββββββββββββββΌββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββ β
β β FASTAPI SERVER β β
β β (Port 8000) β β
β βββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββ β
β β SUPERVISOR AGENT β β
β β (Intelligent Router) β β
β βββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β CALENDAR β β GMAIL β β UNIFIED β β
β β AGENT β β AGENT β β AGENT β β
β β (Specialized) β β (Specialized) β β (Combined) β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β CALENDAR β β GMAIL β β BOTH β β
β β SERVICE β β SERVICE β β SERVICES β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β β β β
β βββββββββββββββββββββββΌββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββ β
β β EXTERNAL APIs β β
β β βββββββββββββββ ββββββββββββββββ β
β β β Google β β Gmail ββ β
β β β Calendar β β API ββ β
β β β API β β ββ β
β β βββββββββββββββ ββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
User Request
β
βΌ
βββββββββββββββββββ
β FastAPI β β HTTP POST /api/supervisor/chat
β Server β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Supervisor β β Intelligent task analysis
β Agent β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Agent β β Route to appropriate agent
β Selection β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Selected β β Execute task
β Agent β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Service β β Make API calls
β Layer β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β External β β Google APIs
β APIs β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Response β β Format and return
β Aggregation β
βββββββββββββββββββ
β
βΌ
User Response
| Agent Type | Calendar Operations | Email Operations | Complex Workflows | Tools Available |
|---|---|---|---|---|
| Calendar Agent | β Full Support | β None | β None | 8 tools |
| Gmail Agent | β None | β Full Support | β None | 12 tools |
| Unified Agent | β Full Support | β Full Support | β Full Support | 15 tools |
| Supervisor Agent | β Routing | β Routing | β Routing | 0 tools |
- Web Clients: HTML/JS, React, Vue.js
- Mobile Apps: iOS, Android
- API Clients: Python, JavaScript, cURL
- Framework: FastAPI
- Port: 8000
- Protocol: HTTP/HTTPS
- Authentication: API Keys, OAuth 2.0
- Framework: LangChain
- LLM: OpenAI GPT-4o-mini
- Memory: ConversationBufferMemory
- Tools: StructuredTool
- Calendar Service: Google Calendar API
- Gmail Service: Gmail API
- HTTP Client: httpx
- Validation: Pydantic
- Google Calendar API: v3
- Gmail API: v1
- Authentication: OAuth 2.0
βββββββββββββββ ββββββββββββββββ βββββββββββββββ
β User Input βββββΆβ Supervisor βββββΆβ Task β
β β β Agent β β Analysis β
βββββββββββββββ ββββββββββββββββ βββββββββββββββ
β β
βΌ βΌ
ββββββββββββββββ βββββββββββββββ
β Agent β β LLM + β
β Selection β β Keywords β
ββββββββββββββββ βββββββββββββββ
β
βΌ
ββββββββββββββββ
β Route to β
β Agent β
ββββββββββββββββ
β
βΌ
βββββββββββββββββΌββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Calendar β β Gmail β β Unified β
β Agent β β Agent β β Agent β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Calendar β β Gmail β β Both β
β Service β β Service β β Services β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Google β β Gmail β β Google β
β Calendar β β API β β APIs β
β API β β β β β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β β β
βββββββββββββββββΌββββββββββββββββ
β
βΌ
ββββββββββββββββ
β Response β
β Aggregation β
ββββββββββββββββ
β
βΌ
ββββββββββββββββ
β API Response β
β to User β
ββββββββββββββββ
User Request
β
βΌ
βββββββββββββββββββ
β Task Analysis β β LLM + Keywords
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Agent β β Calendar | Gmail | Unified
β Selection β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Execution β β Route to selected agent
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Response β β Format and return
β Aggregation β
βββββββββββββββββββ
Task Analysis
β
βΌ
βββββββββββββββββββ
β Calendar β β Keywords: schedule, meeting, calendar
β Keywords > 0? β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Email β β Keywords: email, send, mail
β Keywords > 0? β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Complex β β Keywords: and, then, also
β Keywords > 0? β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Select Agent β β Calendar | Gmail | Unified
βββββββββββββββββββ
multi_agent_supervisor/
βββ app/
β βββ agents/
β β βββ calendar_agent.py # Calendar operations
β β βββ gmail_agent.py # Email operations
β β βββ unified_agent.py # Combined operations
β β βββ supervisor_agent.py # Intelligent router
β βββ api/
β β βββ endpoints/
β β βββ __init__.py # Router aggregation
β β βββ calendar.py # Calendar endpoints
β β βββ gmail.py # Gmail endpoints
β β βββ unified.py # Unified endpoints
β β βββ supervisor.py # Supervisor endpoints
β βββ services/
β β βββ calendar_service.py # Google Calendar API
β β βββ gmail_service.py # Gmail API
β βββ tools/
β β βββ calendar_tool.py # Calendar tools
β β βββ gmail_tool.py # Gmail tools
β β βββ time_tool.py # Time utilities
β βββ schema/
β β βββ calendar_schema.py # Calendar models
β β βββ gmail_schema.py # Gmail models
β βββ config.py # Environment variables
β βββ main.py # FastAPI app
βββ tests/
β βββ test_supervisor_agent.py # Supervisor tests
β βββ test_gmail.py # Gmail tests
β βββ test_unified_agent.py # Unified tests
βββ docs/
β βββ SUPERVISOR_AGENT_README.md
β βββ SUPERVISOR_AGENT_FLOW.md
β βββ GMAIL_README.md
β βββ UNIFIED_AGENT_README.md
βββ requirements.txt
βββ README.md
- Supervisor Analysis: 1-2 seconds
- Calendar Agent: 2-3 seconds
- Gmail Agent: 2-3 seconds
- Unified Agent: 4-6 seconds
- Concurrent Requests: 10-50 requests/second
- Memory Usage: 100-500 MB
- CPU Usage: 20-60%
- Horizontal: Add more agent instances
- Vertical: Scale individual agents
- Load Balancing: Route by agent type
- Request volume per agent
- Response times per agent
- Error rates per agent
- Success rates per agent
- Agent selection frequency
- Tool usage patterns
- Memory usage per agent
- CPU usage per agent
- External API response times
- API error rates
- Rate limiting status
- Token usage
- Overall system health
- Resource utilization
- Network connectivity
- Database performance
βββββββββββββββββββ
β Local Machine β
β (Development) β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β FastAPI β
β (Port 8000) β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Agents β
β (Local) β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Google APIs β
β (External) β
βββββββββββββββββββ
βββββββββββββββββββ
β Load Balancer β
β (Nginx) β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β FastAPI β
β (Multiple) β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Agent Pool β
β (Scaled) β
βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Google APIs β
β (External) β
βββββββββββββββββββ
- Automatically selects most efficient agent
- Optimizes performance and cost
- Reduces unnecessary complexity
- Modular design
- Independent agent scaling
- Easy to add new agents
- Multiple fallback strategies
- Graceful degradation
- Comprehensive error reporting
- Single entry point
- Consistent interface
- Detailed response information
The multi-agent system provides:
- 4 Specialized Agents: Calendar, Gmail, Unified, Supervisor
- Intelligent Routing: Automatic agent selection
- Comprehensive APIs: Full calendar and email functionality
- Robust Architecture: Scalable and maintainable
- Production Ready: Error handling and monitoring
This architecture enables efficient, intelligent, and scalable calendar and email management through a single, unified interface.