Skip to main content
With the Webhook integration, you can automatically send Plerion alerts to an external web server. A request is triggered whenever an alert is created, updated, or resolved, allowing you to connect Plerion to custom workflows and automation.
Note: This is a one-way outbound integration. Alerts flow from Plerion to your webhook endpoint, but responses from your server will not update Plerion.

Steps to integrate Webhook with Plerion

1

On the Plerion dashboard, go to Settings > Integrations

Plerion dashboard with Settings expanded and Integrations selected
2

Find Webhook and click the + button

Integrations page with Webhook option and plus button
3

On the Connect Webhook page, enter your integration details

  • Integration name: Enter a descriptive name.
  • Webhook URL: Provide the endpoint that will receive alerts.
  • Secret (optional): Configure a secret token for request signing.
  • Additional headers (optional): Add any extra headers to send with the request.
After entering the details, click Send test message to confirm your server is receiving requests correctly.
Connect Webhook page showing fields for Integration name, URL, Secret, and Headers
4

Finalize the setup

Click Add to complete the Webhook integration.

Secret token and Signature

If you configure a Secret, Plerion will generate a hash signature for each payload and include it in the plerion-signature request header.
  • The signature uses an HMAC SHA-256 hex digest.
  • The header value is formatted as sha256=<signature>.
  • The key is your secret token, and the payload body is the signed content.
This allows your server to verify that requests originate from Plerion.

Validating payloads using secret token

To validate requests, compute the HMAC of the received payload using your stored secret and compare it to the plerion-signature header.
We recommend setting the secret as an environment variable, not hardcoding it in your app.
  • TypeScript
  • Ruby
TypeScript
   import * as crypto from "crypto";

   const WEBHOOK_SECRET: string = process.env.WEBHOOK_SECRET;

   const verify_signature = (req: Request) => {
   const signature = crypto
      .createHmac("sha256", WEBHOOK_SECRET)
      .update(JSON.stringify(req.body))
      .digest("hex");
   return `sha256=${signature}` === req.headers.get("plerion-signature");
   };

   const handleWebhook = (req: Request, res: Response) => {
   if (!verify_signature(req)) {
      res.status(401).send("Unauthorized");
      return;
   }
   // The rest of your logic here
   };

Payload Format

  • Alert Payload
  • Testing Integration Payload
When an alert is created, updated, or resolved, Plerion sends an HTTP POST request to your webhook with the following structure:
JSON
     {
        "data": {
           "tenant": "<tenant_name>",
           "integration": "<integration_name>",
           "integrationUrl": "<integration_url>",
           "workflow": "<workflow_name>",
           "workflowUrl": "<workflow_url>",
           "alerts": [
              {
                 "id": "<alert-id>",
                 "title": "<alert_title>",
                 "description": {
                    "resource": "<resource_name>",
                    "alertUrl": "<plerion_alert_url>",
                    "resourceType": "<resource_type>",
                    "alertSummary": "<array_alert_summary>",
                    "status": "OPEN or RESOLVED"
                 },
                 "operation": "CREATED, UPDATED or RESOLVED"
              }
           ]
        }
     }
  • tenant: Name of the Tenant
  • integration: Name of the Integration
  • integrationUrl: URL for the Integration.
  • workflow: Name of the Workflow
  • workflowUrl: URL for the Workflow.
  • alerts: Array of the alerts that were created/updated/resolved. Properties inside alerts array are described below:
    • id: Contains the unique identifier of the Alert
    • title: Contains the title of the Alert
    • resource: Contains name of the resource or N/A if no asset is linked to the alert. [Unavailable if status/operation is RESOLVED]
    • alertUrl: URL to the alert on Plerion
    • resourceType: Contains type of the resource for OPEN status. [Unavailable if status/operation is RESOLVED]
    • alertSummary: An array containing summary of the generated Alert. [Unavailable if status/operation is RESOLVED]
    • status: Status of the alert. Can be OPEN or RESOLVED
    • operation: Signifies the operation of the alert. Can be CREATED or UPDATED or RESOLVED.
I