TimelyMeet is a full-stack, AI-powered meeting management application that seamlessly integrates with Google Calendar. It enables users to schedule meetings, send emails, and manage calendar events through simple natural language queries. For example:
“Schedule a meeting tomorrow at 5 PM with john@example.com , title ‘Project Sync’.” → handled by the Scheduler Agent.
“Send an email to sarah@example.com saying I’ll share the report by evening.” → handled by the Mailer Agent.
The system is built on a multi-agent architecture, where a Manager Agent intelligently interprets user queries and routes them to the appropriate specialized agent—either the Scheduler Agent for calendar operations or the Mailer Agent for email tasks.
- Google OAuth Integration: Secure authentication with Google Sign-In and multi-account support
- Natural Language Processing: Schedule meetings and send emails using conversational language
- Calendar Integration: View, create, and manage Google Calendar events
- Multi-Agent AI System: Intelligent routing between specialized agents (Manager, Scheduler, Email)
- MCP Server: Custom Model Context Protocol server for AI agent orchestration
- Real-time Updates: Dynamic event list updates after scheduling
- Responsive UI: Modern React interface with Material-UI components
- Natural language meeting scheduling
- Integration with Google Calendar API
- Automatic event creation and management
- Real-time calendar updates
- Support for multiple participants and time zones
- AI-powered email composition
- Integration with Gmail API
- Conversational email commands
- Smart recipient detection
- Automated email sending and drafting
[React Frontend] <----HTTP----> [FastAPI Backend / MCP Server] <----Google APIs----> [Google Calendar/Gmail]
^
|
[AI Agent System (Manager Agent + Specialized Agents)]
- Frontend: React.js application with Google OAuth integration
- Backend: FastAPI server handling authentication, API endpoints, and agent orchestration
- AI Agents:
- Manager Agent: Routes user queries to appropriate specialized agents
- Scheduling Agent: Handles calendar event creation and management
- Email Agent: Manages email composition and sending
- MCP Server: Provides tools for AI agents to interact with Google services
- Node.js (v18+ recommended)
- Python (3.10+)
- Google Cloud account with Calendar and Gmail APIs enabled
git clone <repository-url>
cd TimelyMeet- Go to Google Cloud Console
- Create a new project or select existing one
- Enable the following APIs:
- Google Calendar API
- Gmail API
- Create OAuth 2.0 credentials:
- Go to APIs & Services → Credentials
- Create OAuth client ID (Web application)
- Add these redirect URIs:
http://localhost:3000 http://localhost:3000/ http://localhost:8000/
- Download
credentials.jsonand place it in thebackend/folder
cd backend
python -m venv venv
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
pip install -r requirements.txtcd ../frontend
npm installCreate a .env file in the backend directory :
# Add any additional environment variables here
# API_KEY=api-key-hereStart Backend:
cd backend
uvicorn app.main:app --reloadStart Frontend (in a new terminal):
cd frontend
npm startOpen http://localhost:3000 in your browser.
- Login: Click "Sign in with Google" and grant necessary permissions
- View Events: See your upcoming calendar events on the dashboard
- Schedule Meetings: Use natural language queries like:
- "Schedule a meeting with john@example.com tomorrow at 3 PM for project review"
- "Set up a call with team next Tuesday at 10 AM"
- Send Emails: Use queries like:
- "Send an email to boss@example.com saying I'll be late today"
- Multi-Agent Processing: The system automatically routes your requests to the appropriate agent
POST /auth/google- Google OAuth authenticationGET /auth/me- Get current user info
GET /events- Retrieve upcoming calendar eventsPOST /schedule- Schedule a meeting via natural language
POST /send-email- Send email via natural language
POST /manage- Process request with intelligent agent routing
GET /health- Health check endpointGET /- API information
TimelyMeet/
├── backend/
│ ├── app/
│ │ └── main.py # FastAPI application
│ ├── agents/
│ │ ├── manager.py # Manager agent for routing
│ │ ├── scheduler.py # Scheduling agent
│ │ └── mailer.py # Email agent
│ ├── ai-meeting-mcp/
│ │ ├── server.py # MCP server implementation
│ │ ├── main.py # MCP server entry point
│ │ └── pyproject.toml # MCP project configuration
│ ├── requirements.txt # Python dependencies
│ ├── credentials.json # Google OAuth credentials (not in repo)
│ └── .env # Environment variables
├── frontend/
│ ├── src/
│ │ ├── App.js # Main React component
│ │ ├── AuthContext.js # Authentication context
│ │ ├── Dashboard.js # Main dashboard
│ │ ├── LoginPage.js # Login component
│ │ └── ...
│ ├── package.json # Node dependencies
│ └── public/ # Static assets
└── README.md # This file
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License
for queries, contact ashishpandey2062@gmail.com.