# AppDynamics for Alert Notifications

The ThousandEyes platform integrates with the popular application performance monitoring system AppDynamics. When an alert is raised in ThousandEyes, an alert notification can be sent to an AppDynamics instance for a specific application. You can set up multiple integrations to the same instance, targeting different applications or severity levels.

{% hint style="info" %}
The AppDynamics alert notification integration is currently only supported for Cloud and Enterprise Agent and BGP alert types.
{% endhint %}

## Configuring Your AppDynamics Alert Notification Integration

To integrate ThousandEyes alerts with your AppDynamics instance:

1. In the ThousandEyes app, go to **Manage > Integrations**.
2. Click **+ New Integration**.
3. In the **Add New Integration** window, click **AppDynamics**.

A window will open with the following fields:

| **Name**                                         | Enter the name of your integration. This is a name for use within the ThousandEyes platform. Use a human-readable string that distinguishes this integration from any other integrations you may have configured.                                                                                                     |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **AppDynamics Instance**                         | Enter your specific AppDynamics instance in the form of `protocol://hostname:[port]`. For example, `https://www.te.appdynamics.com`. The ThousandEyes platform appends `/controller/rest/applications/%s/events` to the URL. If these values are included in what you enter here, the platform strips them.           |
| **Application Name**                             | Enter the specific AppDynamics application name. You can create multiple integrations that target different applications in the same instance.                                                                                                                                                                        |
| **Auth Type**                                    | The AppDynamics integration supports Basic or OAuth. For more information on setting up OAuth, see [Webhook Authentication](https://docs.thousandeyes.com/product-documentation/alerts/standard-notification-methods/classic-webhooks-for-alert-notifs#webhook-authentication).                                       |
| **AppDynamics Username**                         | Use for Basic Authentication. Enter your AppDynamics username. Note: This username must be formatted as your AppDynamics username\@account without .com added. Additionally, the AppDynamics user must have the "Create Events" permission enabled under "Application Permissions" and "Roles" inside of AppDynamics. |
| **AppDynamics Password**                         | Use for Basic Authentication. Enter your AppDynamics password.                                                                                                                                                                                                                                                        |
| **Severity**                                     | Choose your desired AppDynamics severity for this alert: Info, Warning, or Error.                                                                                                                                                                                                                                     |
| **Tier**                                         | This is an optional field that matches a tier inside AppDynamics. If you use the **Tier** field, the value you enter here must match the tier listed in AppDynamics for the specified application.                                                                                                                    |
| **Node**                                         | This is an optional field that matches a node inside AppDynamics. If you use the **Node** field, the value you enter here must match the node listed in AppDynamics for the specified application.                                                                                                                    |
| **Business Transaction**                         | This is an optional field that matches a business transaction inside AppDynamics. If you use the **Business Transaction** field, the value you enter here must match the business transaction listed in AppDynamics for the specified application.                                                                    |
| **Learn more about the AppDynamics integration** | This link takes you to the documentation for the AppDynamics integration.                                                                                                                                                                                                                                             |
| **Cancel / Test / Add New Integration**          | Either cancel your integration; test your integration by sending a sample alert to your instance; or, once all fields are finalized, add the new integration you have just configured.                                                                                                                                |

## Next Steps within AppDynamics

Now when an alert is triggered or cleared, the alert details will be posted as a *custom event* within the specific AppDynamics instance and application, as shown below.

All alert clear events will be displayed with a severity of level *Info*. It is important that you remove any filters on the AppDynamics side, as custom events are often auto-filtered out of the **Events** tab:

![Figure 3: Alert Details in AppDynamics](/files/-MFHBlnx6dN4XM4DsyrF)

To see more details, click the alert. ThousandEyes also passes the following alert properties in the custom event:

* **alertId**
* **alertState** (Clear or Triggered)
* **alertType** (Options are: **BrowserBot, Http, Network, OneWayNetwork, Voice, DnspDomain, DnspNameServer, DnsServer, DnsTrace, Dnssec, Transaction, WebTransaction, Bgp, PathTrace, Ftp, Sip**)
* **ruleName**
* **testName**

This allows you to correlate trigger events with clear events, and to create policies in AppDynamics based on these specific properties:

![Figure 4: Summary in AppDynamics](/files/-MFHBlo3TTUc9EN9dMOL)

The custom event's **Comments** tab provides specific details on the alert. Click the **View in ThousandEyes** link to open the ThousandEyes app at the **Views** screen for the alert start time.

![Figure 5: Comments Section in AppDynamics](/files/-MFHBlp8YoLtOT546rr4)


---

# 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.thousandeyes.com/product-documentation/integration-guides/custom-built-integrations/appdynamics-for-alert-notifs.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.
