> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allquiet.app/llms.txt
> Use this file to discover all available pages before exploring further.

# AppDynamics

> Connect AppDynamics to All Quiet

<Info>Setup time: 3 Min</Info>

Integrate AppDynamics into All Quiet by using our custom integration.

## 1. Add AppDynamics Integration to Your All Quiet Team

### Create an AppDynamics integration

1. Click on the `Inbound Integrations` Tab.
2. Click on `+ Create`.

<img className="appdynamics_Create" src="https://mintcdn.com/allquiet/QPZW5FK_sZLsYn39/images/appdynamics/01.png?fit=max&auto=format&n=QPZW5FK_sZLsYn39&q=85&s=485297b1ea884fbf3417b30805eff624" width="2740" height="678" data-path="images/appdynamics/01.png" />

### Select AppDynamics as the Integration's Type

1. Enter a `Display Name` for your AppDynamics integration, e.g. "AppDynamics".
2. Pick the `Team` you'd like to add the integration to.
3. Select `AppDynamics` as the type.
4. Click `Create Inbound Integration`.

<img className="appdynamics_Select" src="https://mintcdn.com/allquiet/QPZW5FK_sZLsYn39/images/appdynamics/02.png?fit=max&auto=format&n=QPZW5FK_sZLsYn39&q=85&s=6ec08075346be5d73985f129bc0f7f8d" width="2159" height="1869" data-path="images/appdynamics/02.png" />

### Get the All Quiet webhook URL

After creating the integration on All Quiet, you can view and copy the webhook URL. You will require this URL in step 2 when configuring the custom integration on AppDynamics.

<img className="appdynamics_Get" src="https://mintcdn.com/allquiet/QPZW5FK_sZLsYn39/images/appdynamics/03.png?fit=max&auto=format&n=QPZW5FK_sZLsYn39&q=85&s=66d6184740f88f8d82b3ba8f71f953d7" width="2146" height="954" data-path="images/appdynamics/03.png" />

## 2. Create a custom integration on AppDynamics

Sign in to your AppDynamics Account.

1. Open `Account Overview`
2. `Launch Controller`.

<img className="appdynamics_LaunchController" src="https://mintcdn.com/allquiet/HoU8aD13Q7mkdOJW/images/appdynamics/04.png?fit=max&auto=format&n=HoU8aD13Q7mkdOJW&q=85&s=c177a676d04b1440a295f2ee494285fe" width="2686" height="1088" data-path="images/appdynamics/04.png" />

Select `Alert & Respond` page.

<img className="appdynamics_StartNewHTTPTemplate" src="https://mintcdn.com/allquiet/HoU8aD13Q7mkdOJW/images/appdynamics/05.png?fit=max&auto=format&n=HoU8aD13Q7mkdOJW&q=85&s=f083df3d86ec344dfdc110a9233d251d" width="2370" height="1300" data-path="images/appdynamics/05.png" />

1. Open `HTTP Request Templates` in sitenav.
2. Start `New` template.

<img className="appdynamics_StartNewHTTPTemplate2" src="https://mintcdn.com/allquiet/HoU8aD13Q7mkdOJW/images/appdynamics/05a.png?fit=max&auto=format&n=HoU8aD13Q7mkdOJW&q=85&s=f2b08730f35725e8bb81e30d24f32b43" width="2102" height="1416" data-path="images/appdynamics/05a.png" />

It's time to define the template.

1. Add a `Name` for your HTTP request template, like "All Quiet"
2. For the `Request URL`, select `Method` "Post"
3. As `Raw URL`, paste in the All Quiet webhook URL you've obtained in step [Get The All Quiet Webhook URL](/integrations/inbound/appdynamics#get-the-all-quiet-webhook-url).

<img className="appdynamics_ConfigureHTTPRequestTemplate1" src="https://mintcdn.com/allquiet/HoU8aD13Q7mkdOJW/images/appdynamics/06.png?fit=max&auto=format&n=HoU8aD13Q7mkdOJW&q=85&s=1b223219fe92d6d4b813a6b9b38e0146" width="2152" height="1186" data-path="images/appdynamics/06.png" />

1. As `Authentification` `Type`, select "NONE"
2. As `Payload` `MIME Type`, select "application/json"
3. Use the following `Payload`

