honeycomb · Schema

Honeycomb Trigger

Represents a trigger alerting rule in Honeycomb that fires when query results meet specified threshold conditions, notifying configured recipients via PagerDuty, Email, Webhook, Microsoft Teams, or Slack.

Properties

Name Type Description
id string Unique identifier for the trigger.
name string The display name of the trigger.
description string A human-readable description of what the trigger monitors.
disabled boolean Whether the trigger is currently disabled.
query object The query specification that defines the data to evaluate.
threshold object
frequency integer How frequently in seconds the trigger is evaluated.
recipients array List of recipients to notify when the trigger fires.
created_at string ISO8601 formatted time the trigger was created.
updated_at string ISO8601 formatted time the trigger was last updated.
View JSON Schema on GitHub

JSON Schema

honeycomb-trigger-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://honeycomb.io/schemas/honeycomb/trigger.json",
  "title": "Honeycomb Trigger",
  "description": "Represents a trigger alerting rule in Honeycomb that fires when query results meet specified threshold conditions, notifying configured recipients via PagerDuty, Email, Webhook, Microsoft Teams, or Slack.",
  "type": "object",
  "required": ["name", "query", "threshold", "recipients"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the trigger."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "The display name of the trigger."
    },
    "description": {
      "type": "string",
      "description": "A human-readable description of what the trigger monitors."
    },
    "disabled": {
      "type": "boolean",
      "description": "Whether the trigger is currently disabled."
    },
    "query": {
      "type": "object",
      "description": "The query specification that defines the data to evaluate."
    },
    "threshold": {
      "$ref": "#/$defs/Threshold"
    },
    "frequency": {
      "type": "integer",
      "minimum": 60,
      "description": "How frequently in seconds the trigger is evaluated."
    },
    "recipients": {
      "type": "array",
      "description": "List of recipients to notify when the trigger fires.",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/RecipientRef"
      }
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "ISO8601 formatted time the trigger was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "ISO8601 formatted time the trigger was last updated."
    }
  },
  "$defs": {
    "Threshold": {
      "type": "object",
      "description": "The threshold configuration that determines when the trigger fires.",
      "required": ["op", "value"],
      "properties": {
        "op": {
          "type": "string",
          "description": "The comparison operator for the threshold.",
          "enum": [">", ">=", "<", "<="]
        },
        "value": {
          "type": "number",
          "description": "The threshold value to compare against."
        },
        "exceeded_limit": {
          "type": "integer",
          "minimum": 1,
          "description": "Number of consecutive times the threshold must be exceeded before the trigger fires."
        }
      }
    },
    "RecipientRef": {
      "type": "object",
      "description": "A reference to a notification recipient.",
      "required": ["id"],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the recipient to notify."
        }
      }
    },
    "Recipient": {
      "type": "object",
      "description": "A notification recipient that can be targeted by triggers and burn alerts.",
      "required": ["type", "target"],
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier for the recipient."
        },
        "type": {
          "type": "string",
          "description": "The notification channel type.",
          "enum": ["email", "pagerduty", "slack", "webhook", "msteams"]
        },
        "target": {
          "type": "string",
          "description": "The target address or identifier for the recipient, such as an email address or webhook URL."
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "ISO8601 formatted time the recipient was created."
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "description": "ISO8601 formatted time the recipient was last updated."
        }
      }
    }
  }
}