What it is
CrewAI is an open-source Python framework for building multi-agent AI workflows. Its GitHub repository crewAIInc/crewAI has 59,795 stars (checked 2026-10-17) and describes it as a framework for orchestrating role-playing, autonomous AI agents that work together on complex tasks. The core idea is simple: instead of one AI doing everything, you define a small crew of agents with roles, goals, and tools — a researcher, a writer, an analyst — and let them hand work to each other. CrewAI also offers Flows, event-driven workflows that give you precise control over steps, branching, and state when full autonomy is too loose. If you are new to the concept, start with our explainer on AI agents for small business, then come back here to build one.
Who it is for / SMB use case
CrewAI is for small businesses that have someone comfortable with Python and a multi-step workflow that eats staff time every week. It fits jobs where one prompt is not enough because the work needs research, drafting, and checking in sequence. Practical SMB use cases include:
- Weekly content pipeline: a researcher agent gathers fresh facts on a topic, a writer agent turns them into a draft, and an analyst agent checks the draft for completeness before a human edits it.
- Lead research: a researcher agent collects public information about a prospect, then a reporting agent compiles it into a one-page brief for the sales call.
- Competitor monitoring: a scheduled crew summarizes competitor pages or announcements into a short weekly digest for the owner.
CrewAI is not a no-code tool. If nobody on your team writes Python, budget for a developer or pick a no-code automation tool instead.
Installation
CrewAI requires Python 3.10 or newer, but older than 3.14. Check your version first:
python3 --version
CrewAI uses uv for dependency and package management. If you have not installed uv yet, install it first. On macOS or Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
If your system does not have curl, you can use wget instead:
wget -qO- https://astral.sh/uv/install.sh | sh
On Windows, run this in PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Then install the CrewAI CLI:
uv tool install crewai
If you see a PATH warning, run uv tool update-shell. Verify the install with uv tool list — you should see an entry like crewai v0.102.0. To upgrade the global CLI later, run uv tool install crewai --upgrade. On Windows, a chroma-hnswlib build error mentioning float.h means installing Visual Studio Build Tools with Desktop development with C++, per the README.
How to use
Step 1: Scaffold a crew project
The crewai create crew command creates a JSON-first crew project. Agents live in agents/*.jsonc, tasks and crew-level settings live in crew.jsonc, and crewai run loads that JSON definition directly:
crewai create crew latest-ai-development cd latest_ai_development
The scaffold includes agents/, crew.jsonc, knowledge/, tools/, skills/, pyproject.toml, a README.md, and an .env file. If you need the older Python/YAML scaffold with crew.py and config/agents.yaml, add the --classic flag when creating the crew.
Step 2: Define two agents and two tasks
Edit agents/researcher.jsonc to set the researcher’s role, goal, backstory, model, and tools. The README example uses openai/gpt-4o as the model and SerperDevTool for web search. Then define the crew in crew.jsonc: a research_task that outputs a list of bullet points, and a reporting_task that expands it into a markdown report. Set "process": "sequential" and "output_file": "output/report.md" on the reporting task. Use {topic} placeholders, then set the default under inputs in crew.jsonc.
Step 3: Add your API keys
Before running, set the required keys in your project’s .env file: your model provider API key, and a Serper.dev API key (SERPER_API_KEY) if your crew uses web search. By default, agents use the OpenAI API; the README notes you can also connect agents to a local model via Ollama. See the official docs page on connecting CrewAI to LLMs for the full list of options.
Step 4: Install dependencies and run
From the project directory, install dependencies and run the crew:
crewai install crewai run
If you need additional packages, use uv add package-name. When the run finishes, you should see the output in the console, and output/report.md should exist in the project root. If the CLI prompts for a missing input value, type it in — the README notes that crewai run prompts for any missing values.
Step 5: Review, tighten, and repeat
Read the report before you use it. Then improve the weakest part: make the research task’s expected_output more specific, add a human-review step, or switch to the hierarchical process, which assigns a manager agent to coordinate planning and execution. For branching workflows, combine your crew with a Flow using the @start, @listen, and @router decorators.
Pricing / Limitations
CrewAI the open-source framework is free under the MIT license. Your real costs are the LLM API usage behind your agents and any tool APIs you use, such as Serper for web search. CrewAI also sells a commercial control plane, CrewAI AMP Suite, with managed deployment, observability, governance, and enterprise support; the README mentions a free trial of the Crew Control Plane. Check crewai.com for current commercial pricing, which the README does not state. Limitations to plan around:
- Python required: building and debugging crews takes code. Budget developer time, not just API spend.
- Prompt and task design matter: vague tasks produce vague reports. The biggest quality lever is a precise
expected_outputfor every task. - Costs scale with steps: every agent turn calls a model. A five-agent crew costs more per run than a single prompt, so start with two agents and add more only when the output justifies it.
- Telemetry: CrewAI collects anonymous usage telemetry. It states that prompts, task descriptions, and business data are not collected, and you can disable telemetry by setting
OTEL_SDK_DISABLEDtotrue. Check the official docs if this matters for your compliance.
Bottom line for SMB
CrewAI is a solid choice when one AI prompt is not enough and your workflow genuinely has two or three distinct jobs — research, then write, then check. Build the two-agent crew from this tutorial, run it on a real weekly task, and keep a human on the final output. If your workflow is a simple one-step automation, a tool like Zapier automation will be faster to ship. For the full reference, examples, and LLM setup guides, see the official docs at docs.crewai.com.
FAQ
Do I need to know Python to use CrewAI?
Yes, in practice. The current scaffold is JSON-first, but installing, debugging, and extending a crew still requires Python and command-line skills.
What is the difference between Crews and Flows?
Crews give agents autonomy and role-based collaboration. Flows give you event-driven, step-by-step control with state and branching. You can combine them: a Flow can run Crews as steps.
Can I use CrewAI with a local model?
The README says you can configure agents to use a local model via Ollama. Check the official docs page on connecting CrewAI to LLMs for the current setup steps.



