# Source: https://docs.crewai.com/en/observability/galileo.md

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crewai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Galileo

> Galileo integration for CrewAI tracing and evaluation

## Overview

This guide demonstrates how to integrate **Galileo** with **CrewAI**
for comprehensive tracing and Evaluation Engineering.
By the end of this guide, you will be able to trace your CrewAI agents,
monitor their performance, and evaluate their behaviour with
Galileo's powerful observability platform.

> **What is Galileo?** [Galileo](https://galileo.ai) is AI evaluation and observability
> platform that delivers end-to-end tracing, evaluation,
> and monitoring for AI applications. It enables teams to capture ground truth,
> create robust guardrails, and run systematic experiments with
> built-in experiment tracking and performance analytics—ensuring reliability,
> transparency, and continuous improvement across the AI lifecycle.

## Getting started

This tutorial follows the [CrewAI quickstart](/en/quickstart) and shows how to add
Galileo's [CrewAIEventListener](https://v2docs.galileo.ai/sdk-api/python/reference/handlers/crewai/handler),
an event handler.
For more information, see Galileo’s
[Add Galileo to a CrewAI Application](https://v2docs.galileo.ai/how-to-guides/third-party-integrations/add-galileo-to-crewai/add-galileo-to-crewai)
how-to guide.

> **Note** This tutorial assumes you have completed the [CrewAI quickstart](/en/quickstart).
> If you want a completed comprehensive example, see the Galileo
> [CrewAI sdk-example repo](https://github.com/rungalileo/sdk-examples/tree/main/python/agent/crew-ai).

### Step 1: Install dependencies

Install the required dependencies for your app.
Create a virtual environment using your preferred method,
then install dependencies inside that environment using your
preferred tool:

```bash  theme={null}
uv add galileo 
```

### Step 2: Add to the .env file from the [CrewAI quickstart](/en/quickstart)

```bash  theme={null}
# Your Galileo API key
GALILEO_API_KEY="your-galileo-api-key"

# Your Galileo project name
GALILEO_PROJECT="your-galileo-project-name"

# The name of the Log stream you want to use for logging
GALILEO_LOG_STREAM="your-galileo-log-stream "
```

### Step 3: Add the Galileo event listener

To enable logging with Galileo, you need to create an instance of the `CrewAIEventListener`.
Import the Galileo CrewAI handler package by
adding the following code at the top of your main.py file:

```python  theme={null}
from galileo.handlers.crewai.handler import CrewAIEventListener
```

At the start of your run function, create the event listener:

```python  theme={null}
def run():
    # Create the event listener
    CrewAIEventListener()
    # The rest of your existing code goes here
```

When you create the listener instance, it is automatically
registered with CrewAI.

### Step 4: Run your crew

Run your crew with the CrewAI CLI:

```bash  theme={null}
crewai run
```

### Step 5: View the traces in Galileo

Once your crew has finished, the traces will be flushed and appear in Galileo.

<img src="https://mintcdn.com/crewai/YIhP5X96D9ogvRZx/images/galileo-trace-veiw.png?fit=max&auto=format&n=YIhP5X96D9ogvRZx&q=85&s=2e787a9b1c503c5cbba9d0065514181e" alt="Galileo trace view" data-og-width="1436" width="1436" data-og-height="865" height="865" data-path="images/galileo-trace-veiw.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/crewai/YIhP5X96D9ogvRZx/images/galileo-trace-veiw.png?w=280&fit=max&auto=format&n=YIhP5X96D9ogvRZx&q=85&s=0703303bb9072d3369566e95e275a83b 280w, https://mintcdn.com/crewai/YIhP5X96D9ogvRZx/images/galileo-trace-veiw.png?w=560&fit=max&auto=format&n=YIhP5X96D9ogvRZx&q=85&s=d8f48e3140a89b359888f5606b18a679 560w, https://mintcdn.com/crewai/YIhP5X96D9ogvRZx/images/galileo-trace-veiw.png?w=840&fit=max&auto=format&n=YIhP5X96D9ogvRZx&q=85&s=6a5c7ca5c1764363f6f813ff54087cc5 840w, https://mintcdn.com/crewai/YIhP5X96D9ogvRZx/images/galileo-trace-veiw.png?w=1100&fit=max&auto=format&n=YIhP5X96D9ogvRZx&q=85&s=7af5da91b1f4a2c74da9a6e001937688 1100w, https://mintcdn.com/crewai/YIhP5X96D9ogvRZx/images/galileo-trace-veiw.png?w=1650&fit=max&auto=format&n=YIhP5X96D9ogvRZx&q=85&s=bcfb0980cca760fe6c1120e9f795ef5a 1650w, https://mintcdn.com/crewai/YIhP5X96D9ogvRZx/images/galileo-trace-veiw.png?w=2500&fit=max&auto=format&n=YIhP5X96D9ogvRZx&q=85&s=82a39b2fcf9743c6cad70a858162a21e 2500w" />

## Understanding the Galileo Integration

Galileo integrates with CrewAI by registering an event listener
that captures Crew execution events (e.g., agent actions, tool calls, model responses)
and forwards them to Galileo for observability and evaluation.

### Understanding the event listener

Creating a `CrewAIEventListener()` instance is all that’s
required to enable Galileo for a CrewAI run. When instantiated, the listener:

* Automatically registers itself with CrewAI
* Reads Galileo configuration from environment variables
* Logs all run data to the Galileo project and log stream specified by
  `GALILEO_PROJECT` and `GALILEO_LOG_STREAM`

No additional configuration or code changes are required.
All data from this run is logged to the Galileo project and
log stream specified by your environment configuration
(for example, GALILEO\_PROJECT and GALILEO\_LOG\_STREAM).