Skip to main content
CrewAI is a multi-agent framework for orchestrating crews, tasks, tools, and manager-driven delegation. HoneyHive integrates with CrewAI through OpenInference instrumentors. Crew orchestration spans come from 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

Recommended setup. Initialize HoneyHive, instrument CrewAI for orchestration spans, then instrument the model provider your CrewAI app actually uses.
To see where to initialize the tracer for your environment, including AWS Lambda and long-running servers, see Tracer Initialization.
Last tested with crewai 1.14.4 and openinference-instrumentation-crewai 1.1.5 (May 2026).
The examples on this page use 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 key
  • OPENAI_API_KEY - Required for the examples on this page
  • HH_API_URL - Optional override for non-production HoneyHive environments
If you use a different model provider with CrewAI, set that provider’s credentials and instrument that provider’s client when an openinference instrumentor exists.

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
No manual @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

For trace enrichment after setup, see Enriching Traces.

Troubleshooting

Traces not appearing

  1. Check environment variables - Ensure HH_API_KEY is set
  2. Pass the tracer provider - Both instrumentors must receive tracer_provider=tracer.provider:
  1. Instrument your provider - CrewAIInstrumentor captures orchestration spans; you also need the matching provider instrumentor for model input/output details
  2. Check your model provider - Ensure the API key for your chosen model provider is set (e.g., OPENAI_API_KEY)

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

Resources