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.15.23, openinference-instrumentation-crewai 1.1.18, and openinference-instrumentation-openai 0.1.61 (September 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_INGESTION_API_KEY - Your HoneyHive ingestion 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, and outputs for each task
  • Model requests - OpenAI-backed LLM calls with prompt and response payloads
  • Tool usage - Each CrewAI tool run, with its arguments and result
  • Flows - Flow.kickoff() runs and each flow method step
  • Standalone agents - Agent.kickoff() calls made outside a crew
No manual @trace decorators are required for the standard CrewAI path. Tool events require openinference-instrumentation-crewai 1.1.11 or later. Earlier versions do not emit spans for @tool-decorated functions.

Example: Support Agent with Tool Calls

For trace enrichment after setup, see Enriching Traces.

Troubleshooting

Traces not appearing

  1. Check environment variables - Ensure HH_INGESTION_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