# Temporal

> Programmatic access to the Temporal Cloud control plane via the Cloud Operations (Ops) API. Provides read access to your account, namespaces, users, and service accounts for auditing, inventory, and connectivity checks. (Temporal Cloud exposes workflow execution over gRPC only, so starting or signalling workflows is not available over this HTTP API.)

App · Cloud Computing · 5 actions. Web page: https://docs.lodol.com/docs/integrations/temporal

## Actions

### Get Temporal account

Look up your Temporal Cloud account via the Cloud Operations API, including its account id, current lifecycle state, and the Prometheus metrics endpoint if metrics are enabled. Useful as a connectivity check or to retrieve the account id and metrics URL; not for workflow data.

**Inputs**: None.

**Outputs**: Wrapper with a single 'account' object. The API key is scoped to one account, so this endpoint takes no parameters.

- `account` (object): The Temporal Cloud account.

**Example output**

```json
{
  "account": {
    "id": "a1b2c3",
    "metrics": {
      "uri": "https://a1b2c3.tmprl.cloud/prometheus"
    },
    "resourceVersion": "0e9f6c4e-6b2a-4c1d-8a1a-2f7d9b0c1e33",
    "spec": {
      "metrics": {}
    },
    "state": "RESOURCE_STATE_ACTIVE"
  }
}
```

### Get Temporal namespace

Fetch a single Temporal Cloud namespace by its full identifier ('<name>.<account>'), including its lifecycle state, active region, data-retention period, authentication settings (mTLS and/or API key), and connection endpoints. Useful for inspecting one namespace's configuration in detail.

**Inputs**

- Namespace (`namespace`, text, required): The full namespace identifier, formatted as '<name>.<account>', for example 'production.a1b2c3'. This is the value shown as 'namespace' in List Temporal namespaces, not just the short name.

**Outputs**: Wrapper with a single 'namespace' object.

- `namespace` (object): The namespace.

**Example output**

```json
{
  "namespace": {
    "activeRegion": "aws-us-west-2",
    "createdTime": "2026-01-15T10:30:00Z",
    "endpoints": {
      "grpcAddress": "production.a1b2c3.tmprl.cloud:7233",
      "mtlsGrpcAddress": "",
      "webAddress": "https://cloud.temporal.io/namespaces/production.a1b2c3"
    },
    "lastModifiedTime": "2026-03-02T12:45:00Z",
    "namespace": "production.a1b2c3",
    "resourceVersion": "b7c1e2d3-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
    "spec": {
      "apiKeyAuth": {
        "enabled": true
      },
      "mtlsAuth": {
        "enabled": false
      },
      "name": "production",
      "retentionDays": 30
    },
    "state": "RESOURCE_STATE_ACTIVE"
  }
}
```

### List Temporal namespaces

List the namespaces in your Temporal Cloud account, one page at a time, optionally filtered by name. Each namespace includes its full identifier ('<name>.<account>'), lifecycle state, active region, retention period, and connection endpoints. Useful for auditing which namespaces exist, finding a namespace's gRPC endpoint, or checking data-retention settings.

**Inputs**

- Name (`name`, text): Only return the namespace whose short name matches this value exactly, for example 'production'. Leave blank to list all namespaces.
- Page size (`page_size`, number): How many namespaces to return per page, from 1 to 1000. Defaults to 100. From 1 to 1000.
- Continue from (`page_token`, text): To get the next page, enter the 'nextPageToken' value from the previous page of results.

**Outputs**: Paginated list of namespaces. 'nextPageToken' is empty when there are no more pages; pass it back as 'page_token' to fetch the next page.

- `namespaces` (list): Namespaces for this page, in name order.
- `nextPageToken` (text): Cursor for the next page; empty if none.

**Example output**

```json
{
  "namespaces": [
    {
      "activeRegion": "aws-us-west-2",
      "createdTime": "2026-01-15T10:30:00Z",
      "endpoints": {
        "grpcAddress": "production.a1b2c3.tmprl.cloud:7233",
        "webAddress": "https://cloud.temporal.io/namespaces/production.a1b2c3"
      },
      "namespace": "production.a1b2c3",
      "resourceVersion": "b7c1e2d3-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
      "spec": {
        "apiKeyAuth": {
          "enabled": true
        },
        "name": "production",
        "retentionDays": 30
      },
      "state": "RESOURCE_STATE_ACTIVE"
    },
    {
      "activeRegion": "aws-us-east-1",
      "createdTime": "2026-02-01T08:00:00Z",
      "endpoints": {
        "grpcAddress": "staging.a1b2c3.tmprl.cloud:7233",
        "webAddress": "https://cloud.temporal.io/namespaces/staging.a1b2c3"
      },
      "namespace": "staging.a1b2c3",
      "resourceVersion": "c8d2f3e4-2b3c-4d4e-8f9a-1b2c3d4e5f60",
      "spec": {
        "apiKeyAuth": {
          "enabled": true
        },
        "name": "staging",
        "retentionDays": 14
      },
      "state": "RESOURCE_STATE_ACTIVE"
    }
  ],
  "nextPageToken": ""
}
```

