cd /news/ai-agents/building-an-event-planning-coordinat… · home topics ai-agents article
[ARTICLE · art-59447] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Building an Event Planning Coordinator Agent in typescript with HazelJS

A developer built an Event Planning Coordinator Agent in TypeScript using HazelJS, featuring multi-agent architecture, RAG-powered venue search, and intelligent logistics planning. The agent coordinates venue search, guest management, and logistics through specialized agents supervised by an EventManagerAgent, and includes production-ready features like error handling and retry logic.

read3 min views1 publishedJul 14, 2026

Planning an event—whether it's a birthday party, corporate meeting, or wedding—requires coordinating multiple moving parts simultaneously. From finding the right venue to managing guest lists, arranging logistics, and staying within budget, event planning is a complex orchestration challenge. In this post, we'll build an Event Planning Coordinator Agent using HazelJS that streamlines this process through intelligent venue search, guest coordination, and logistics planning.

Event planners face several coordination challenges:

Our agent will address these challenges using HazelJS's multi-agent architecture, RAG-powered venue search, and intelligent logistics planning.

The Event Planning Coordinator Agent uses a multi-agent architecture where each agent specializes in a specific aspect of event planning:

This separation allows each agent to focus on its specialty while the supervisor ensures smooth coordination between them.

A critical component of event planning is finding the right venue. Our agent maintains a knowledge base of venues with metadata including:

When an event planner asks about venues, the VenueSearchAgent uses semantic search to find suitable options based on their query. For example, a query like "Find indoor venues for 100 guests" would return venues that match those criteria, ranked by relevance.

The RAG implementation uses HazelJS's RAGPipeline

with a MemoryVectorStore

for efficient semantic search:

@Service()
export class EventKnowledgeBaseService {
  private readonly embeddings = new LocalEventEmbeddingProvider();
  private readonly vectorStore = new MemoryVectorStore(this.embeddings);
  private readonly rag = new RAGPipeline({
    vectorStore: this.vectorStore,
    embeddingProvider: this.embeddings,
    topK: 3,
  });

  async answer(query: string, topK = 3) {
    const sources = await this.search(query, topK);
    return {
      answer: sources.map((source) => source.content).join('\n\n'),
      sources: sources.map((source) => ({
        id: source.id,
        score: Number(source.score.toFixed(3)),
        type: source.metadata?.type,
        capacity: source.metadata?.capacity,
        pricePerHour: source.metadata?.pricePerHour,
        location: source.metadata?.location,
        amenities: source.metadata?.amenities,
      })),
    };
  }
}

Managing guests is another complex aspect of event planning. The GuestCoordinatorAgent handles:

The agent generates a comprehensive guest management plan including communication methods, estimated costs, and RSVP deadlines. This ensures no guest is forgotten and communication happens at the right times.

The LogisticsPlannerAgent creates comprehensive logistics plans covering:

The planner considers:

The agent provides a detailed logistics timeline showing when each component should be arranged, along with cost breakdowns and category summaries.

The EventManagerAgent uses HazelJS's supervisor routing to coordinate between the specialist agents. When an event planner makes a request, the supervisor analyzes the request and routes it to the appropriate specialist:

The supervisor continues delegating until it has gathered enough information to provide a comprehensive event plan, then synthesizes the results into a cohesive recommendation.

Despite being a demo, the agent includes production-ready features:

The agent can be run with:

npm install
npm run build
npm run dev

The app runs on http://localhost:3000

with the HazelJS Inspector available at /__hazel

for real-time monitoring and debugging.

You can test the agent with a curl request:

curl -s -X POST http://localhost:3000/event/supervisor \
  -H 'content-type: application/json' \
  -d '{"message":"Planning a party for 50 guests, budget $5000, indoor venue. Plan my event.","userId":"event-planner-1"}'

The agent will analyze your request, extract your event profile, search for suitable venues, coordinate guest management, plan logistics, and synthesize everything into a comprehensive event plan—all coordinated through the supervisor routing system.

Complete Project: Event Planner Agent

The Event Planning Coordinator Agent demonstrates several key HazelJS capabilities:

This agent shows how HazelJS can be used to build practical, everyday applications that solve complex coordination problems while maintaining production-grade quality and reliability. The multi-agent approach makes it easy to extend the system with additional specialists (like budget analyzers or timeline optimizers) as needed.

── more in #ai-agents 4 stories · sorted by recency
── more on @hazeljs 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/building-an-event-pl…] indexed:0 read:3min 2026-07-14 ·