{"slug": "building-an-event-planning-coordinator-agent-in-typescript-with-hazeljs", "title": "Building an Event Planning Coordinator Agent in typescript with HazelJS", "summary": "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.", "body_md": "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.\n\nEvent planners face several coordination challenges:\n\nOur agent will address these challenges using HazelJS's multi-agent architecture, RAG-powered venue search, and intelligent logistics planning.\n\nThe Event Planning Coordinator Agent uses a multi-agent architecture where each agent specializes in a specific aspect of event planning:\n\nThis separation allows each agent to focus on its specialty while the supervisor ensures smooth coordination between them.\n\nA critical component of event planning is finding the right venue. Our agent maintains a knowledge base of venues with metadata including:\n\nWhen 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.\n\nThe RAG implementation uses HazelJS's `RAGPipeline`\n\nwith a `MemoryVectorStore`\n\nfor efficient semantic search:\n\n```\n@Service()\nexport class EventKnowledgeBaseService {\n  private readonly embeddings = new LocalEventEmbeddingProvider();\n  private readonly vectorStore = new MemoryVectorStore(this.embeddings);\n  private readonly rag = new RAGPipeline({\n    vectorStore: this.vectorStore,\n    embeddingProvider: this.embeddings,\n    topK: 3,\n  });\n\n  async answer(query: string, topK = 3) {\n    const sources = await this.search(query, topK);\n    return {\n      answer: sources.map((source) => source.content).join('\\n\\n'),\n      sources: sources.map((source) => ({\n        id: source.id,\n        score: Number(source.score.toFixed(3)),\n        type: source.metadata?.type,\n        capacity: source.metadata?.capacity,\n        pricePerHour: source.metadata?.pricePerHour,\n        location: source.metadata?.location,\n        amenities: source.metadata?.amenities,\n      })),\n    };\n  }\n}\n```\n\nManaging guests is another complex aspect of event planning. The GuestCoordinatorAgent handles:\n\nThe 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.\n\nThe LogisticsPlannerAgent creates comprehensive logistics plans covering:\n\nThe planner considers:\n\nThe agent provides a detailed logistics timeline showing when each component should be arranged, along with cost breakdowns and category summaries.\n\nThe 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:\n\nThe supervisor continues delegating until it has gathered enough information to provide a comprehensive event plan, then synthesizes the results into a cohesive recommendation.\n\nDespite being a demo, the agent includes production-ready features:\n\nThe agent can be run with:\n\n```\nnpm install\nnpm run build\nnpm run dev\n```\n\nThe app runs on `http://localhost:3000`\n\nwith the HazelJS Inspector available at `/__hazel`\n\nfor real-time monitoring and debugging.\n\nYou can test the agent with a curl request:\n\n```\ncurl -s -X POST http://localhost:3000/event/supervisor \\\n  -H 'content-type: application/json' \\\n  -d '{\"message\":\"Planning a party for 50 guests, budget $5000, indoor venue. Plan my event.\",\"userId\":\"event-planner-1\"}'\n```\n\nThe 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.\n\n**Complete Project**: [Event Planner Agent](https://github.com/nisafatimaa/event-planning-coordinator-agent)\n\nThe Event Planning Coordinator Agent demonstrates several key HazelJS capabilities:\n\nThis agent shows how [HazelJS](https://hazeljs.ai/) 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.", "url": "https://wpnews.pro/news/building-an-event-planning-coordinator-agent-in-typescript-with-hazeljs", "canonical_source": "https://dev.to/nisa_fatima_bcd75fa085b76/building-an-event-planning-coordinator-agent-in-typescript-with-hazeljs-2jn1", "published_at": "2026-07-14 19:17:57+00:00", "updated_at": "2026-07-14 19:29:53.536313+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "artificial-intelligence", "natural-language-processing", "machine-learning"], "entities": ["HazelJS", "Event Planning Coordinator Agent", "VenueSearchAgent", "GuestCoordinatorAgent", "LogisticsPlannerAgent", "EventManagerAgent", "RAGPipeline", "MemoryVectorStore"], "alternates": {"html": "https://wpnews.pro/news/building-an-event-planning-coordinator-agent-in-typescript-with-hazeljs", "markdown": "https://wpnews.pro/news/building-an-event-planning-coordinator-agent-in-typescript-with-hazeljs.md", "text": "https://wpnews.pro/news/building-an-event-planning-coordinator-agent-in-typescript-with-hazeljs.txt", "jsonld": "https://wpnews.pro/news/building-an-event-planning-coordinator-agent-in-typescript-with-hazeljs.jsonld"}}