### List Temporal service accounts

List the service accounts in your Temporal Cloud account, one page at a time. Service accounts are non-human identities (used by workers, CI, and automation) that own API keys. Each one includes its id, name, optional description, account-level role, and current state. Useful for auditing machine access and credentials. Note: this returns the service accounts themselves, not their API-key secrets.

**Inputs**

- Page size (`page_size`, number): How many service accounts to return per page, from 1 to 1000. Defaults to 100. From 1 to 1000.
- Continue from (`page_token`, text): To get the next page, enter the 'nextPageToken' value from the previous page of results.

**Outputs**: Paginated list of service accounts. IMPORTANT: the array is returned under the SINGULAR key 'serviceAccount' (a quirk of the underlying proto field name), not 'serviceAccounts'. 'nextPageToken' is empty when there are no more pages.

- `nextPageToken` (text): Cursor for the next page; empty if none.
- `serviceAccount` (list): Service accounts for this page, in id order. Note the singular key name.

**Example output**

```json
{
  "nextPageToken": "",
  "serviceAccount": [
    {
      "createdTime": "2026-01-20T14:00:00Z",
      "id": "b8c9d0e1-6f70-4283-9c3d-4e5f6a7b8c9d",
      "resourceVersion": "c9d0e1f2-7081-4394-8d4e-5f6a7b8c9d0e",
      "spec": {
        "access": {
          "accountAccess": {
            "role": "ROLE_DEVELOPER"
          }
        },
        "description": "GitHub Actions deployment worker",
        "name": "ci-deployer"
      },
      "state": "RESOURCE_STATE_ACTIVE"
    },
    {
      "createdTime": "2026-02-05T11:30:00Z",
      "id": "d0e1f2a3-8192-44a5-9e5f-6a7b8c9d0e1f",
      "resourceVersion": "e1f2a3b4-9203-45b6-8f60-7a8b9c0d1e2f",
      "spec": {
        "access": {
          "accountAccess": {
            "role": "ROLE_READ"
          }
        },
        "description": "Production task-queue worker fleet",
        "name": "prod-worker"
      },
      "state": "RESOURCE_STATE_ACTIVE"
    }
  ]
}
```

### List Temporal users

List the users in your Temporal Cloud account, one page at a time, optionally filtered by email address or by a namespace they can access. Each user includes their email, account-level role (owner, admin, developer, read, etc.), and current state. Useful for access reviews and auditing who can reach the account or a given namespace. Requires an API key with Account Admin (or higher) access.

**Inputs**

- Email (`email`, text): Only return the user with this exact email address. Leave blank to list all users.
- Namespace (`namespace`, text): Only return users who have access to this namespace (full '<name>.<account>' identifier). Leave blank to list all users.
- Page size (`page_size`, number): How many users to return per page, from 1 to 1000. Defaults to 100. From 1 to 1000.
- Continue from (`page_token`, text): To get the next page, enter the 'nextPageToken' value from the previous page of results.

**Outputs**: Paginated list of users. 'nextPageToken' is empty when there are no more pages; pass it back as 'page_token' for the next page.

- `nextPageToken` (text): Cursor for the next page; empty if none.
- `users` (list): Users for this page, in id order.

**Example output**

```json
{
  "nextPageToken": "",
  "users": [
    {
      "createdTime": "2026-01-15T10:35:00Z",
      "id": "d4e5f6a7-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
      "resourceVersion": "e5f6a7b8-4d5e-4f60-9a0b-1c2d3e4f5a6b",
      "spec": {
        "access": {
          "accountAccess": {
            "role": "ROLE_ADMIN"
          },
          "namespaceAccesses": {}
        },
        "email": "alice@example.com"
      },
      "state": "RESOURCE_STATE_ACTIVE"
    },
    {
      "createdTime": "2026-02-10T09:12:00Z",
      "id": "f6a7b8c9-5e6f-4061-8a1b-2c3d4e5f6a7b",
      "resourceVersion": "a7b8c9d0-6f70-4172-9b2c-3d4e5f6a7b8c",
      "spec": {
        "access": {
          "accountAccess": {
            "role": "ROLE_DEVELOPER"
          },
          "namespaceAccesses": {
            "production.a1b2c3": {
              "permission": "write"
            }
          }
        },
        "email": "bob@example.com"
      },
      "state": "RESOURCE_STATE_ACTIVE"
    }
  ]
}
```
