---
title: "Project Overview"
source: Panaversity Learn Agentic AI
source_url: https://github.com/panaversity/learn-agentic-ai
licence: Apache-2.0
domain: agentic-ai
subdomain: panaversity-agentic
date_added: 2026-04-25
---

Below is a suggested **ninth project** in your **Agentia** learning path. This one focuses on **event planning and coordination**—building an **Event Planner Agent** that helps users organize social gatherings, conferences, weddings, or any kind of event. It leverages multi-agent collaboration, LLM-based orchestration, external integrations (venues, catering, etc.), and still maintains a **human-in-the-loop** for major decisions.

---

## Project Overview

1. **Goal**  
   - Develop an **Event Planner Agent** that assists users with:  
     1. Defining event details (type, date, location, guest list).  
     2. Coordinating services (catering, venue booking, decorations, logistics).  
     3. Managing schedules, invitations, and follow-up.  
   - Use **LLM-based function-calling** to parse user requirements (e.g., “I need a venue for 50 guests next month”), integrate with third-party services (real or mock), and provide suggestions (venues, caterers, schedules).  
   - Keep a **human-in-the-loop** approach for final approvals on major or costly changes (booking confirmations, vendor contracts).

2. **Key Components**  
   1. **Front-End Orchestration Agent** (existing)  
      - Continues as the centralized user interface for conversation and task delegation.  
   2. **Greeting Agent** (existing)  
      - Handles basic greetings or small talk.  
   3. **User Preference Agent** (existing)  
      - Stores user/event organizer preferences (e.g., budget range, dietary restrictions, location preferences).  
   4. **Knowledge Graph Agent** (optional)  
      - Could store relationships among vendors, venues, service providers, or common event themes (e.g., “Beach Wedding,” “Corporate Conference”).  
   5. **Mail Processing Agent** (optional)  
      - Handles automated invitations or confirmations via email.  
   6. **Event Planner Agent** **(New)**  
      - Integrates with external services or mock APIs to find venues, caterers, or other event resources.  
      - Uses **LLM** to interpret user queries (“I want an outdoor venue for a birthday party in June”), call relevant “tools” to gather information (location, pricing, availability), and propose a plan.

3. **Value Proposition**  
   - Showcases how **multi-agent systems** and LLM-based orchestration can streamline complex, multi-step tasks like event planning.  
   - Demonstrates real-world integrations (vendor APIs, scheduling systems) and the importance of user approvals at key decision points.

---

## 1. Plan the Architecture

1. **Service Layout**  
   - The **Event Planner Agent** runs as its own service/container.  
   - It may connect to:  
     - **Venue directories** (real or mocked).  
     - **Catering services** or aggregator APIs.  
     - **Calendar/scheduling** (Google Calendar, Outlook, or a mock).  

2. **Communication Patterns**  
   - Continue using **HTTP**, **gRPC**, or a **message queue** for inter-agent communication.  
   - The Event Planner Agent’s **LLM function-calling** might define tasks like:  
     - **FindVenue**(location, capacity, dateRange, budget)  
     - **GetCateringOptions**(dietaryPreferences, budget, location)  
     - **GenerateInvitationList**(contacts, eventType)  
     - **ConfirmBooking**(vendorId, date, userApproval)

3. **Human-in-the-Loop**  
   - For major or costly decisions—like signing a contract with a venue or finalizing a catering order—the system should always require user confirmation.  
   - The user can approve, reject, or request modifications.

---

## 2. Event Planner Agent

### 2.1 Responsibilities

1. **Event Requirements Gathering**  
   - Prompt the user for key details: event type (wedding, corporate retreat, birthday), approximate date, number of attendees, location preference, budget.  
   - Use these details to guide subsequent vendor searches and scheduling recommendations.

2. **Vendor and Resource Discovery**  
   - Integrate with external APIs or a mock directory to retrieve venue options, catering menus, decoration services, and transportation providers.  
   - Filter results by the user’s budget, location, or theme preferences.

3. **Proposal Generation**  
   - Present the user with a short list of venue/catering/decor options.  
   - If the user wants a more cohesive plan (e.g., “Give me an all-inclusive package for 50 people under \$2,000”), the agent merges multiple services into a proposed package.

4. **Scheduling and Invitations**  
   - Once the user narrows down a date and location, the agent can suggest a timeline for sending out invitations, collecting RSVPs, and finalizing details.  
   - Optionally coordinate with the **Mail Processing Agent** to automate invitation emails and track responses.

5. **Draft Confirmation and Finalization**  
   - Return a **draft** of any bookings or large expenses.  
   - After user approval, call **ConfirmBooking** or sign off with the relevant vendor (mock or real).

### 2.2 Example Endpoints

