Configure a CrewAI Flow to orchestrate multiple crews with conditional branching

domain: docs.crewai.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Install crewai: pip install crewai
  2. Define a Flow class inheriting from Flow and decorate the entry method with @start()
  3. Add subsequent methods decorated with @listen(start_method) or @router(start_method) for conditional branching based on method return values
  4. Embed Crew instances inside flow methods; call crew.kickoff() to run a crew synchronously or crew.kickoff_async() for non-blocking execution
  5. Use flow.kickoff() to execute the entire flow, or flow.kickoff_async() when running multiple flows concurrently with asyncio.gather()
  6. Access shared flow state via self.state (a Pydantic model or dict) to pass data between flow methods and crews

Known gotchas

Related routes

Set up Prefect 3 automations for event-driven flow orchestration on a self-hosted server
docs.prefect.io · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans