> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/Arvo-AI/aurora/llms.txt
> Use this file to discover all available pages before exploring further.

# Dynatrace Integration

> Connect Dynatrace to Aurora for AI-powered problem analysis and automated incident response

Integrate Aurora with Dynatrace to receive problem notifications, analyze performance issues, and leverage AI-driven root cause analysis across your entire stack.

## Authentication

Dynatrace uses **API Token** authentication with your environment URL.

### Prerequisites

* Dynatrace environment (SaaS or Managed)
* Permissions to create API tokens

### Setup Steps

<Steps>
  <Step title="Create API Token">
    1. Go to your Dynatrace environment (e.g., `https://abc12345.live.dynatrace.com`)
    2. Navigate to **Settings** > **Integration** > **Dynatrace API**
    3. Click **Generate token**
    4. Name: `Aurora`
    5. Required scopes:
       * `apiTokens.read` - Token validation
       * `ReadConfig` - Read configuration (optional but recommended)
    6. Click **Generate** and copy the token
  </Step>

  <Step title="Get Environment URL">
    Your Dynatrace environment URL follows this format:

    * SaaS: `https://{env-id}.live.dynatrace.com`
    * Managed: `https://{your-domain}/e/{environment-id}`

    <Info>
      Aurora automatically converts `.apps.dynatrace.com` URLs to `.live.dynatrace.com` (API domain).
    </Info>
  </Step>

  <Step title="Connect to Aurora">
    1. In Aurora, navigate to **Integrations** > **Dynatrace**
    2. Enter your environment URL
    3. Paste your API token
    4. Click **Connect**
  </Step>
</Steps>

## Configuration

No environment variables are required. API tokens are entered through the Aurora UI.

### Supported Environments

* **SaaS:** `https://{env-id}.live.dynatrace.com`
* **Managed:** `https://{domain}/e/{env-id}`
* **Gov Cloud:** Custom domains

## Webhook Setup

Receive real-time problem notifications from Dynatrace:

<Steps>
  <Step title="Get Webhook URL">
    In Aurora's Dynatrace integration page, copy your webhook URL:

    ```
    https://your-aurora-domain/dynatrace/webhook/{user_id}
    ```
  </Step>

  <Step title="Create Custom Integration (Classic UI)">
    1. Go to your Dynatrace environment
    2. Open the classic UI: `https://{env-id}.live.dynatrace.com/ui/settings/integration/notifications`
    3. Click **Add notification**
    4. Select **Custom Integration**
    5. Name: `Aurora`
    6. Webhook URL: Paste your Aurora webhook URL
  </Step>

  <Step title="Configure Payload">
    Use this custom payload template for Aurora (or copy from the integration page):

    ```json theme={null}
    {
      "ProblemID": "{ProblemID}",
      "PID": "{PID}",
      "State": "{State}",
      "ProblemTitle": "{ProblemTitle}",
      "ProblemSeverity": "{ProblemSeverity}",
      "ProblemImpact": "{ProblemImpact}",
      "ImpactedEntity": "{ImpactedEntity}",
      "ProblemURL": "{ProblemURL}",
      "Tags": "{Tags}"
    }
    ```
  </Step>

  <Step title="Test and Save">
    1. (Optional) Assign an Alerting Profile to filter problems
    2. Click **Send test notification** to verify connectivity
    3. Save the integration
  </Step>
</Steps>

### Development with ngrok

For local development:

```bash .env theme={null}
NGROK_URL=https://your-ngrok-url.ngrok-free.app
```

Start ngrok:

```bash theme={null}
ngrok http 5080
```

## What Aurora Can Query

Once connected, Aurora can:

### Connection Status

* Verify API token validity
* View environment URL
* Check Dynatrace cluster version

**API Endpoint:** `GET /dynatrace/status`

**Response:**

```json theme={null}
{
  "connected": true,
  "environmentUrl": "https://abc12345.live.dynatrace.com",
  "version": "1.287.0"
}
```

