Skip to main content
QuivaWorks supports two main patterns for assistants working together: assistant-to-assistant communication, where you explicitly link specialists together, and automatic sub-assistants, where QuivaWorks handles tool-heavy or large-document tasks behind the scenes.

Assistant-to-Assistant Communication

Linking is deny-by-default: an assistant can’t call any other assistant until you explicitly add it to its allow-list. This lets one assistant delegate work to another — enabling you to build systems where a coordinator routes tasks to the right specialist.

How It Works

Once you’ve added a specialist to a coordinator’s allow-list, the coordinator can call it as a tool. The called specialist receives the request, performs its task using its own instructions, knowledge, and integrations, and returns the result — as a single prompt string. It does not see the coordinator’s conversation, only what the coordinator explicitly sends it. The specialist runs under the same identity as whoever is talking to the coordinator — it’s not a different permission scope, just a different set of instructions, knowledge, and integrations. Each assistant in a multi-assistant system can have:
  • Different instructions and expertise
  • Different knowledge sources
  • Different integrations and tool access
A specialist can’t delegate any further — only a coordinator (an assistant nothing else has called) can invoke another assistant. This means chains only ever run one level deep, and an assistant can’t be made to call itself. Each call also has a 2-minute timeout.
  1. Open the assistant you want to use as the coordinator (the primary assistant that delegates work)
  2. Navigate to the Integrations tab and click Add Integration
  3. In the modal, switch to the Assistants tab
  4. Click Add Assistant next to each specialist you want this assistant to be able to call
  5. In the coordinator’s instructions, describe when and how to delegate to each specialist
Example instruction for a coordinator:

Patterns to Compose

These aren’t named settings or modes — they’re just shapes this delegation tends to take once you start using it. Both fit within the one-level depth limit above: the coordinator calls one or more specialists directly, and none of those specialists call anything further.
A coordinator receives requests and routes them to the right expert based on topic, intent, or complexity. Each specialist has deep knowledge in its domain.Example: A customer-facing assistant delegates product questions to a product expert, billing questions to a finance assistant, and technical questions to a support engineer assistant.
A coordinator dispatches multiple research tasks to different specialists, then combines the results. Each call is subject to the 2-minute timeout, so keep individual specialist tasks scoped to fit within it.Example: A due diligence assistant delegates financial analysis, legal review, and market analysis to three different specialists, then synthesises a summary.

Automatic Sub-Assistants

For tool-heavy workflows or large document processing, QuivaWorks automatically uses sub-assistants to do some of the work. Most of this happens transparently, with no configuration required.

How It Works

1

Automatic Triggers

QuivaWorks dispatches sub-assistants based on fixed thresholds — a document crossing a size threshold, or a task calling for a large number of tool invocations — not by measuring how much context window is left.
2

Sub-Assistant Dispatch

Individual tool calls or document sections are handled by dedicated sub-assistants, each working within its own context.
3

Result Consolidation

Sub-assistant results are returned to the main assistant, which synthesises them into a coherent response.

Large Document Processing

When a large document is added to an assistant’s knowledge base, it’s broken into sections and indexed by a deterministic chunking and embedding pipeline — not by a sub-assistant or an LLM. At query time, a sub-assistant retrieves the relevant sections and passes them to the main assistant. This is used for things like:
  • Long technical documents and specifications
  • Extensive legal contracts
  • Large codebases
  • Book-length research reports
The assistant can answer specific questions about the document without loading the entire thing into context.

Design Principles for Multi-Assistant Systems

Specialist assistants work best when their scope is narrow and well-defined. A “Customer Support” assistant that tries to handle sales, billing, and engineering questions will be less effective than three focused specialists.
The coordinator needs clear guidance on when to delegate and when to handle requests directly. Include specific criteria: topic areas, complexity thresholds, or explicit trigger phrases.
Each specialist should only have access to the integrations and knowledge it actually needs. Keeping specialists focused makes them more accurate and easier to debug.
Before testing the full multi-assistant system, test each specialist assistant on its own. It’s much easier to identify and fix issues in isolation than in a complex pipeline.
If you need deterministic, ordered processing across multiple assistants, build a Flow with multiple assistant steps rather than using assistant-to-assistant communication. Flows give you explicit control over data passing, branching, and error handling.

Multi-Assistant vs. Flows

Both multi-assistant delegation and flows can orchestrate work across multiple assistants. Choose based on your needs: Use multi-assistant delegation when the routing logic requires judgment — the task is complex enough that an AI should decide who handles it. Use flows when the pipeline is predictable — you know in advance which assistants run in which order.

Next Steps

Tools & Connectors

Connect assistants to external systems via MCP

Flows Overview

Build structured pipelines with assistant steps

Capabilities

Built-in tools, image analysis, and file generation

Best Practices

Design patterns for effective assistants