Tutorials

How to Use CrewAI: Build a Multi-Agent Crew for Your Small Business

Build a multi-agent crew with CrewAI — scaffold a JSON-first crew, define researcher and writer agents, and let them hand work to each other.

Small business team planning a project together around a table, illustrating CrewAI multi-agent teamwork
Image: Pixabay / Pixabay Content License
Time Required
About 1 Hour
Difficulty
Intermediate (Python / JSON)
Tools Covered
CrewAI + uv + OpenAI / Serper

What You'll Learn (Key Takeaways)

  • CrewAI is a free, open-source Python framework for building multi-agent AI workflows — a framework for orchestrating role-playing autonomous AI agents.
  • Install with uv (uv tool install crewai), then scaffold a JSON-first project with crewai create crew (agents/*.jsonc, crew.jsonc).
  • Define a researcher agent (openai/gpt-4o + SerperDevTool) and a reporting task, set API keys in .env, then run with crewai install and crewai run.
  • Bottom line: a solid choice when one AI prompt is not enough and the workflow has two or three steps — not a no-code tool; budget developer time.

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_output for 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_DISABLED to true. 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.

Frequently Asked Questions

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 takes code.

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 @start, @listen, and @router decorators.

Can I use CrewAI with a local model?

Yes. The README says you can configure agents to use a local model via Ollama. Check the official docs page for setup details.

WebGool Tech Senior AI & Small Business Editor
Verified Contributor

Keep Reading

More in Tutorials

Explore all

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top