Generated from the build.
The system has one root agent and N specialist agents, each with its own knowledge base. A single Claude model and a single embeddings node are shared across all agents.
| Component | Type (n8n node) | Role |
|---|---|---|
| Concierge Router | AI Agent | Classifies and delegates to one specialist |
| Specialist agent (one per domain) | AI Agent Tool | Answers within one domain, from its KB only |
| Domain knowledge base (one per domain) | Vector store (retrieve-as-tool) | Semantic search over one domain's SOPs |
| Shared model | Anthropic Chat Model | Reasoning for the router and specialists |
| Shared embeddings | OpenAI Embeddings | Vectorizes queries and documents |
| Conversation memory | Buffer window memory | Short context per conversation |
The router's system prompt defines the domains and the rule: classify each message, delegate to exactly one specialist, never invent a policy, and cite the SOP title or section. The example configuration routes across Frontline Operations, People and HR, Finance and Procurement, and IT and Access. The domain set is configuration; the same router supports any role split.
Two-workflow RAG. Ingestion: SOP file, recursive split (512-token chunks, 50-token overlap), embed, per-domain store. Query: each specialist retrieves from its own store as a tool, so retrieval happens only when the agent decides it is needed. Knowledge boundaries are enforced at the data layer, one store per domain.
The webhook acknowledges Teams immediately (200), the agent runs asynchronously, and the answer is posted back as a proactive message via the Bot Framework Connector. This keeps the bot inside the Teams activity-response window.
| Claim | Source |
|---|---|
| Router delegates to specialists as tools | Concierge Router (AI Agent) plus the specialist AI Agent Tool nodes, one per domain, in ops-assistant.query.json |
| One knowledge base per domain | the per-domain vector store nodes (retrieve-as-tool), one memoryKey each |
| Chunking 512 / 50 overlap | Text Splitter node, ops-assistant.ingest.json |
| Immediate 200 then async reply | Teams Messaging Endpoint (responseMode onReceived) and Reply via Bot Framework (HTTP), ops-assistant.query.json |
| Shared model and embeddings | Claude (shared model) and Embeddings (OpenAI) nodes |