CrewAI Tutorial
Welcome to the CrewAI tutorial. Based on the official CrewAI docs and the open-source crewAIInc/crewAI project, this guide shows how to ship multi-agent apps with Flows (event-driven backbone) and Crews (role-playing agent teams).
Official framing: start production apps with a Flow. Put a Crew inside a Flow step only when you need autonomous collaboration.
Table of Contents
Basics
- Introduction — Positioning, Flows vs Crews, vs LangChain / LlamaIndex
- Installation — Python,
uv/pip, CLI, coding-agent skills - Quick Start — First Crew, and a minimal Flow with
@start/@listen
Core objects
- Agents —
role/goal/backstory, tools,kickoff() - Tasks —
description,expected_output, context and output - Crews and Processes —
Crew,Process.sequential/hierarchical
Capabilities
- Tools —
crewai[tools], built-ins, customBaseTool/@tool - Flows — State,
@start/@listen/@router, Crews inside steps - Memory — Unified
Memory, four usage patterns
Practice
- Practical Examples — Research/write crew, Flow wrapping a Crew, retrieval tools
- Resources — Official docs and related courses on this site
Learning path
Prerequisites
- Python 3.10+ (official:
>=3.10and<3.14) - Familiarity with LLM / Chat APIs
- At least one provider API key (OpenAI, Anthropic, etc.)
Related courses
Two ways in
This tutorial covers both. Object semantics follow the Python API; JSONC fields map to the same official Agent / Task / Crew attributes.
Object cheat sheet
What you will build
- A sequential two-agent Crew — researcher then writer
- A stateful Flow —
@startsets a topic; a@listenstep runscrew.kickoff() - A production-shaped skeleton — search / files / custom tools, memory across tasks
This course does not cover every AMP enterprise console feature; use the official platform docs for that.
Start with Introduction.