Dec 28, 2024 · 1h 42m · startup-ideas
How To Create Ai Agents From Scratch (CrewAI, Zapier, Cursor)
gold bands on the timeline = statements, start to end. Hover to read, click to jump. CC turns on captions
In this hands-on masterclass, CrewAI co-founder and CEO João Moura joins Greg Isenberg to demonstrate how to build, debug, and deploy production-ready multi-agent AI systems from scratch. The tutorial covers end-to-end inbound lead enrichment, dynamic PDF report generation, and complex multi-crew orchestration using CrewAI Flows, Zapier, and Cursor.
How this conversation actually went
Every chapter scored 0–10 on four independent dynamics. Hover any point for the reasoning behind the score. Greg holds 8.5% of the talking time here. How this is scored →
speaking balance: gold is Greg, purple is the guest (3 minute bins)
João criticizes the agent's unexpected focus on video game SEO rather than general SEO with game examples, though Greg quickly spins it positively.
Hardest push from Greg ▶ 1:36:14 Reframing output anomaly into a business nicheGreg pushes back against João's view that the agent output was flawed, arguing that a dedicated gaming SEO curriculum is actually a high-value untapped niche.
Biggest teaching moment ▶ 13:28 Explaining role prompting and model benchmarkingJoão clearly educates Greg on how role definitions alter LLM outputs and explains how CrewAI Test automates model benchmarking against hallucinations and latency.
Greg holds their own ▶ 37:48 Demonstrating practical developer tooling perspectiveGreg demonstrates technical fluency by explaining his CS background and comparing rapid web prototyping in Bolt with AI editors like Windsurf, Cursor, and Lovable.
the scores for every segment, with the reasoning behind each
| Chapter | Topic | Greg as informed peer | Guest teaching | Guest disagreement | Greg pushing back | Why |
|---|---|---|---|---|---|---|
| Designing Lead Enrichment Workflows in CrewAI Studio | 1 | 5 | 0 | 0 | João takes the lead screen-sharing and walking through the architecture of a lead enrichment workflow in CrewAI Studio, while Greg listens passively. | |
| Sponsor Break: Startup Empire Community | 0 | 0 | 0 | 0 | Solo host ad read for Startup Empire Community followed by João resuming the setup of CrewAI studio agents. | |
| Benchmarking LLMs and Evaluating Role-Based System Prompts | 4 | 7 | 1 | 2 | Greg asks pointed questions about model selection and whether persona descriptors like 'Senior' meaningfully change LLM behavior. João educates him on empirical benchmarking using the CrewAI Test CLI tool and role steering. | |
| Local CLI Debugging and GitHub API Deployment | 2 | 4 | 0 | 0 | João demonstrates local CLI installation and debugs an unassigned agent before pushing the code to GitHub for automated deployment. | |
| Connecting Webflow, Zapier Webhooks, and Resend | 4 | 2 | 0 | 1 | Greg probes on why João selected Webflow over Framer and provides domain context explaining Resend's transactional email architecture. | |
| Sponsor Break: BoringMarketing.com SEO Agency | 3 | 4 | 0 | 0 | After an ad read, Greg highlights the business value proposition of replacing $50k-$80k junior marketing report generation with automated agents, while João tests the Zapier webhook. | |
| Designing PDF Templates and Pydantic Data Structures | 4 | 3 | 0 | 0 | João queries Greg about his developer setup (Cursor vs. Windsurf), prompting Greg to share his CS background and practical preference for Bolt and Lovable. | |
| Refactoring Agent Configurations for Structured Pydantic Output | 3 | 4 | 0 | 0 | João refactors agent YAMLs using Cursor to output structured Pydantic models. Greg observes that getting a minimum viable output running before optimizing prompts is the right tactical approach. | |
| Writing Deterministic After-Kickoff Hooks for PDF Compilation | 1 | 6 | 0 | 0 | João walks through adding deterministic `@after_kickoff` hooks to inject structured Pydantic data directly into an HTML template for PDF compilation. | |
| Introduction to Stateful Orchestration with CrewAI Flows | 2 | 6 | 0 | 0 | João introduces CrewAI Flows, contrasting basic linear agent execution with event-driven, stateful multi-crew orchestration for complex long-form content generation. | |
| Building a Planning Crew and Plotting Flow Architecture | 2 | 5 | 0 | 0 | João codes a content planning crew and runs the CLI plot command to render a visual state diagram, which Greg enthusiastically praises as essential for visual thinkers. | |
| Chaining Multi-Agent Chapter Generation in a Loop | 1 | 5 | 0 | 0 | João implements a loop iterating through generated chapters to invoke dedicated chapter-writing crews equipped with Serper and web scraping tools. | |
| Live Execution and Debugging of the Course Generation Flow | 2 | 4 | 0 | 0 | During live execution, a string attribute error triggers live debugging where João adjusts the flow to return typed Pydantic objects instead of raw JSON strings. | |
| Resolving Pydantic Schema Errors and Configuring PDF.co in Zapier | 2 | 5 | 0 | 0 | João connects PDF.co in Zapier for dynamic rendering and resolves another live coding error where Cursor mismatched agent names and Pydantic attribute accessors. | |
| Generating Comprehensive SEO Course Content via CrewAI Flow | 5 | 4 | 1 | 1 | João runs the Flow with Greg's custom SEO and gaming parameters. When João notes the model's gaming SEO slant was unexpected, Greg reframes it as a viable niche market opportunity. | |
| Prompt Optimization, Guardrails, and AWS Infrastructure Crew Demo | 3 | 6 | 0 | 0 | João showcases how to separate fuzzy agent prompts in YAML from deterministic guardrails and code checks in Python, concluding with an AWS cloud monitoring demo and course recommendations. |