What It Does
- Agent Control (security): PRE, POST, and FINAL blocks unauthorized access and PII.
- CrewAI Guardrails (quality): validates length, structure, and tone with up to three retries.
Prerequisites
Before running this example, ensure you have:- Python 3.12+
- uv (fast Python package manager)
- Docker (for PostgreSQL required by Agent Control server)
Installation
1. Install Monorepo Dependencies
From the monorepo root, install all workspace packages:2. Install CrewAI Example Dependencies
Navigate to the CrewAI example and install its specific dependencies:3. Set OpenAI API Key
Create a.env file or export the environment variable:
4. Start the Agent Control Server
In a separate terminal, start the server from the monorepo root:5. Setup Content Controls (One-Time)
From theexamples/crewai directory, run the setup script:
Running the Example
Make sure you’re in theexamples/crewai directory and run:
Expected Behavior
| Scenario | Layer | Result |
|---|---|---|
| Unauthorized access | Agent Control PRE | Blocked |
| PII in tool output | Agent Control POST | Blocked |
| Short or low-quality response | Guardrails | Retry then pass |
| Agent bypass attempt | Agent Control FINAL | Blocked |
Output Legend
- PRE checks input before the LLM
- POST checks tool output for PII
- FINAL checks the crew’s final response
- Agent Control blocks immediately (no retries), violations are logged
- Guardrails retry with feedback (quality only)
Agent Control and CrewAI Integration
Agent Control works with CrewAI’s orchestration:- CrewAI agent layer: plans tasks, selects tools, manages conversation flow
- Agent Control layer: enforces controls and business rules at tool boundaries
Source Code
View the complete example with all scripts and setup instructions:CrewAI Integration Example