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

# Bluejay

> Simulation, observability, and evaluation platform for voice AI agents with native Pipecat integration.

## Overview

[Bluejay](https://getbluejay.ai) is a simulation, observability, and evaluation platform purpose-built for voice AI agents. It provides no-code simulation testing and production call monitoring that integrate directly with Pipecat, whether you're running on Pipecat Cloud or self-hosting.

<Frame>
  <video autoPlay muted loop playsInline>
    <source src="https://mintcdn.com/daily/VrV6zsbC6x_er7-U/videos/pipecat_dashboard_demo.mp4?fit=max&auto=format&n=VrV6zsbC6x_er7-U&q=85&s=88c068d393f4650b6c49f2a71493362b" type="video/mp4" data-path="videos/pipecat_dashboard_demo.mp4" />
  </video>
</Frame>

With Bluejay, you can:

* Run automated simulations that call your agent and evaluate its responses
* Define test scenarios covering edge cases like interruptions, unexpected input, and multi-turn flows
* Monitor every production call with automated quality scoring
* Track evaluation metrics over time to catch regressions early

## Pipecat Cloud integration

If your agent is deployed on [Pipecat Cloud](/pipecat-cloud/introduction), Bluejay offers two zero-configuration integration paths:

<CardGroup cols={2}>
  <Card title="No-Code API Integration" icon="key" iconType="duotone" href="https://docs.getbluejay.ai/simulation-integrations/pipecat#pipecat-simulations">
    Enter your Pipecat Cloud API key and agent name in Bluejay's dashboard.
    Bluejay connects directly to your agent's API to spin up simulation sessions
    with no code changes required.
  </Card>

  <Card title="No-Code Telephony Integration" icon="phone" iconType="duotone" href="https://docs.getbluejay.ai/test/simulations/overview">
    Enter your agent's phone number into Bluejay and start running simulations
    immediately. Bluejay calls your agent just like a real user would, testing
    end-to-end behavior over telephony.
  </Card>
</CardGroup>

<Tip>
  The telephony integration tests the full call stack, from phone network to
  your agent and back, making it ideal for catching issues that only surface in
  real call conditions.
</Tip>

## Self-hosted integration

If you're running Pipecat on your own infrastructure, Bluejay integrates via a WebSocket connection. Point Bluejay at your agent's WebSocket endpoint and it will establish a session to run simulations against your agent directly.

See the [Bluejay WebSocket integration guide](https://docs.getbluejay.ai/simulation-integrations/websockets) for setup instructions.

## Observability

Simulations cover pre-deployment testing, but observability ensures your agent maintains quality with real users. Bluejay's [Evaluate API](https://docs.getbluejay.ai/api-reference/endpoint/evaluate) lets you submit any production call for automated evaluation.

```python theme={null}
import requests

url = "https://api.getbluejay.ai/v1/evaluate"
headers = {"X-API-Key": "<your-bluejay-api-key>"}
payload = {
    "agent_id": "<your-bluejay-agent-id>",
    "start_time_utc": "2025-03-31T18:30:00Z",
    "participants": [
        {"role": "AGENT", "name": "Healthcare Agent Harry"},
        {"role": "USER", "name": "John Doe"},
    ],
    "recording_url": "https://s3.amazonaws.com/my-recordings/call-123.wav",
}

response = requests.post(url, json=payload, headers=headers)
```

<Note>
  Integrate the evaluate endpoint into your agent's session cleanup logic to
  automatically evaluate every production call without manual intervention.
</Note>

## Traces

Bluejay supports [tracing](https://docs.getbluejay.ai/core-concepts/traces) to monitor and observe your agent's execution flow, latency, and performance in real-time. Traces conform to the [OpenTelemetry](https://opentelemetry.io/docs/what-is-opentelemetry/) standard, so you can use any compatible instrumentation library, including OpenInference, Langfuse, and OpenLLMetry.

To send traces to Bluejay:

1. Instrument your application to export traces to Bluejay's OTLP endpoint
2. Link traces to call evaluations by including the `trace_id` in your [Evaluate API](https://docs.getbluejay.ai/api-reference/endpoint/evaluate) requests
3. View traces alongside your call evaluations in the Bluejay dashboard

### Example: OpenTelemetry setup

Configure the OpenTelemetry SDK to export traces to Bluejay:

```python theme={null}
from opentelemetry.sdk import trace as trace_sdk
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
from opentelemetry.sdk.resources import SERVICE_NAME, Resource

endpoint = "https://otlp.getbluejay.ai/v1/traces"
resource = Resource.create({SERVICE_NAME: "my-pipecat-agent"})

tracer_provider = trace_sdk.TracerProvider(resource=resource)
headers = {
    "X-API-KEY": "<your-bluejay-api-key>",
}

tracer_provider.add_span_processor(
    SimpleSpanProcessor(OTLPSpanExporter(endpoint, headers=headers))
)
```

Once the tracer provider is configured, use it with any OpenTelemetry-compatible instrumentation. For example, to automatically trace LLM calls:

```python theme={null}
from openinference.instrumentation.openai import OpenAIInstrumentor

OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)
```

## Next steps

<CardGroup cols={2}>
  <Card title="Bluejay Documentation" icon="book" iconType="duotone" href="https://docs.getbluejay.ai">
    Full setup guides, API reference, and configuration options.
  </Card>

  <Card title="Pipecat Integration Guide" icon="plug" iconType="duotone" href="https://docs.getbluejay.ai/simulation-integrations/pipecat">
    Step-by-step guide for connecting Bluejay to your Pipecat agent.
  </Card>

  <Card title="Evaluations Overview" icon="clipboard-check" iconType="duotone" href="/pipecat/fundamentals/evaluations/overview">
    Learn about evaluation strategies for Pipecat agents.
  </Card>

  <Card title="Saving Transcripts" icon="scroll" iconType="duotone" href="/pipecat/fundamentals/saving-transcripts">
    Capture conversation transcripts to use with evaluation tools.
  </Card>
</CardGroup>
