# Dynatrace Integration

Just a quick run-through on how to automatically push [Dynatrace](https://www.dynatrace.com/) problems to our on-call platform using a webhook.

1\. Create the workflow Head over to the Workflows menu on the left panel. The list will be empty if you haven't made one before. Just click the button at the top right to start a new one.

<figure><img src="/files/Q7IZVUzFb71I4zkL9LSj" alt=""><figcaption></figcaption></figure>

2\. Set up the trigger We want this to run whenever an alert pops up, so grab the Davis problem trigger. In the configuration panel on the right, set it up like this:

* Event state: Keep it as `active` (we only care about ongoing issues).
* Event category: Add the ones you need. Usually, it's `Availability`, `Custom`, `Error`, `Monitoring unavailable`, `Resource`, `Slowdown`, and `Info`.

<figure><img src="/files/y2YiYjhbdICpzy0k0wDH" alt=""><figcaption></figcaption></figure>

3\. Configure the HTTP Request Now drop an HTTP Request action right below your trigger. This is what actually sends the payload out.

* Method: `POST`
* URL: Drop the on-call platform's webhook URL here (I'm using `webhook.site` for testing).
* Payload: You can just copy and paste the JSON block below. It basically maps the Dynatrace variables to the format our system expects.

JSON

```
{
  "ProblemID": "{{ event()['display_id'] }}",
  "ProblemTitle": "{{ event()['title'] }}",
  "State": "{{ event()['event.status'] }}",
  "Severity": "{{ event()['severity'] }}",
  "ImpactedEntity": "{{ event()['affected_entity_types'] }}",
  "ProblemURL": "{{ event()['problemUrl'] }}",
  "Timestamp": "{{ event()['timestamp'] }}"
}
```

<figure><img src="/files/AwZmsc6wBC8kalb5Xzkh" alt=""><figcaption></figcaption></figure>

4\. Allowlist the domain (Don't skip this) By default, Dynatrace blocks all external outgoing requests. If you skip this, your webhook will just fail. Go to Settings > General > External requests. Click over to the `Allowlist` tab and hit + New host pattern. Type in just the domain name (like `webhook.site`) without the https\:// stuff and save it.

<figure><img src="/files/KyL0sperwIOS7X5Xrro3" alt=""><figcaption></figcaption></figure>

5\. Deploy Once everything looks good, click Deploy at the top right. It’ll prompt you to save, so just hit Save and deploy to push it live.

<figure><img src="/files/6qKpDIUm3ltfb1W2Lrvc" alt=""><figcaption></figcaption></figure>

6\. Test the flow Let's make sure it actually fires. Hit the "Run" button on the canvas to trigger a test execution. Check the logs at the bottom of the Dynatrace screen—you should see a green Success status.

<figure><img src="/files/qm9EOLfSpZWSNdh5CNIV" alt=""><figcaption></figcaption></figure>

Finally, check the receiving end. If you look at the webhook endpoint, you should see the POST request drop in with our JSON payload filled with dummy data (like P-TEST-001).

<figure><img src="/files/WTxdlttLHfFaS1DvvPD9" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.itoc360.com/integrations/inbound-integrations/observability-and-apm/dynatrace-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
