﻿---
title: Temporal OpenTelemetry Integration
description: Collect operational metrics from Temporal Cloud using the Temporal OpenTelemetry Integration. This integration scrapes Temporal Cloud OpenMetrics using...
url: https://www.elastic.co/docs/reference/integrations/temporal
products:
  - Elastic integrations
applies_to:
  - Serverless Observability projects: Generally available
  - Serverless Security projects: Generally available
  - Elastic Stack: Generally available since 9.5
---

# Temporal OpenTelemetry Integration
|                                                                                                 |                                 |
|-------------------------------------------------------------------------------------------------|---------------------------------|
| **Version**                                                                                     | 1.0.0 ([View all](#changelog))  |
| **Managed integration release status**                                                          | <applies-to>: Beta</applies-to> |
| **Subscription level**[What's this?](https://www.elastic.co/subscriptions)                      | Basic                           |
| **Developed by**[What's this?](https://www.elastic.co/docs/reference/integrations/developed-by) | Elastic                         |
| **Minimum Kibana version(s)**                                                                   | 9.5.0                           |

<important applies-to="Elastic Stack: Generally available since 9.5">
  You can use this integration as an Elastic Managed integration on Elastic Cloud Hosted deployments running this version or later.
</important>

Collect operational metrics from [Temporal Cloud](https://temporal.io/cloud/) using the Temporal OpenTelemetry Integration.

## Overview

This integration scrapes Temporal Cloud OpenMetrics using the [Prometheus (OTel) Input Package](https://www.elastic.co/docs/reference/integrations/prometheus_input_otel) into the **Cloud Metrics** data stream (`temporal.cloud_metrics.otel`): workflow lifecycle, task queues and polling, service latency and errors, namespace limits and throttles, schedules, and replication lag.
Metrics are stored with native OTel schema — no field renaming or custom mapping is applied.
Once data starts flowing, the **[Temporal OpenTelemetry Assets](https://www.elastic.co/docs/reference/integrations/temporal_otel)** package provides a Cloud Metrics dashboard, alerting rule templates, and SLO templates.

## Prerequisites


| Requirement         | Details                                                           |
|---------------------|-------------------------------------------------------------------|
| **Temporal Cloud**  | Account with permission to create a Service Account               |
| **API key role**    | Service Account with **Metrics Read-Only** account-level role     |
| **Elastic Stack**   | 9.5.0+                                                            |
| **Input package**   | `prometheus_input_otel` (installed automatically as a dependency) |
| **Content package** | `temporal_otel` (installed automatically as a dependency)         |


## Setup

1. **Create a Temporal Cloud API key**:
   - Sign in to [Temporal Cloud](https://cloud.temporal.io/) as an Account Owner or Global Admin
   - Go to **Settings** → **Service Accounts** → create a Service Account with the **Metrics Read-Only** role
   - Generate an API key for that Service Account and store it securely
2. **Add the integration in Kibana**:
   - Go to **Management** → **Integrations** → search for "Temporal(OpenTelemetry) Integration"
   - Click **Add Temporal(OpenTelemetry) Integration**
   - Fill in:
     - **Temporal Cloud Metrics Endpoint**: `metrics.temporal.io:443` (default)
     - **Metrics Path**: `/v1/metrics` (default — set query parameters in **Query Parameters**, not here)
     - **Temporal Cloud API Key**: paste the Metrics Read-Only API key
3. **Verify data**:
   - Discover filter `data_stream.dataset: "temporal.cloud_metrics.otel"`


## Filtering metrics with query parameters

Temporal Cloud's OpenMetrics endpoint accepts query parameters that scope the response —
useful for reducing scrape size and staying within Temporal's per-scrape limits.
Set them in the **Query Parameters** field in the Fleet UI, as a YAML map of parameter
name to a list of values:
```yaml
<parameter-name>:
  - <value>
  - <value>
```

Do **not** append query parameters to the **Metrics Path** field.
For the parameters Temporal Cloud supports and their accepted values, see the
[Temporal Cloud OpenMetrics API reference](https://docs.temporal.io/cloud/metrics/openmetrics/api-reference).

## Metrics Reference

Metrics are scraped from:
```
GET https://metrics.temporal.io/v1/metrics
Authorization: Bearer <API_KEY>
```

Temporal Cloud aggregates metrics in one-minute windows. Each scrape returns only the most recently completed window — configure Elastic to retain history. Honor scrape timestamps (`honor_timestamps: true`, enabled by default).
See the [Temporal Cloud OpenMetrics documentation](https://docs.temporal.io/cloud/metrics/openmetrics/) and [metrics reference](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference) for the full catalog.

### Metric Categories


| Category              | Prefix / examples                                                                                                        |
|-----------------------|--------------------------------------------------------------------------------------------------------------------------|
| Workflow lifecycle    | `temporal_cloud_v1_workflow_success_count`, `*_failed_count`, `*_timeout_count`, schedule-to-close latency percentiles   |
| Activity lifecycle    | `temporal_cloud_v1_activity_success_count`, `*_fail_count`, activity latency percentiles                                 |
| Task queues / polling | `temporal_cloud_v1_approximate_backlog_count`, `*_poll_success_count`, `*_poll_timeout_count`, `*_no_poller_tasks_count` |
| Service / frontend    | `temporal_cloud_v1_service_request_count`, `*_service_error_count`, `*_service_latency_p99`                              |
| Limits / capacity     | `temporal_cloud_v1_action_limit`, `*_operations_limit`, `*_poller_limit`, `*_provisioned_capacity_tru_count`             |
| Schedules             | `temporal_cloud_v1_schedule_action_success_count`, `*_schedule_rate_limited_count`                                       |
| Replication           | `temporal_cloud_v1_replication_lag_p50`, `*_p95`, `*_p99`                                                                |

All metrics are stored under the `metrics.*` field namespace with their original OpenMetrics names.

## Changelog

<dropdown title="Changelog">
  | Version   | Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Minimum Kibana version |
  |-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|
  | **1.0.0** | **Enhancement** ([View pull request](https://github.com/elastic/integrations/pull/21998))Make GA.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 9.5.0                  |
  | **0.4.1** | **Enhancement** ([View pull request](https://github.com/elastic/integrations/pull/21962))Depend on temporal_otel 0.2.0 to install the updated Cloud Metrics dashboard.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 9.5.0                  |
  | **0.4.0** | **Bug fix** ([View pull request](https://github.com/elastic/integrations/pull/21565))Fix metrics filtering: query parameters appended to Metrics Path were percent-encoded into the URL path (`%3F`) and returned no data. Add a new **Query Parameters** field that correctly maps to the Prometheus scrape `params` block.**Enhancement** ([View pull request](https://github.com/elastic/integrations/pull/21565))Add **Query Parameters** field to the Cloud Metrics stream, allowing Temporal Cloud query parameters to be set via the Fleet UI without editing the Metrics Path.**Enhancement** ([View pull request](https://github.com/elastic/integrations/pull/21565))Change default scrape interval from 60s to 30s and scrape timeout from 30s to 10s, per Temporal's recommendation for their one-minute aggregation windows. | 9.5.0                  |
  | **0.3.1** | **Enhancement** ([View pull request](https://github.com/elastic/integrations/pull/21080))Rename the integration display name in the README to Temporal OpenTelemetry Integration.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 9.5.0                  |
  | **0.3.0** | **Enhancement** ([View pull request](https://github.com/elastic/integrations/pull/21023))Add the `temporal_otel` content package as a dependency and document it in the README.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | 9.5.0                  |
  | **0.2.0** | **Bug fix** ([View pull request](https://github.com/elastic/integrations/pull/20958))Stop overriding the OTel `attributes` passthrough mapping so all Temporal Cloud metric labels are indexed as time series dimensions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 9.5.0                  |
  | **0.1.0** | **Enhancement** ([View pull request](https://github.com/elastic/integrations/pull/20755))Initial release of the Temporal Cloud OTel integration (cloud_metrics data stream).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 9.5.0                  |
</dropdown>