CrewAICrewAI 1.15 · Python 3.10 to 3.13
Dashboard
0%
1
Curious builder0 XP earned · 300 to level 2
0 daysFinish a lesson to begin
Badge collection0 of 6 unlocked
35 small wins to finish your pathNext lesson →

CrewAI logoIntroduction 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.

What you build: one ticket, through the desk
SupportDesk flowread_ticketfinds the order idroutestatus, refund, no idOrder clerkcalls lookup_orderReply writerguardrail checks itstate.replywhat the customer readspropose_refundpauses for a personManagerInboxapproves, or does not
Hover or tap a piece to see what it is and which lesson built it.
Follow a ticket

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.

Everything in this course, and where it is going
Your first crewTools and hooksTasks and teamsFlowsMemory, MCP and the deskthe desk in plain Pythona model you writeagents, tasks and a crewwhat the model is sentinputs for many ticketswatching a crew worktoolsasking for a toolwhen a tool failsmax_iterrefunds need approvalhooks around the modeltwo agents in a rowstructured outputguardrailsconditional tasksdelegationa manager agent@start and @listentyped state@routera crew inside a flowwaiting for a personmemorytools from an MCP servera real modelthe support desk
Hover or tap a piece to see what it is and which lesson built it.

The four building blocks

PieceWhat it isWhat it holds
Agenta model given a role, a goal and a backstorytools it may call
Taskone unit of worka description and an expected output
Crewa runner for agents and tasksthe order they run in
Flowplain Python methods wired with decoratorsstate 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.

Back toAll frameworks

Every expert started right here.