Traceloop Integration

Wraps an agent run in a Traceloop @workflow-decorated function so the run appears under a parent workflow span.

Demonstrates wrapping Agno calls in Traceloop workflow spans.

traceloop_op.py
"""
Traceloop Integration
=====================

Demonstrates wrapping Agno calls in Traceloop workflow spans.
"""

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from traceloop.sdk import Traceloop
from traceloop.sdk.decorators import workflow

# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
Traceloop.init(app_name="agno_workflows")


# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
agent = Agent(
    name="AnalysisAgent",
    model=OpenAIChat(id="gpt-5.2"),
)


@workflow(name="data_analysis_pipeline")
def analyze_data(query: str) -> str:
    """Custom workflow that wraps agent execution."""
    response = agent.run(query)
    return response.content


# ---------------------------------------------------------------------------
# Run Example
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    # The workflow decorator creates a parent span
    result = analyze_data("Analyze the benefits of observability in AI systems")
    print(result)

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno openai traceloop-sdk

Export your API keys

export OPENAI_API_KEY="your_openai_api_key_here"
export TRACELOOP_API_KEY="your_traceloop_api_key_here"

Run the example

Save the code above as traceloop_op.py, then run:

python traceloop_op.py

Full source: cookbook/observability/traceloop_op.py