Best multi-agent frameworks for customer support
Support systems route a message to the right specialist, keep the conversation state, and hand over to a person when needed. This page lists tools whose records document routing or handoffs plus a human escalation path. The order follows the criteria below. Data as of 2026-09-30.
Selection criteria
- Documents routing or handoff between specialist agents.
- Keeps conversation history per user or session.
- Has a documented human approval or escalation mechanism.
- Offers channel or voice integration, or a documented support example.
- License and hosting options are clear.
Shortlist
- OpenAI Agents SDK (Python): Handoffs let a triage agent pass the conversation to a specialist; guardrails, sessions (SQLite, Redis, SQLAlchemy) and approvals that work across handoffs are included. MIT, Python; A2A is recorded as no.
- Agent Squad: Apache-2.0 framework in Python, TypeScript and Swift that classifies each message and routes it to the best-matching specialist agent with per-agent history; its docs include an e-commerce support example that escalates to human staff. No built-in approval API is documented.
- LiveKit Agents: Apache-2.0 framework for realtime voice agents with agent handoffs, SIP telephony and
WarmTransferTaskfor handing a caller to a person; self-hosted or on LiveKit Cloud. - Agno: Teams in route mode send a request to one member; AgentOS provides Slack, Telegram, WhatsApp and Discord interfaces, stores sessions in your database and persists paused approval runs.
- Dify: Visual platform whose official tutorial builds a customer service bot over a document knowledge base; the Human Input node pauses a flow for review by web form or email. Its license is a modified Apache 2.0 with restrictions (see the tool page).
- OpenAI Agents SDK (JavaScript/TypeScript): The TypeScript counterpart of the OpenAI SDK: triage-to-specialist handoffs with
needsApprovalon tools, for Node.js support back ends.
Shortlist facts
| Tool | Type | Languages | License | Pricing | Pattern | MCP | A2A | AG-UI | Stars |
|---|---|---|---|---|---|---|---|---|---|
| OpenAI Agents SDK (Python) | Framework | Python | MIT | Open source, free | Handoff | Yes evidence | No evidence | Unknown | 29,784 |
| Agent Squad | Framework | Python, TypeScript, Swift | Apache-2.0 | Open source, free | Other | Yes evidence | Unknown | Unknown | 7,778 |
| LiveKit Agents | Framework | Python | Apache-2.0 | Open core | Handoff | Yes evidence | Unknown | Unknown | 14,431 |
| Agno | Framework | Python | Apache-2.0 | Open core | Supervisor | Yes evidence | Yes evidence | Yes evidence | 42,396 |
| Dify | Platform | Python, TypeScript, JavaScript | unknown | Open core | Graph | Yes evidence | Unknown | Unknown | 157,573 |
| OpenAI Agents SDK (JavaScript/TypeScript) | Framework | TypeScript, JavaScript | MIT | Open source, free | Handoff | Yes evidence | No evidence | Unknown | 3,881 |
FAQ
Do I need a multi-agent system for support?
Only if one agent cannot hold all the instructions and tools. Routing frameworks such as Agent Squad or handoff SDKs keep each specialist narrow; a single agent with good retrieval is often enough for one product line.
Which option handles phone calls?
LiveKit Agents is the voice entry on this list: it documents SIP telephony, turn detection and warm transfer to a human.
How do these tools hand over to a human?
It varies: tool approvals (OpenAI Agents SDK, Agno), a Human Input node (Dify), warm transfer on a call (LiveKit), or an application-level pattern shown in examples (Agent Squad).