Skip to content

Ashish-Pandey62/TimelyMeet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

TimelyMeet

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.

Features

  • 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

Core Capabilities

Meeting Scheduler

  • 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

Email Assistant

  • AI-powered email composition
  • Integration with Gmail API
  • Conversational email commands
  • Smart recipient detection
  • Automated email sending and drafting

Architecture

[React Frontend] <----HTTP----> [FastAPI Backend / MCP Server] <----Google APIs----> [Google Calendar/Gmail]
^
|
[AI Agent System (Manager Agent + Specialized Agents)]

Components

  • 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

Prerequisites

  • Node.js (v18+ recommended)
  • Python (3.10+)
  • Google Cloud account with Calendar and Gmail APIs enabled

Quick Start

1. Clone the Repository

git clone <repository-url>
cd TimelyMeet

2. Google Cloud Setup

  1. Go to Google Cloud Console
  2. Create a new project or select existing one
  3. Enable the following APIs:
    • Google Calendar API
    • Gmail API
  4. 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/
      
  5. Download credentials.json and place it in the backend/ folder

3. Backend Setup

cd backend
python -m venv venv
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
pip install -r requirements.txt

4. Frontend Setup

cd ../frontend
npm install

5. Environment Configuration

Create a .env file in the backend directory :

# Add any additional environment variables here
# API_KEY=api-key-here

6. Run the Application

Start Backend:

cd backend
uvicorn app.main:app --reload

Start Frontend (in a new terminal):

cd frontend
npm start

Open http://localhost:3000 in your browser.

Usage

  1. Login: Click "Sign in with Google" and grant necessary permissions
  2. View Events: See your upcoming calendar events on the dashboard
  3. 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"
  4. Send Emails: Use queries like:
  5. Multi-Agent Processing: The system automatically routes your requests to the appropriate agent

API Endpoints

Authentication

  • POST /auth/google - Google OAuth authentication
  • GET /auth/me - Get current user info

Calendar Operations

  • GET /events - Retrieve upcoming calendar events
  • POST /schedule - Schedule a meeting via natural language

Email Operations

  • POST /send-email - Send email via natural language

AI Agent

  • POST /manage - Process request with intelligent agent routing

System

  • GET /health - Health check endpoint
  • GET / - API information

Project Structure

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

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License
for queries, contact ashishpandey2062@gmail.com.

About

An AI-powered assistant that lets users schedule meetings and send emails through natural language, powered by a multi-agent system and Google Workspace integration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors