DEV Community

Aniket Hingane
Aniket Hingane

Posted on

Building an Enterprise Event Orchestrator with Multi-Agent LangGraph Swarms

Title Image

How I Automated Corporate Logistics Planning Using Autonomous Agents and Human-in-the-Loop Governance

TL;DR

I built an autonomous system called EventSync-AI that handles the end-to-end logistics of corporate events. Using LangGraph, I designed a multi-agent swarm where specialized agents handle planning, vendor research, and budget auditing. The project includes a Streamlit dashboard for human-in-the-loop (HITL) approvals, ensuring no high-cost contracts are signed without explicit authorization. It’s an experimental PoC that explores how we can offload low-level coordination to AI while keeping humans in control of the wallet.

Introduction

Corporate event planning is, in my experience, a nightmare of logistics, back-and-forth emails, and budget reconciliation. I’ve often wondered if we could build something that doesn't just "assist" but actually "orchestrates." This led me to my latest experiment: EventSync-AI.

I wanted to see if I could create a system where the AI takes the lead. I observed that most business automated tools fail because they lack "judgment" in financial matters. So, I put it this way: what if the AI does all the heavy lifting—finding the venues, calculating the catering costs, managing AV—but pauses at the 1-yard line for a human to give the "okay"?

In my opinion, this is the most practical use case for agents today. We don't want autonomous agents spending $20k without us knowing, but we also don't want to spend 10 hours calling caterers. This article is my experimental journey into building exactly that.

What's This Article About?

I wrote this article to document my experiments with Agentic Workflows. Specifically, I dive into:

  1. How I designed a multi-agent architecture using LangGraph.
  2. My thought process behind the Human-in-the-Loop (HITL) gatekeeper.
  3. Simulating real-world hospitality APIs with mock tools.
  4. Scaling the system to handle complex, multi-day itineraries.

From my experience, the biggest hurdle isn't the AI's ability to chat; it's the AI's ability to execute reliable state transitions. I think you'll find the design patterns here quite applicable to any industry where "high stakes + high effort" is the norm.

Tech Stack

For this PoC, I chose tools that I’ve found to be the most robust for stateful AI:

  1. LangGraph: For the orchestration layer. It allows me to define precise state transitions.
  2. LangChain: The foundation for agentic communication and tool usage.
  3. OpenAI GPT-4o: The "brain" capable of complex reasoning and vendor selection.
  4. Streamlit: For the human-approval dashboard. It’s fast, reactive, and perfect for PoCs.
  5. Python 3.12: My trusty environment for rapid prototyping.

Why Read It?

If you've ever felt that "autonomous" is a scary word in corporate settings, this is for you. I think, as per me, the future of work isn't "AI vs Human," but "AI coordinated by Human." This article shows a working blueprint of that philosophy in the Hospitality domain—one of the most manual and high-friction industries left.

Let's Design

I started by sketching out the "Logistics Swarm." I observed that a single agent often gets confused when handling too many variables (venue, food, AV, budget). So, I split the work.

The Architecture

I designed a system where:

  1. The Planner sets the vision.
  2. The Coordinator does the research (the "leg work").
  3. The Budget Manager audits every penny.
  4. The Executive signs the contract.

Architecture Diagram

I put it this way because separation of concerns is just as vital in AI as it is in software engineering. If the Coordinator fails to find a venue, it shouldn't crash the Budget Manager.

The Human-in-the-Loop Flow

This is the most critical part of my experiment. I implemented a conditional edge in the graph. If the total cost exceeds a threshold (in my case, $15k), the graph state is saved, and the system waits. In my opinion, this is the "Saftey Switch" that makes Agentic AI viable for real business.

Flow Diagram

Let’s Get Cooking

Let's dive into the implementation. I'll break down the core components that make EventSync-AI tick.

1. The Logistics Tools

From my experience, agents are only as good as their tools. I wrote specialized functions to simulate vendor APIs.

# tools.py
import random
import time

def get_venue_options(location, attendee_count):
    # I designed this to simulate real-world vendor variability
    venues = [
        {"name": "Grand Plaza Hotel", "capacity": 500, "price_per_day": 5000, "rating": 4.8},
        {"name": "Skyline Convention Center", "capacity": 1000, "price_per_day": 8500, "rating": 4.5}
    ]
    return [v for v in venues if v["capacity"] >= attendee_count]
Enter fullscreen mode Exit fullscreen mode

I wrote this because I needed a way to test the agent's ability to "filter" and "select" based on constraints. In my opinion, simulating latency (using time.sleep) is crucial for verifying the UI's reactive behavior.

2. The Core Orchestrator

This is where the magic happens. I used LangGraph to build the state machine. I think this approach is far superior to linear scripts because it allows for loops and conditional branching.

# agents.py
def create_graph():
    workflow = StateGraph(AgentState)

    workflow.add_node("planner", planner_node)
    workflow.add_node("coordinator", coordinator_node)
    workflow.add_node("budget_manager", budget_manager_node)

    # I put this conditional logic here to manage financial risk
    workflow.add_conditional_edges(
        "budget_manager",
        should_approve,
        {
            "human_approval": "human_approval",
            "execute": "execute"
        }
    )
    return workflow.compile()
Enter fullscreen mode Exit fullscreen mode

When I wrote this, I thought, "What if the user wants to reject the plan?" In this PoC, I focused on the "Approval" path, but in a real project, I would loop the graph back to the Planner for revisions.

3. The HITL Dashboard

I used Streamlit to create a professional window into the agent's mind. It's not just about showing the result; it's about showing the reasoning.

# app.py
if st.button("Confirm and Execute Contracts"):
    st.success("✅ Contracts Executed! Check terminal for logs.")
    st.balloons()
Enter fullscreen mode Exit fullscreen mode

I think a dashboard like this is essential for trust. I observed that users are much more willing to trust an agent if they can see the breakdown of costs before clicking "Confirm."

Let's Setup

If you want to try my experiments yourself, follow these steps:

  1. Clone the Repo: EventSync-AI on GitHub
  2. Install Requirements: pip install -r requirements.txt
  3. Set Keys: Create a .env with your OPENAI_API_KEY.
  4. Run Terminal Sim: python main.py
  5. Run Dashboard: streamlit run app.py

Let's Run

When you run the simulation, you'll see a realistic terminal output. I designed the GIF below to show exactly what happen under the hood: the typing, the execution logs, and the final report generation.

Simulation Run

Closing Thoughts

Building EventSync-AI was a revelation for me. I think we are finally at a point where we can trust agents with complex multi-step workflows, provided we build the right guardrails. In my opinion, the "Human-in-the-Loop" pattern is the gold standard for enterprise AI implementation.

I observed that throughout this experiment, the hardest part wasn't the code; it was defining the "Judgment" criteria for the agents. As per my experience, this is where the real work of AI Engineering lies—not in fine-tuning models, but in architecting safe and reliable systems.

I hope my experiments here spark some ideas for your own projects. Feel free to fork the repo and add more agents to the swarm!


Disclaimer

The views and opinions expressed here are solely my own and do not represent the views, positions, or opinions of my employer or any organization I am affiliated with. The content is based on my personal experience and experimentation and may be incomplete or incorrect. Any errors or misinterpretations are unintentional, and I apologize in advance if any statements are misunderstood or misrepresented.

Top comments (0)