Introduction to CrewAI
CrewAI is a Python framework that builds teams of AI agents: each agent has a job, they share tools, and a flow decides who works on what.
Last updated: 28 Sep, 2026 · CrewAI 1.15
This course builds one thing, a shop's support desk. It starts as two plain functions and ends as a flow that answers tickets, looks orders up, hides card numbers and holds refunds for a manager. Every lesson runs with no account, because in the custom-LLM lesson you write the model yourself.
João Moura released CrewAI in late 2023. It is MIT licensed and maintained by the company of the same name; the version here is 1.15. CrewAI does not depend on LangChain or any other agent framework: it talks to model providers through their own SDKs.
Agents, tasks, crews and flows
An agent is a model given a role, a goal and a backstory, and optionally tools it can call. A task is one piece of work with a description and an expected output. A crew runs its tasks with its agents, one after another or under a manager agent. A flow is ordinary Python methods wired together with decorators, which keeps state and decides what runs next; a crew can be one step of a flow.
The support desk starts as two Python functions. It ends as a flow that reads a ticket, sends order questions to a crew that looks the order up with a tool and writes the reply, blocks any reply that contains a card number, tells the customer when an order does not exist, and holds every refund until a person approves it. That finished desk is drawn below; walk a ticket through it to see which piece does what.
Pick one to watch it run, step by step.
Each box is a lesson's worth of work, in the order they arrive: the agents first, then the tools and the checks around them, then the flow that decides which of them a ticket needs.
The four building blocks
| Piece | What it is | What it holds |
|---|---|---|
| Agent | a model given a role, a goal and a backstory | tools it may call |
| Task | one unit of work | a description and an expected output |
| Crew | a runner for agents and tasks | the order they run in |
| Flow | plain Python methods wired with decorators | state and what runs next |
A model you write yourself
No account and no card are needed. In the custom-LLM lesson you write a small model class of your own, and CrewAI treats it exactly as it treats a hosted one: agents, tools, crews, flows and memory all work against it. The real-model lesson swaps in a hosted model with one argument.
What you need
- Python 3.10 to 3.13. CrewAI 1.15 does not install on 3.14.
- Comfort with functions, classes and dictionaries.
The next lesson installs CrewAI and shows where a provider key goes, for the day you want one.
Related
- Next: Setup: installing CrewAI
Every expert started right here.