- **`POST /event_planner`**  
  - **Request** (example):  
    ```json
    {
      "sender": "FrontEndAgent",
      "content": "I'm planning a small wedding for about 30 people in August. We prefer an outdoor venue near the beach. Budget is \$5,000. Any suggestions?",
      "metadata": {
        "user_id": "1234"
      }
    }
    ```
  - **Response** (example):  
    ```json
    {
      "sender": "EventPlannerAgent",
      "content": "Found 3 beachside venues within your budget. Would you like to see details and catering options for them?",
      "metadata": {
        "draft": false,
        "tools_invoked": ["FindVenue"]
      }
    }
    ```

---

## 3. Front-End Orchestration Agent: Extended Logic

1. **Identify Event Planning Requests**  
   - If the user’s input references organizing an event, booking a venue, or scheduling services, route it to the **Event Planner Agent**.

2. **Draft Approval**  
   - If the Event Planner Agent finds a venue or catering option that meets the requirements, it returns a proposed plan.  
   - The Front-End then asks the user to confirm or modify before finalizing.

3. **Fallback**  
   - If the user’s request is unclear or too generic (“Plan a massive event without any constraints!”), the agent might prompt for more details.

---

## 4. Demonstration Scenario

1. **User**: “Hello!”  
   - **Front-End** → **Greeting Agent** → “Hi there! How can I help you today?”  

2. **User**: “I need help planning a team offsite for 20 people next month. We want a place with conference facilities plus fun activities.”  
   - **Front-End** → **Event Planner Agent**  
   - The agent prompts for budget, preferred location, dates.  
   - The user says “Budget is \$3,000, somewhere within a 2-hour drive.”  
   - Agent calls `FindVenue` with those constraints, returns a short list of possible resorts or conference centers.

3. **User**: “Option 2 looks good. Does that place have on-site catering?”  
   - **Event Planner Agent** looks up the venue details and possible catering packages.  
   - Returns a draft plan with venue cost + catering estimate.  
   - The user must **approve** or revise the total cost.

4. **User**: “That’s too expensive. Any cheaper menu options?”  
   - The agent adjusts the package or suggests a different caterer.  
   - Once the user is satisfied, they finalize the booking.  
   - The agent can also coordinate with the **Mail Processing Agent** to send invites to the team.

---

## 5. Deployment and Testing

1. **Local or Cloud Setup**  
   - Containerize the **Event Planner Agent**.  
   - Integrate with mock or sandbox APIs for venue listings, catering services, or scheduling.  
   - Ensure you store user preferences (e.g., cost range, location style) for reuse and customization.

2. **LLM Function-Calling**  
   - Tools could include:
     - **FindVenue**(location, capacity, dateRange, budget)  
     - **GetCateringOptions**(dietaryPreferences, budget, location)  
     - **CheckVendorAvailability**(vendorId, date)  
     - **ConfirmBooking**(vendorId, date, cost)  
   - Verify the LLM can interpret user instructions and chain these functions effectively.

3. **Observability**  
   - **Event Planner Agent**: Log all vendor searches, package proposals, and final confirmations.  
   - **Front-End**: Log user approvals or modifications.

4. **Error Handling**  
   - If no venues match the user’s criteria (e.g., budget too low, date fully booked), the agent prompts the user to adjust constraints.

---

## 6. Possible Enhancements

1. **Advanced Budgeting and Cost Breakdown**  
   - Provide a detailed cost breakdown for each line item (venue rental, food, decorations).  
   - Suggest ways to cut costs (off-peak dates, fewer guest seats, simplified menu).

2. **Customization / Theming**  
   - If it’s a wedding or a themed party, the agent can suggest decor vendors, color schemes, or layout ideas.  
   - Potentially integrate with image inspiration sources (Pinterest-like).

3. **Multi-Vendor Coordination**  
   - For large events (weddings, corporate conferences), the agent could track multiple vendors’ deadlines and deposit schedules.  
   - Help the user keep track of each vendor’s tasks or deliverables.

4. **Calendar Integration**  
   - Sync final bookings to the user’s or team’s calendar, block out the date, send reminders.  
   - Check for conflicts or overlapping events automatically.

5. **Post-Event Follow-Up**  
   - If using the **Mail Processing Agent**, automate thank-you notes or feedback surveys to attendees.

6. **Group Collaboration**  
   - Allow multiple users (e.g., bride and groom, event committee) to collaborate on the same plan.  
   - The system can track changes or approvals from different stakeholders.

---

## Conclusion

This **ninth project**—an **Event Planner Agent**—highlights:

- **Multi-agent orchestration** for managing complex tasks like vendor discovery, scheduling, budget management, and invitation handling.  
- **LLM-driven** conversation for understanding user requirements, generating proposals, and offering relevant suggestions.  
- **Human-in-the-loop** approvals for high-stakes decisions (confirming bookings, vendor contracts), ensuring users remain in control.

By creating this **Event Planner Agent**, you demonstrate how **Agentia** can tackle real-world logistical challenges, streamlining what would otherwise be a time-consuming and manual process into a smooth, AI-assisted experience.
