CrewAIInstrumentor. Model spans come from the provider client that CrewAI actually calls underneath. This page uses OpenAI-backed CrewAI flows, so it layers OpenAIInstrumentor on top of CrewAIInstrumentor.
Quick Start
Last tested with
crewai 1.14.4 and openinference-instrumentation-crewai 1.1.5 (May 2026).openai/gpt-4o-mini, so they use OpenAIInstrumentor. If your CrewAI app uses another provider, use the matching provider instrumentor when one exists.
Required Environment Variables
HH_API_KEY- Your HoneyHive API keyOPENAI_API_KEY- Required for the examples on this pageHH_API_URL- Optional override for non-production HoneyHive environments
What Gets Traced
This setup captures:- Crew runs - Crew kickoff spans and multi-step execution
- Agent activity - Agent roles, prompts, outputs, and handoffs
- Model requests - OpenAI-backed LLM calls with prompt and response payloads
- Tool usage - Tool-call arguments and results from the example flow
@trace decorators are required for the standard CrewAI path.
Known limitation: with the current CrewAI + OpenInference integration, custom CrewAI function tools do not yet appear as separate standalone HoneyHive tool events. You still see tool usage in model/tool-call payloads.
Example: Support Agent with Tool Calls
Troubleshooting
Traces not appearing
- Check environment variables - Ensure
HH_API_KEYis set - Pass the tracer provider - Both instrumentors must receive
tracer_provider=tracer.provider:
- Instrument your provider -
CrewAIInstrumentorcaptures orchestration spans; you also need the matching provider instrumentor for model input/output details - Check your model provider - Ensure the API key for your chosen model provider is set (e.g.,
OPENAI_API_KEY)
Related
Enrich Your Traces
Add user IDs and custom metadata to CrewAI traces
Custom Spans
Create spans for business logic around agent calls
Distributed Tracing
Trace agents across service boundaries

