Documentation
Integration Examples/CrewAI Integration/CrewAI Integration Overview

CrewAI Integration Overview

Integrate Noveum Trace with CrewAI crews and flows for multi-agent observability

Noveum Trace integrates with CrewAI so crew kickoffs, tasks, LLM calls, tools, memory, flows, and related events export to your Noveum project.

What You Get

  • Crew and task visibility: Spans for crew kickoff, tasks, agents, LLM calls, and tools
  • Rich context: Optional capture of inputs, outputs, tool schemas, and agent snapshots (configurable on the listener)
  • Flows and extras: Flow execution, memory, knowledge, A2A, MCP, and streaming can be traced when you use those features

Prerequisites

  • Python 3.10+ (the noveum-trace[crewai] extra aligns with CrewAI’s supported Python range)
  • A CrewAI app (agents, tasks, Crew, and optionally Flows)
  • A Noveum API key and project

Installation

pip install "noveum-trace[crewai]"

Quick Start

Set credentials (or use your own config):

export NOVEUM_API_KEY="your-api-key"
export NOVEUM_PROJECT="my-crewai-app"

Initialize the SDK once, then start CrewAI tracing. Attach the returned listener to your crew before kickoff(), and shut it down when the process is done (especially in tests or short scripts).

import os
import noveum_trace
from noveum_trace.integrations.crewai import setup_crewai_tracing
from crewai import Agent, Crew, Task
 
noveum_trace.init(
    api_key=os.getenv("NOVEUM_API_KEY"),
    project=os.getenv("NOVEUM_PROJECT", "my-crewai-app"),
    environment=os.getenv("NOVEUM_ENVIRONMENT", "development"),
)
 
listener = setup_crewai_tracing()
 
agent = Agent(
    role="Researcher",
    goal="Answer in one sentence.",
    backstory="You give concise factual answers.",
    verbose=True,
)
task = Task(
    description="Question: {topic}",
    expected_output="A single plain sentence.",
    agent=agent,
)
crew = Crew(agents=[agent], tasks=[task], verbose=True)
crew.callback_function = listener
crew.kickoff(inputs={"topic": "What is LLM observability?"})
 
listener.shutdown()

Configure your CrewAI LLM the same way you do today (for example provider API keys your agents use). setup_crewai_tracing() must run after noveum_trace.init().

Verification

Run the crew once with a valid NOVEUM_API_KEY, open the Noveum dashboard, pick your project, and confirm new traces. In short-lived processes you can call noveum_trace.flush() before exit so batched spans are sent.

Next Steps

Need Help?

  • Documentation: Browse the rest of the integration guides
  • Examples: See LangChain, LangGraph, and LiveKit
  • Support: Contact our team for assistance
Exclusive Early Access

Get Early Access to Noveum.ai Platform

Be the first one to get notified when we open Noveum Platform to more users. All users get access to Observability suite for free, early users get free eval jobs and premium support for the first year.

Sign up now. We send access to new batch every week.

Early access members receive premium onboarding support and influence our product roadmap. Limited spots available.

On this page

CrewAI Integration Overview | Documentation | Noveum.ai