Event-Based Webhooks

📘

Verkada event-based webhooks is only available for cameras, access control, new alarms, and guest.

Verkada’s event-based webhooks allow users to streamline their security workflows by pushing real-time data to third-party applications the moment a specific event is triggered.

Unlike traditional APIs that require constant polling, or Verkada's general webhooks that push all event data, event-based webhooks are event-driven which means they can be highly filtered. This ensures that developers' destination servers only receives the data that matters, reducing "noise" and eliminating the need for complex server-side filtering.


Why Use Event-Based Webhooks?

  • Eliminate Noise: By tying a webhook to a specific event in Command, users ensure that only relevant triggers (e.g., a door forced open or a specific person of interest detected) hit their endpoint.
  • Rich Contextual Payloads: Each outgoing JSON payload includes critical metadata, including the user-defined event name, the event type, the unique device, and other powerful metadata.
  • Custom Workflows: Effortlessly integrate Verkada events into tools like ServiceNow, Slack, or custom internal applications to automate incident response and/or build powerful dashboards.

Getting Started

To set up an event-based webhook, navigate to the Admin section in Command:

  1. Select APIs and Integrations from the Admin settings.
  2. Choose Webhooks and select + Add.
  3. Select Event-Based Webhooks
  4. Select the event type to be used for the webhook.
  5. Configure the parameters for the selected event type in Step 4.
  6. Input the webhook URL and shared secret.
  7. Save the event and give it a clear and unique name.

Webhook Payload

Each returned webhook payload will follow the structure shown below. The payload will provide valuable information such as the alert name, alert type, device ID, and a URL for the event's thumbnail.

{
  "org_id": "a0c95f05-c0cf-415e-abd1-bcb1e142e41f",
  "webhook_type": "alert",
  "created_at": 1771459272,
  "webhook_id": "f2d2f42f-e79c-46aa-b3b1-5f0a2c93f3b1",
  "data": {
    "alert_id": "d8951ec5-b749-4749-9c80-3e8159857904",
    "alert_name": "Unique Alert Name",
    "alert_type": "ALERT_RULE_LINE_CROSSING",
    "device_id": "d9059cb3-aab7-4f21-bb1e-5b0d93f2adbb",
    "site_id": "03e2c4b4-1722-454d-84af-f76ac3d5fed4",
    "product_type": "CAMERA",
    "image_url": "IMAGE_URL",
    "created": "2026-02-19T00:01:10Z",
    "details": {}
  }
}

Details Payload

The payload will also include an event specific details field to additional metadata that is unique to the event type and product type. The returned information will be as follows.

Cameras

AI Powered Alert

"details": {"ai_query": string}

Activity Detection

"details": {"activity_type": string}

Activity Type Options: person_falling, person_climbing, and person_fighting

Smart List

"details": {
  "smart_list_name": string,
	"person_type": string
}

Person Type Options:new_person and frequently_seen_person

Motion Detection

"details": {"object_type": string}

Object Type Options:person, vehicle, animal, and motion

Line Crossing Detection

"details": {"object_type": string}

Object Type Options:person, vehicle, and animal

Loitering Detection

"details": {"object_type": string}

Object Type Options:person, vehicle, and animal

Crowd Detection

"details": {"object_type": string}

Object Type Options:person, vehicle, and animal

Person of Interest

"details": {
  "profile_id": string,
	"profile_name": string
}

License Plate of Interest

"details": {
  "plate_number": string,
	"lpr_capture_url": URL_string
}

Offline/Online Camera

"details": {"status": string}

Status Options:online and offline

Audio Detection

"details": {"audio_type": string}

Audio Type Option:loud_noise

Person of Interest

"details": {
  "helix_event_details": {
    "attribute1": value1,
    "attribute2": value2,
    "attribute3": value3,
		...
	}
}

Occlusion & Tamper (null)

"details": {}

Access Control

For access control events, the webhook payload will return the same details JSON object regardless of the event type. Only information relevant to the event type will be populated with all non-relevant values being set to null.

"door_id": "14828dd8-4988-46aa-93fb-d176dfbaefc4",
"direction": null,
"input_value": "1234",
"aux_info": {
    "aux_input_id": "d7c8b361-791c-4356-bbc6-ef3689adb43e",
    "aux_input_name": "unlock ac12 door",
    "site": {
      "name": "HQ",
      "site_id": "42338454-dc42-4d25-80ce-35e42c2d0578"
    },
"user_info": {
	  "user_id": "53a68297-9fa8-4848-8cb3-9815d4a511dc",
	  "name": "John Smith",
	  "email": "[email protected]",
	  "first_name": "John",
	  "last_name": "Smith",
	  "phone": "+1234567890"
},
"lockdown_info": {
    "lockdown_id": "e4b18f87-8f0d-4957-8b06-c0087d7fc701",
    "lockdown_name": "test",
    "message": "",
    "action": "ENABLE",
    "enabled": "True",
    "site": {
      "name": "HQ",
      "site_id": "42338454-dc42-4d25-80ce-35e42c2d0578"
    },
"door_info": {
		"acu_name": "Lobby Door Controller",
		"acu_id": "8adf16e0-a52a-45d1-8b68-efc5d6fb64ba",
		"name": "Front Door",
		"door_id": "14828dd8-4988-46aa-93fb-d176dfbaefc4",
		"site": {
		  "name": "HQ",
		  "site_id": "42338454-dc42-4d25-80ce-35e42c2d0578"
		},
 "api_control_enabled": null,
 "camera_info": null

New Alarms

Panel Offline/Online

"details": {"status": string}

Status Options:online and offline

Panel Power Status

"details": {"power_source": string}

Options:battery_backup and ac_power

Cellular Module Status

"details": {"connectivity_source": string}

Connectivity Source Options:lte_backup and ethernet

Device Offline/Online

"details": {"status": string}

Status Options:online and offline

Wired Sensor Problem

"details": {"issue": string}

Issue Options:short detected and cut detected

Partition Status

"details": {
  "partition_status": string,
  "partition_name": string,
	"partition_id":string
}

Partition Status Options:manually_armed and manually_disarmed

Misconfigured Response

"details": {"issue": string}

Issue Options:missing_contacts and missing_response_level

Alarm Sensor Events

"details": {
  "trigger_device_id": "a8a85e5e-ea40-4411-8e2b-835e48810119",
  "trigger_device_type": "wired_contact_sensor",
  "trigger_type": "alarms_opened",
  "trigger_device_name": "Side Door",
  "partition_id": "3aea0dc7-e357-4fc8-a873-174831cfc31e",
  "partition_name": "Lobby",
  "site_name": "Watch Store",
  "trigger_time": 1769052458,
  "context_camera_ids": [],
  "incident_link": "INCIDENT_LINK"
}

Wireless Sensor Battery Low, Tamper & vLink Interference

"details": {}

Guest

The webhook model below is applicable to all Guest alerts:

  • New Visitor
  • Security Review
  • ID Needs Review
"details":{
  "visit_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "visit_type": "string",
  "checked_in_time": 1744749519,
  "full_name": "string",
  "email": "string",
  "phone_number": "string",
  "hosts": [
    {
      "full_name": "string",
      "host_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "student_id": "string",
      "student_number": "string"
    }
  ],
  "device_name": "string",
  "is_contactless": true,
  "site_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}