Skip to content

Webhooks Payload Templates

Dashboard Location: Network-wide > Configure > Alerts > Webhooks > Payload Templates
## Webhooks Payload Template Management
Webhook payload templates in Meraki define the structure and format of data sent via webhook notifications. Payload templates allow customization of the JSON body and HTTP headers included in webhook requests, enabling integration with third-party platforms such as Splunk, ServiceNow, PagerDuty, and other event management systems. Templates support Liquid template syntax for dynamic content rendering, allowing alert data fields to be mapped into the format expected by the receiving system.
### Diagram
<div class="flex justify-center">
```d2
direction: up
style: {
fill: transparent
}
vars: {
d2-config: {
theme-overrides: {
B1: "#07182d"
B2: "#0a60ff"
}
dark-theme-overrides: {
B2: "#02c8ff"
N7: "#07182d"
}
}
}
"meraki": {
shape: sql_table
"domains": List
}
"domains": {
shape: sql_table
"*organizations": List
}
"organizations": {
shape: sql_table
"networks": List
}
"networks": {
shape: sql_table
"webhooks": Dict
}
"webhooks": {
shape: sql_table
"payload_templates": List
}
"meraki" <- "domains"
"domains" <- "organizations"
"organizations" <- "networks"
"networks" <- "webhooks": {
source-arrowhead.shape: diamond
}
"webhooks" <- "payload_templates"
"payload_templates": {
shape: sql_table
"*name": Str
"body": Str
"body_file": Str
"headers": List
"headers_file": Str
}
"payload_templates" <- "headers"
"headers": {
shape: sql_table
"*name": Str
"template": Str
}

webhooks (meraki.domains.organizations.networks)

Section titled “webhooks (meraki.domains.organizations.networks)”
NameTypeConstraintMandatoryDefault Value
payload_templatesList[payload_templates]No

payload_templates (meraki.domains.organizations.networks.webhooks)

Section titled “payload_templates (meraki.domains.organizations.networks.webhooks)”
NameTypeConstraintMandatoryDefault Value
nameStringmin: 1, max: 127Yes
bodyStringmin: 1, max: 4096No
body_fileStringmin: 1, max: 4096No
headersList[headers]No
headers_fileStringmin: 1, max: 4096No

headers (meraki.domains.organizations.networks.webhooks.payload_templates)

Section titled “headers (meraki.domains.organizations.networks.webhooks.payload_templates)”
NameTypeConstraintMandatoryDefault Value
nameStringmin: 1, max: 127Yes
templateStringmin: 1, max: 4096No

Example-1: The example below demonstrates a basic webhook payload template with a custom body using Liquid template syntax for Splunk HEC integration.

This configuration creates a payload template named “splunk_template” that formats Meraki alert data into a JSON structure compatible with Splunk HTTP Event Collector (HEC). The body uses Liquid template variables (e.g., {{sentAt}}, {{alertType}}) to dynamically populate alert details. The Authorization header includes a Bearer token for authentication with the Splunk HEC endpoint.

meraki:
domains:
- name: !env domain
administrator:
name: !env org_admin
organizations:
- name: !env org
networks:
- name: !env network_name
product_types:
- appliance
- switch
- wireless
webhooks:
payload_templates:
- name: splunk_template
headers:
- name: "Authorization"
template: "Bearer my-splunk-hec-token"
body: '{"sourcetype": "meraki:webhook", "event": {"alertType": "{{alertType}}", "networkName": "{{networkName}}", "occurredAt": "{{occurredAt}}", "alertData": {{ alertData | jsonify }} }}'
</div>