Skip to main content

Crews — Multi-Agent Collaboration

A Crew is a team of agents working together toward a shared goal. One agent decomposes the work, others execute their specialisations, and a reviewer validates the results before synthesis.

Scenario: A PR agency uses a 3-agent crew to produce press releases. The Coordinator decomposes the brief, a Copywriter drafts the release, a Fact Checker reviews claims, and the Coordinator synthesises the final approved version.

Crew member roles

Role Responsibility
coordinator Decomposes the goal into tasks and synthesises the final result. Every crew has exactly one coordinator.
worker Executes assigned tasks. The workhorse of the crew.
qa Validates output quality. Can request revisions before the coordinator synthesises.

Per-member permission policies

Each crew member can be given an individual policy that constrains what the agent is allowed to do during execution. Policies are stored in the member's config JSONB field and enforced by CrewOrchestrator at runtime.

Field Description
tool_allowlist Array of tool IDs the agent may use. If set, the agent cannot call tools outside this list.
max_steps Maximum number of execution steps allowed for this member in a single crew run.
max_credits Credit budget cap for this member. Execution stops when the member's spend reaches this limit.
json
// POST /api/v1/crews  (or PUT /api/v1/crews/CREW_ID)
{
  "name": "PR Agency Crew",
  "members": [
    {
      "agent_id": "agt_01jq...",
      "role": "worker",
      "workerConstraints": {
        "tool_allowlist": ["tool_web_search", "tool_fetch_url"],
        "max_steps": 20,
        "max_credits": 500
      }
    }
  ]
}

Process types

Sequential

Agents execute one at a time. Each agent receives the previous agent's output. Predictable, auditable, but slower.

Parallel

All agents execute simultaneously on independent sub-tasks. Fastest option. Results merged by the coordinator.

Hierarchical

Tree structure. The coordinator assigns sub-tasks to workers who may delegate further. Best for complex, decomposable goals.

Running a crew

From the crew detail page, click Execute or navigate to /crews/{id}/execute. Provide a goal and optional context. The crew starts immediately.

bash
curl -X POST https://fleetq.169.58.89.204.sslip.io/api/v1/crews/CREW_ID/execute \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "goal": "Write a press release for our Series B funding announcement",
    "context": "Amount: $12M. Lead investor: Acme Ventures. Use case: AI for e-commerce."
  }'

Under the hood: CrewOrchestrator

The CrewOrchestrator runs a 4-step loop:

1

DecomposeGoal

The coordinator agent breaks the goal into discrete tasks assigned to each crew member.
2

Execute tasks

Workers execute their assigned tasks (in parallel or sequentially, based on process type).
3

ValidateTaskOutput

The QA agent validates each output. Failed validations trigger a retry of that specific task.
4

SynthesizeResult

The coordinator merges all validated outputs into the final result and saves it as an Artifact.

Crew artifacts

Each crew execution automatically collects artifacts from task outputs via CollectCrewArtifactsAction. View and download artifacts from the execution detail page.

MCP tools

Tool Purpose
crew_list List crews with filtering
crew_get Get crew details including members
crew_create Create a new crew with members
crew_update Update crew configuration
crew_execute Start a crew execution
crew_execution_status Check execution progress
crew_executions_list List past executions

API endpoints

Method Path Purpose
GET /api/v1/crews List crews
GET /api/v1/crews/{id} Get crew details
POST /api/v1/crews Create crew
PUT /api/v1/crews/{id} Update crew
DELETE /api/v1/crews/{id} Delete crew
POST /api/v1/crews/{id}/execute Start execution
GET /api/v1/crews/{id}/executions List executions
GET /api/v1/crews/{id}/executions/{eid} Execution detail
See also: Agents (individual AI workers), Workflows (visual DAG pipelines).