Webhook

Prev Next

Overview

The webhook notification channel allows Turbo360 to send alert notifications to any custom HTTP endpoint. When a monitoring condition is met, Turbo360 posts a structured payload to the configured webhook URL, enabling your custom cloud applications or automation workflows to receive and act on alert data directly.

Business value

Webhooks give you full flexibility to integrate Turbo360 alerts with any system that can receive an HTTP request — custom applications, Azure Logic Apps, Power Automate flows, or third-party services. You define what happens next; Turbo360 handles the delivery.

Prerequisites

  • A publicly accessible HTTP endpoint that accepts POST requests.
  • Knowledge of the HTTP method and content type your endpoint expects.
  • If your endpoint is protected: valid authorization credentials (header, token, or basic auth).

Required permissions

No special permissions are required within Turbo360. The target endpoint must be reachable from Turbo360 over HTTPS.

Dependencies

  • Turbo360 must have outbound connectivity to the webhook endpoint URL.

How it works

Turbo360 sends alert payloads to your webhook URL via an HTTP POST (or the method you configure). The payload is structured JSON or XML containing the alert type, affected resource, issue details, and a link to the incident in Turbo360. Your application receives this payload and can invoke follow-up actions — such as creating a ticket, triggering a remediation workflow, or logging the event. You validate the endpoint during setup to confirm reachability before saving.

Steps

Use the following steps to configure a webhook notification channel. Navigate to Settings > Notification channels and select Webhook to get started.

  1. Enter a Friendly name to identify this channel in the Turbo360 application.
  2. Select the HTTP Request method to use when invoking the webhook (e.g. POST).
  3. Enter the Webhook URL to which the notification payload will be sent.
  4. Select the content type for the message body (JSON or XML).
  5. If the endpoint requires authentication, provide the Authorization credentials.
  6. Click Validate. Turbo360 sends a test payload to the webhook URL to verify reachability and configuration.
  7. After successful validation, click Save to complete the setup.

Configuration

Field Required Description
Friendly name Yes Display name for this channel in Turbo360
HTTP Request method Yes HTTP method used to call the webhook (e.g. POST)
Webhook URL Yes The endpoint URL that will receive notification payloads
Content type Yes Format of the message body sent to the endpoint (JSON or XML)
Authorization credentials No Authentication details if the endpoint requires authorization

Permission behavior

With access: Turbo360 can send notification payloads to the configured webhook endpoint. Test requests can be sent using the Validate action.

Without access: If the endpoint URL is unreachable, returns an error, or rejects the authorization credentials, validation will fail. Turbo360 will not send notifications until the endpoint is correctly configured and saved.

Notification message structure

The following sample payloads show the data Turbo360 sends to a webhook endpoint. The example is for a Business Applications alert. Your custom application should be built to accept this structure. Turbo360 supports both JSON and XML formats.

