Examples: Webhook Templates

Use the example templates below as inspiration when creating custom webhooks.

Discord Payload Template 

Refer to Discord documentation for further reference.

Discord Template Example 

{
  "username": "Honeycomb Triggers",
  "avatar_url": "https://i.imgur.com/4M34hi2.png",
  "embeds": [
    {
      "title": ":bee: {{ .Alert.Summary }}",
      "url": "{{ .Resource.URL}}",
      "description": "{{ .Description }}",
      "color": {{ if eq .Alert.Status "TRIGGERED"}}1127128{{ else }}14177041{{ end }},
    "fields": [
      {
        "name": "Status",
        "value": "{{ .Alert.Status }}",
        "inline": true
      }
    ]
    }
  ]
}

Incident.io Payload Template 

Refer to Incident.io documentation for further reference.

Incident.io Template Example 

{

  "deduplication_key": "{{ .Alert.InstanceID }}",
  "description": "{{ .Description }}",
  "metadata": {
    "team": "my-team",
    "result_url": "{{ .Result.URL }}"
  },
  "source_url": "{{ .URL }}",
  "status": "{{ if eq .Alert.Status "TRIGGERED"}}firing{{ else }}resolved{{ end }}",
  "title": "[{{ .Environment }}] {{ .Name }}"
}

OpsGenie Payload Template 

Important
OpsGenie requires that an “Authorization” header be included with the value of the header in the format: GenieKey YOUR-APIKEY

Refer to OpsGenie documentation for further reference.

OpsGenie Template Example 

{
  "message": "{{ .Alert.Summary }}",
  "alias": "{{ .Alert.InstanceID }}",
  "description": "{{ .Alert.Description }}",
  "note": "{{ .Description }}",
  "source": "{{ .URL }}",
  "details": {
    "env": "{{ .Environment }}",
    "team": "my-team",
    "result_url": "{{ .Result.URL }}"
  }
}