```
{
  "deepLink": "${latestEvent.deepLink}",
  "eventName": "${latestEvent.displayName}",
  "summary": "${latestEvent.summaryMessage}",
  "eventID": "${latestEvent.id}",
  "guid": "${latestEvent.guid}",
  "eventType": "${latestEvent.eventType}",
  "eventTypeKey": "${latestEvent.eventTypeKey}",
  "applicationName": "${latestEvent.application.name}",
  "nodeName": "${latestEvent.node.name}",
  "message": "${latestEvent.eventMessage}",
  "severity": "${topSeverity}"
#if(${latestEvent.healthRuleEvent} == true)
,
  "healthRuleId": "${latestEvent.healthRule.id}",
  "healthRuleName": "${latestEvent.healthRule.name}",
  "incidentId": "${latestEvent.incident.id}",
  "incidentName": "${latestEvent.incident.name}"
#end
}
```

<img className="appdynamics_ConfigureHTTPRequestTemplate2" src="https://mintcdn.com/allquiet/HoU8aD13Q7mkdOJW/images/appdynamics/07.png?fit=max&auto=format&n=HoU8aD13Q7mkdOJW&q=85&s=053502dcaf4b407288f6d2fd95ce8bb4" width="1981" height="1838" data-path="images/appdynamics/07.png" />

1. In section `Response Handling Criteria`, add `Success Criteria` with `Status Code` 200 and `Content Type` "application/json".
2. In `Settings`, check `One Request Per Event` box.
3. Click on `Save`.

<img className="appdynamics_ConfigureHTTPRequestTemplate3" src="https://mintcdn.com/allquiet/HoU8aD13Q7mkdOJW/images/appdynamics/08.png?fit=max&auto=format&n=HoU8aD13Q7mkdOJW&q=85&s=cec79be54b1798d9013366da2c9940a2" width="2160" height="1764" data-path="images/appdynamics/08.png" />

To test the configuration, return to the template and click on `Test`.

<img className="appdynamics_TestHTTPRequestTemplate1" src="https://mintcdn.com/allquiet/HoU8aD13Q7mkdOJW/images/appdynamics/09.png?fit=max&auto=format&n=HoU8aD13Q7mkdOJW&q=85&s=8ec16e6b67575bef0196c61f8be37fd8" width="2132" height="780" data-path="images/appdynamics/09.png" />

For the test, you can choose between different `Log Level` and `Criteria`.

1. Select a `Log Level`, like "Debug".
2. Select an `Event Type Trigger`. Here, we chose "Health Rule Violation Started - Warning". This means we expect a new All Quiet Incident with Severity "Warning" when running the test.
3. `Run Test`.

<img className="appdynamics_TestHTTPRequestTemplate2" src="https://mintcdn.com/allquiet/HoU8aD13Q7mkdOJW/images/appdynamics/10.png?fit=max&auto=format&n=HoU8aD13Q7mkdOJW&q=85&s=90f21d6d18ae788f9dbf00332c1f77b8" width="1858" height="1054" data-path="images/appdynamics/10.png" />

After running the test, you'll receive a notification if the test run was successful.

<img className="appdynamics_TestHTTPRequestTemplate3" src="https://mintcdn.com/allquiet/HoU8aD13Q7mkdOJW/images/appdynamics/11.png?fit=max&auto=format&n=HoU8aD13Q7mkdOJW&q=85&s=3fc22a9445bed3188b468fab60460fa8" width="1858" height="1550" data-path="images/appdynamics/11.png" />

To check if the expected All Quiet Incident was created, open our Web App and navigate to /app/incidents.

<img className="appdynamics_TestIncident" src="https://mintcdn.com/allquiet/QPZW5FK_sZLsYn39/images/appdynamics/12.png?fit=max&auto=format&n=QPZW5FK_sZLsYn39&q=85&s=6d275a71af7abcf8045f054eb9a80776" width="3838" height="431" data-path="images/appdynamics/12.png" />

<Check>AppDynamics is now successfully integrated with All Quiet.</Check>

### Adjust Payload Mapping

Looking to customize the fields of your incidents by adjusting the pre-built payload mapping? Simply head over to the “Payload” tab within your integration and make the necessary edits to the mapping. For detailed guidance, you may check out our [payload mapping documentation](/essentials/inbound#how-does-attribute-mapping-work).

<Tip>Using our Terraform provider? [Download](https://allquiet.app/api/integrations/terraform/default/AppDynamics.tf) the default mapping of the `allquiet_integration_mapping` resource for the AppDynamics integration. Simply copy the syntax to your .tf file and tailor the resource to your team's needs!</Tip>
