Argus
SDK Setup

Webhooks

Configure webhook handlers to extend Argus with custom actions.

Overview

Argus can invoke webhooks on your servers to execute custom actions during AI investigations. This enables the AI to take remediation steps like restarting services, scaling resources, or running diagnostics.

How Webhooks Work

  1. Configure a webhook endpoint in the Argus dashboard
  2. Argus signs each request with HMAC-SHA256
  3. Your handler verifies the signature and executes the requested tool
  4. Results are returned to the AI investigation

Webhook Signing

All webhook requests are signed using HMAC-SHA256. The signature is included in the request headers:

HeaderDescription
X-Argus-SignatureHMAC-SHA256 signature of the request body
X-Argus-TimestampUnix timestamp of the request

Verifying Signatures

import hmac
import hashlib

def verify_signature(body: bytes, signature: str, timestamp: str, secret: str) -> bool:
    message = f"{timestamp}.{body.decode()}"
    expected = hmac.new(
        secret.encode(),
        message.encode(),
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, signature)

Configuring Webhooks

  1. Navigate to Settings > Webhooks in the dashboard
  2. Click Add Webhook
  3. Enter the endpoint URL and select which tools to expose
  4. Copy the signing secret

Webhook Modes

ModeDescription
PassiveReceives notifications only (alerts, status changes)
ActiveExposes tools that the AI can invoke during investigations

Testing Webhooks

Use the Test button in the webhook configuration to send a ping request to your endpoint and verify connectivity.

On this page