---
title: Observability for IBM watsonx Orchestrate ADK with Langfuse
sidebarTitle: Watsonx Orchestrate ADK
logo: /images/integrations/watsonx-orchestrate_icon.png
description: Learn how to integrate Langfuse with IBM watsonx Orchestrate Agent development kit, to monitor, debug, and analyze your AI Agents.
---

# IBM watsonx Orchestrate

Monitor agents and tools built with IBM watsonx Orchestrate ADK in Langfuse. Orchestrate has a native integration that forwards telemetry (traces, spans, logs) to Langfuse for rich observability.

> **What is IBM watsonx Orchestrate?** [IBM watsonx Orchestrate ADK](https://developer.watson-orchestrate.ibm.com/) is a framework that lets developers build and publish custom skills (actions) that watsonx Orchestrate can execute within automated workflows.

> **What is Langfuse?** [Langfuse](/) is a platform for monitoring, debugging, and analyzing your AI applications. It provides a set of tools and services to help you monitor, debug, and analyze your AI applications.

## Prerequisites

- Langfuse Cloud (`https://cloud.langfuse.com`) or a self-hosted Langfuse instance
- IBM watsonx Orchestrate ADK installed

## Quick start (CLI)

Configure Orchestrate to send telemetry to Langfuse. Replace placeholders with your values.

```bash
orchestrate settings observability langfuse configure \
  --url "https://cloud.langfuse.com/api/public/otel" \
  --api-key "sk-lf-0000-0000-0000-0000-0000" \
  --health-uri "https://cloud.langfuse.com" \
  --config-json '{"public_key": "pk-lf-0000-0000-0000-0000-0000"}'
```

- For self-hosted Langfuse, set `--url` to `https://<your-langfuse-host>/api/public/otel` and `--health-uri` to `https://<your-langfuse-host>`.
- You can also provide `--project-id` (or `-p`) if not part of the config file.

## Alternative: YAML config file

Create a YAML file and reference it from the CLI. Example:

```yaml
spec_version: v1
kind: langfuse
project_id: default
api_key: sk-lf-00000-00000-00000-00000-00000
url: https://cloud.langfuse.com/api/public/otel
host_health_uri: https://cloud.langfuse.com
config_json:
  public_key: pk-lf-00000-00000-00000-00000-00000
  mask_pii: true
```

Apply it:

```bash
orchestrate settings observability langfuse configure --config-file=path_to_file.yml
```

## Enable telemetry in Orchestrate

To enable IBM's native observability framework, start the Orchestrate server with the `--with-ibm-telemetry` or `-i` flag, then go to `https://localhost:8765` in your browser.

Start the Orchestrate server with telemetry enabled, then open the local console:

```bash
orchestrate start --with-ibm-telemetry
# or shorthand
orchestrate start -i

# Open the console
# https://localhost:8765
```

## Troubleshooting

- Connection/health: Ensure `--health-uri` responds and the ingest URL points to `/api/public/otel`
- Auth: Verify the `api_key` (Secret Key) and `public_key` (Public Key) belong to the same Langfuse project
- Self-hosted: Confirm your Langfuse instance is reachable from Orchestrate and TLS is configured correctly

## Reference

- IBM documentation: [Monitoring your LLMs with Langfuse](https://developer.watson-orchestrate.ibm.com/llm/observability)

<!-- agent-instructions -->

---

## Agent Instructions

This page is part of the [Langfuse](https://langfuse.com) documentation, published as plain Markdown for AI agents. Every page is available as Markdown by appending `.md` to its URL, or by sending an `Accept: text/markdown` header. This page: `https://langfuse.com/integrations/frameworks/watsonx-orchestrate.md`.

### Querying these docs

If the answer is not on this page, query the documentation instead of guessing:

- **Semantic search** across all Langfuse docs, returning an answer with the relevant pages and excerpts. Ask a specific, self-contained question:

  ```bash
  curl -sG "https://langfuse.com/api/search-docs" --data-urlencode "query=How do I trace a LangGraph agent?"
  ```

- **Index of every page**: <https://langfuse.com/llms.txt>, with per-section indexes [llms-docs.txt](https://langfuse.com/llms-docs.txt), [llms-integrations.txt](https://langfuse.com/llms-integrations.txt), and [llms-self-hosting.txt](https://langfuse.com/llms-self-hosting.txt).

### Before writing Langfuse code

- **Install the [Langfuse Agent Skill](https://langfuse.com/docs/api-and-data-platform/features/agent-skill).** It encodes Langfuse's own best practices for instrumentation, prompt management, and evaluation, and materially improves results.
- **Read [What does a good trace look like?](https://langfuse.com/docs/observability/best-practices.md)** before instrumenting an application.
- **Verify endpoints, parameters, and response fields** against the [API reference](https://api.reference.langfuse.com) instead of inferring them from code examples.
- **Use the [Langfuse CLI](https://langfuse.com/docs/api-and-data-platform/features/cli)** (`npx langfuse-cli api <resource> <action>`) to read or write traces, prompts, datasets, and scores from the terminal.

Found an error in these docs? Please open an issue at <https://github.com/langfuse/langfuse-docs/issues>.