{
  "Type": "Alert",
  "BusinessApplication": "fnqa",
  "AlertTime": "2024-12-12T09:17:00",
  "MonitoringProfile": {
    "Name": "N/A",
    "Description": "N/A"
  },
  "Issues": [
    {
      "Resource": "/subscriptions/ea8283c3-56cc-46d0-9080-fc96a60d2db2/resourceGroups/cosmos/providers/Microsoft.DocumentDb/databaseAccounts/sl360cosmos/sqlDatabases/EmployeeManagementDB",
      "Issues": [
        "Warning: Metric Total Requests is 9 and greater than 5",
        "Warning: Metric Total Requests (Preview) is 9 and greater than 5"
      ]
    }
  ],
  "IncidentLink": "https://t360-qa-frontend-webapp.azurewebsites.net/kovai.co_3B5A/business-applications/fnqa/dd99574c-b393-4240-84d4-5a07e61e2335/features?incidentId=5babfe1b-cc02-4724-b60e-12056e0c396d"
}
<?xml version="1.0" encoding="UTF-8" ?>
 <root>
     <Type>Alert</Type>
     <BusinessApplication>fnqa</BusinessApplication>
     <AlertTime>2024-12-12T09:17:00</AlertTime>
     <MonitoringProfile>
         <Name>N/A</Name>
         <Description>N/A</Description>
     </MonitoringProfile>
     <Issues>
         <Resource>/subscriptions/ea8283c3-56cc-46d0-9080-fc96a60d2db2/resourceGroups/cosmos/providers/Microsoft.DocumentDb/databaseAccounts/sl360cosmos/sqlDatabases/EmployeeManagementDB</Resource>
         <Issues>Warning: Metric Total Requests is 9 and greater than 5</Issues>
         <Issues>Warning: Metric Total Requests (Preview) is 9 and greater than 5</Issues>
     </Issues>
     <IncidentLink>https://t360-qa-frontend-webapp.azurewebsites.net/kovai.co_3B5A/business-applications/fnqa/dd99574c-b393-4240-84d4-5a07e61e2335/features?incidentId=5babfe1b-cc02-4724-b60e-12056e0c396d</IncidentLink>
 </root>

Example scenario

Your team has a custom Azure Logic App that creates ServiceNow incidents from incoming HTTP requests. You configure a webhook notification channel in Turbo360 pointing to the Logic App's HTTP trigger URL, with POST as the method and JSON as the content type. When a Cost Analyzer anomaly alert fires, Turbo360 posts the JSON payload to the Logic App, which parses the alert and creates a ServiceNow incident automatically.

Limitations

  • Turbo360 sends the same structured payload format for all webhook notifications; custom payload templates are not supported.
  • The webhook endpoint must be publicly accessible. Private or VPN-only endpoints are not reachable unless Turbo360 is deployed in the same network.
  • Only one webhook URL can be configured per notification channel. Create separate channels to send alerts to multiple endpoints.
  • Turbo360 does not retry failed webhook deliveries if the endpoint returns an error or is temporarily unavailable.

Troubleshooting

  1. Validation fails with a connection error
    Cause: The webhook URL is incorrect, the endpoint is unreachable, or a firewall is blocking the request.
    Fix: Verify the URL is correct and publicly accessible. Test the endpoint with a tool like Postman or curl to confirm it responds to POST requests. Check that outbound HTTPS traffic from Turbo360 to the endpoint is not blocked.

  2. Validation returns an HTTP error (4xx or 5xx)
    Cause: The endpoint rejected the request due to authentication failure, incorrect content type, or a server error.
    Fix: Confirm the authorization credentials are correct and the content type matches what your endpoint expects. Check your endpoint's server logs for details.

  3. Alerts fire in Turbo360 but no payload is received at the endpoint
    Cause: The notification channel is not linked to an alert rule or escalation policy, or the channel was not saved.
    Fix: Confirm the channel is saved and verify the relevant alert rule or escalation policy references this webhook channel.

  4. Payload is received but the application cannot parse it
    Cause: The content type selected in Turbo360 does not match what the application expects, or the application is not handling the Turbo360 payload structure.
    Fix: Confirm the content type setting matches your application's expected format (JSON or XML). Review the payload structure in the Notification message structure section above and update your application's parsing logic accordingly.

  5. Webhook was working but has stopped delivering
    Cause: The endpoint URL changed, the server certificate expired, or the authorization credentials were rotated.
    Fix: Test the endpoint directly to confirm it is still reachable and accepting requests. Update the webhook channel configuration in Turbo360 with any changed URL or credentials.

FAQs

  1. Can I use a webhook to trigger an Azure Logic App or Power Automate flow?
    Yes. Configure the Logic App or Power Automate flow with an HTTP request trigger and use the generated URL as the webhook URL in Turbo360.

  2. Can I customize the payload Turbo360 sends to the webhook?
    No. You cannot customize the payload Turbo360 sends to the webhook.

Related articles