Crews
Build multi-agent crews in ThinkFleet where specialized agents collaborate to handle complex tasks.
Crews
A Crew is a team of agents that work together to accomplish tasks that are too complex or varied for a single agent. Crews use intelligent routing, task delegation, and a Kanban-style board to coordinate work.
How Crews Work
The Routing Model
When a message or task arrives at a crew:
- A Router classifies the task (using an LLM)
- The router identifies which agent in the crew is best suited
- The task is delegated to that agent
- The agent works on the task, using its own tools and knowledge
- If the agent needs help with a subtask outside its expertise, it can hand off to another agent
- The final result is returned to the user
User Request
│
▼
┌─────────┐
│ Router │ ← Classifies and delegates
└────┬────┘
│
├──► Agent A (Billing)
│
├──► Agent B (Technical)
│
└──► Agent C (General)
Task Board
Crews use a Kanban-style task board with three columns:
| Column | Description |
|---|---|
| To Do | Tasks waiting to be picked up |
| In Progress | Tasks currently being worked on by an agent |
| Done | Completed tasks |
Each task card shows:
- Task description
- Assigned agent
- Priority level
- Status and progress
- Creation timestamp
Creating a Crew
Step 1: Plan Your Crew
Before building, decide:
- What types of tasks will this crew handle?
- What specialized roles are needed?
- What tools does each role require?
- What knowledge does each role need?
Step 2: Create the Agents
Create individual agents for each role in your crew. Each agent should be specialized:
Example: Customer Support Crew
| Agent | Role | Tools | Knowledge Base |
|---|---|---|---|
| Billing Agent | Handle billing inquiries | Stripe, invoice flows | Pricing docs, billing FAQs |
| Technical Agent | Resolve technical issues | Jira, GitHub, monitoring | Product docs, troubleshooting guides |
| Onboarding Agent | Help new customers | CRM, email, tutorial flows | Getting started guides |
| Escalation Agent | Handle VIP and complex cases | All tools + Slack (to humans) | All knowledge bases |
Step 3: Configure the Crew
- Navigate to Agents > Crews
- Click New Crew
- Name your crew (e.g., "Customer Support Crew")
- Add agents to the crew:
- Select existing agents
- Define each agent's role description (used by the router)
- Configure routing rules
Step 4: Define Routing
The router uses LLM-based classification to match incoming tasks to agents. You can influence routing with:
Role Descriptions
Describe what each agent handles. These descriptions are provided to the routing LLM:
Billing Agent: Handles questions about invoices, payments, subscriptions,
pricing, refunds, and billing errors.
Technical Agent: Handles questions about product features, bugs, API
integrations, error messages, and performance issues.
Onboarding Agent: Handles questions from new customers about getting
started, account setup, first-time configuration, and tutorials.
Routing Rules (Optional)
Add explicit rules that override LLM-based routing:
Rules:
- If message contains "invoice" or "payment" → Billing Agent
- If message contains "error" or "bug" → Technical Agent
- If user.accountAge < 7 days → Onboarding Agent
Rules are checked first. If no rule matches, the LLM router is used.
Task Delegation
Agent-to-Agent Handoffs
Agents within a crew can delegate subtasks to other agents. This happens when:
- The current agent recognizes a subtask outside its expertise
- The system prompt instructs the agent to delegate specific types of work
- The agent explicitly uses the
delegate_tasktool
Example Handoff Flow
User: "I'm getting an error when I try to pay my invoice"
1. Router → Technical Agent (because "error" keyword)
2. Technical Agent investigates, finds no technical issue
3. Technical Agent delegates to Billing Agent:
"User reports error paying invoice #5678. No technical bug found.
Likely a payment processing issue."
4. Billing Agent resolves the payment issue
5. Response returned to user
Handoff Context
When an agent delegates a task, it passes:
- The original user message
- A summary of work done so far
- Relevant data collected during investigation
- The reason for delegation
This ensures the receiving agent has full context without re-asking the user.
Crew Configuration
Priority Levels
Tasks can be assigned priority levels:
| Priority | Description | SLA |
|---|---|---|
| Critical | System down, data loss | Immediate |
| High | Major functionality impacted | 1 hour |
| Normal | Standard requests | 4 hours |
| Low | Nice-to-have, non-urgent | 24 hours |
Concurrency
Configure how many tasks each agent can handle simultaneously:
Billing Agent:
maxConcurrentTasks: 5
Technical Agent:
maxConcurrentTasks: 3
Escalation Agent:
maxConcurrentTasks: 2
Fallback Agent
Designate a fallback agent that handles tasks when:
- No other agent matches the task
- The assigned agent is at capacity
- The routing classification confidence is low
Monitoring Crews
Crew Dashboard
The crew dashboard shows:
- Active tasks — Currently in progress across all agents
- Queue depth — Tasks waiting to be picked up
- Agent utilization — How busy each agent is
- Resolution time — Average time from task creation to completion
- Handoff rate — How often tasks get delegated between agents
Task History
View completed tasks with:
- Which agent handled them
- Whether handoffs occurred
- Total resolution time
- User satisfaction (if feedback is collected)
Crew Patterns
Tiered Support
Tier 1: General Agent (handles common questions)
│
└── Escalates complex issues to:
Tier 2: Specialist Agents (billing, technical, etc.)
│
└── Escalates critical issues to:
Tier 3: Human handoff via Slack/email
Parallel Processing
For tasks that require multiple types of work:
User: "Set up my new team member"
Router creates subtasks:
→ HR Agent: Create employee record, benefits enrollment
→ IT Agent: Provision accounts, assign licenses
→ Facilities Agent: Assign desk, order equipment
All run in parallel, results combined.
Review Chain
For tasks that require quality checks:
Author Agent: Drafts content
│
▼
Reviewer Agent: Reviews for accuracy and tone
│
▼
Publisher Agent: Formats and publishes
Best Practices
- Keep agents focused — Each agent should have a clear, narrow specialty
- Write detailed role descriptions — The router relies on these to make good decisions
- Test routing with diverse inputs — Ensure edge cases route correctly
- Monitor handoff rates — High handoff rates suggest agents need broader capabilities or routing needs adjustment
- Set realistic concurrency limits — Don't overload agents with too many parallel tasks
- Include a fallback agent — Always have a safety net for unclassified tasks