### Webhook Problems

* Receive real-time problem notifications
* Auto-create incidents from Dynatrace problems
* Track problem state transitions (OPEN, RESOLVED)
* Monitor problem impact and severity
* Correlate related problems
* Generate AI-powered root cause analysis

**Ingested Data:**

* Problem ID and title
* Problem state (OPEN, RESOLVED)
* Severity level (AVAILABILITY, ERROR, PERFORMANCE, etc.)
* Impact level (APPLICATION, SERVICE, INFRASTRUCTURE)
* Impacted entities
* Problem URL for deep linking
* Tags and metadata

**API Endpoint:** `GET /dynatrace/alerts`

**Parameters:**

* `limit` - Number of problems (default: 50)
* `offset` - Pagination offset (default: 0)
* `state` - Filter by state (OPEN, RESOLVED)

**Response:**

```json theme={null}
{
  "alerts": [
    {
      "id": 123,
      "problemId": "P-12345",
      "title": "High response time on service XYZ",
      "state": "OPEN",
      "severity": "PERFORMANCE",
      "impact": "SERVICE",
      "impactedEntity": "SERVICE-ABC123",
      "problemUrl": "https://abc12345.live.dynatrace.com/#problems/problemdetails;pid=P-12345",
      "tags": "environment:production,team:backend",
      "receivedAt": "2026-03-03T10:30:00Z",
      "payload": {...}
    }
  ],
  "total": 15,
  "limit": 50,
  "offset": 0
}
```

### RCA Settings

* Enable/disable automated root cause analysis for Dynatrace problems
* Per-user preference stored in Aurora

**API Endpoints:**

* `GET /dynatrace/rca-settings` - Get current RCA settings
* `PUT /dynatrace/rca-settings` - Update RCA settings

**Request:**

```json theme={null}
{
  "rcaEnabled": true
}
```

**Response:**

```json theme={null}
{
  "success": true,
  "rcaEnabled": true
}
```

## Troubleshooting

**Connection Failed**

* Verify API token is correct and not expired
* Check token has required scopes (`apiTokens.read`)
* Ensure environment URL is correct
* For Managed: verify Aurora can reach your Dynatrace instance

**Invalid Environment URL**

* Use the `.live.dynatrace.com` domain (not `.apps.`)
* Include `/e/{environment-id}` for Managed deployments
* Ensure URL uses HTTPS
* Remove trailing slashes

**Webhook Not Receiving Problems**

* Verify `NGROK_URL` is set correctly (local development)
* Ensure ngrok tunnel is running
* Check webhook URL in Dynatrace matches Aurora UI
* Send test notification from Dynatrace integration settings
* Verify payload template matches suggested format

**"Connection timed out"**

* Check network connectivity between Aurora and Dynatrace
* Verify firewall rules allow outbound HTTPS
* For Managed: ensure Dynatrace instance is reachable from Aurora

**Missing Problem Details**

* Ensure custom payload template includes all fields
* Check that Dynatrace placeholders (e.g., `{ProblemID}`) are correct
* Verify problem contains expected metadata

## API Reference

**Base Path:** `/dynatrace`

| Method | Endpoint             | Description                   |
| ------ | -------------------- | ----------------------------- |
| POST   | `/connect`           | Connect Dynatrace environment |
| GET    | `/status`            | Check connection status       |
| DELETE | `/disconnect`        | Remove Dynatrace connection   |
| GET    | `/alerts`            | List webhook problems         |
| POST   | `/webhook/{user_id}` | Receive webhooks              |
| GET    | `/webhook-url`       | Get webhook URL               |
| GET    | `/rca-settings`      | Get RCA settings              |
| PUT    | `/rca-settings`      | Update RCA settings           |

For detailed Dynatrace API documentation, see:

* [Dynatrace Environment API](https://www.dynatrace.com/support/help/dynatrace-api/environment-api)
* [Dynatrace Problem API](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/problems-v2)
