# Ingest event from Meraki controller From version 12.8.330, OpManager supports ingesting events directly from Meraki API controllers. This help document outlines the prerequisites, limitations, and steps for configuration. ## Table of Contents - [Limitations](https://www.manageengine.com/network-monitoring/kb/ingest-event-from-meraki.html#limitations) - [Pre-requisites](https://www.manageengine.com/network-monitoring/kb/ingest-event-from-meraki.html#pre-requisites) - [Webhook Template](https://www.manageengine.com/network-monitoring/kb/ingest-event-from-meraki.html#webhook-template) - [Liquid Headers](https://www.manageengine.com/network-monitoring/kb/ingest-event-from-meraki.html#liquid-headers) - [Liquid Body](https://www.manageengine.com/network-monitoring/kb/ingest-event-from-meraki.html#liquid-body) ## Limitations - The **OpManager server** should be accessible from outside the network as well, since the Meraki controller is cloud-based. *(NAT configuration should be done.)* - Meraki has a constraint that it can send webhooks only via the **HTTPS protocol**. - The receiving web server must have a valid **SSL/TLS certificate** signed by a globally trusted **Certificate Authority (CA)**. [Learn more](https://developer.cisco.com/meraki/webhooks/introduction/#http-deprecation-notice). ## Pre-requisites ### Webhook Template **Servlet:** `/events/webhook` A new webhook template must be created with the following parameters: #### Liquid Headers | Header Name | Expected Value | Static / Dynamic | |---|---|---| | ingestionType | meraki | Static | | merakiAPIKey | API Key used to discover the Organization | Dynamic | | orgID | Organization ID of the device which raised the event | Dynamic | #### Liquid Body **Mandatory Params:** - alarmCode: Unique identifier for the alarm - serialNumber: Serial number of the device - severity: Level of the alarm severity - eventType: Type of the event - message: Description or details of the alarm/event **Optional Param:** - Entity (Should be made sure that the entity remains same for Up and Down Events) **Sample Webhook Template Configuration:** ```json { "alarmCode":"{{alertTypeId}}", "serialNumber":"{{deviceSerial}}", "severity":"{{alertLevel}}", "eventType":"{{alertTypeId}}", "message":"{{alertData | json_markdown}}" } ``` **Note:** **Flapping Configuration**: Flapping refers to the situation where an alert repeatedly switches between active and recovered states. (A single flap is counted when a device goes down and comes back up.) For more information, please reach out to [opmanager-support@manageengine.com](mailto:opmanager-support@manageengine.com)