Meraki Webhooks are a powerful and lightweight new way to subscribe to alerts sent from the Meraki Cloud when something happens. They include a JSON formatted message and are sent to a unique URL where they can be processed, stored or used to trigger powerful automations.

Setup & Configuration

  1. Add HTTP servers by defining their unique URL and shared secret (optional).
    [ network-wide  >  alerts ]
    webhook alerts ui
  2. Added HTTP servers can now be selected as a recipient for any alert within the dashboard
    [ network-wide  >  alerts ]
    recipient ui

Sample Webhook (schema)

{

    "alertData": {

        "kbTotal": 10750,
        "nodeTag": "",
        "period": 1200,
        "usageThreshold": 10240

    },

    "alertId": "643451796765320956",
    "alertType": "Network usage alert",
    "networkId": "L_123456789123456789",
    "networkName": "Network - 1",
    "networkUrl": "https://n1.meraki.com/...",
    "occurredAt": "2018-10-25T17:17:38.623000Z",
    "organizationId": "123456",
    "organizationName": "Organization",
    "organizationUrl": "https://n1.meraki.com/o/.../organization/overview",
    "sentAt": "2018-10-25T17:17:46.608245Z",
    "sharedSecret" : "asdf1234",
    "version" : "0.1"

}

Sample: Network Usage Alert

JSON Parameters

Name Format Description
alertData object Object of unique parameters for each alert
alertId string ID for this alert message
alertType string Type of alert (“Network usage alert”, “Settings changed”, etc.)
networkId string ID for the Meraki network
networkName string Name for the Meraki network
networkUrl string (URL) URL of the Meraki Dashboard network
occurredAt UTC Timestamp of the alert
organizationId string ID of the Meraki organization
organizationName string Name of the Meraki organization
organizationUrl string (URL) URL of the Meraki Dashboard organization
sentAt UTC Timestamp of the sent message
sharedSecret string User defined secret to be validated by the webhook receiver
version float Current version of webhook format

Security

  • The webhook HTTP server should use HTTPS (TLS) for transmission to ensure the data is kept private.
  • The sharedSecret parameter is defined when configuring the HTTP server on the Meraki Dashboard. The value of the sharedSecret can be evaluated by the webhook receiving service before saving the information. If the webhook receiver does not support this option, the parameter will simply be ignored.
// Example logic to evaluate the sharedSecret parameter

if (meraki.sharedSecret == "asdf1234"){
     saveData(meraki);
}else{
     // invalid secret
}

Frequency

  • The Meraki Alerts will vary in delivery times. This will depend on the nature of the event and any configurable options. The occurredAt parameter can be used to derive the time the reported alert occurred at, which will often differ from the sentAt value.
  • On average, an alert will be sent within 90 seconds of the event.
  • Many alerts have a configurable threshold, such as waiting 5 minutes of downtime before the message will be sent.
  • Some alerts require additional computational time or aggregate multiple events. This will cause additional delays, but will likely not exceed 10 minutes.
  • Experiences may vary, so it’s best to test with your own environment to ensure it fits your needs.

Postman

Use the Postman collection to examine several sample alert messages and send them on demand for testing.

Postman Collection

Example Integrations

Meraki Alerts with Google Sheets

JSON-Server

Zapier Integration with a WebEx Teams