---
title: "CMS Forwarding"
source: /gc-surge/alarm-intelligence/cms-forwarding
locale: en
updated: 2026-09-23
---
![alarm-forwarding-to-cms.mp4](/api/media/file/alarm-forwarding-to-cms.mp4)

## How to Configure

CMS forwarding is configured per site from the **Configuration** page (Sites & devices).

1. Open **Configuration** from the left sidebar.
2. In the **Added sites** table, click the **three-dot button (…)** on the site row you want to configure.
3. Select **Forward alarms** from the dropdown menu.
4. The **Forward Alarms** dialog opens. Click **\+ ADD FORWARD ALARM**.
5. A dropdown appears with the available forwarding methods — select **Webhook** or **SIA-DC09**.
6. Fill in the configuration fields for the selected method (see below).
7. Click **Save** to apply. A site can have more than one forwarding destination — repeat from step 4 to add additional endpoints.

![image-20260722-070451.png](/api/media/file/image-20260722-070451.png)

## Supported Protocols

### Webhook

Posts an alarm payload to a CMS HTTP endpoint. Configuration fields:

- **Method** — HTTP method for the request (default: POST).
- **URL** — the endpoint URL of the CMS receiver.
- **Headers** — optional Key / Value pairs (e.g., for authentication tokens). Click **\+ ADD** to add a header row.
- **Payload** — Key / Value pairs sent in the request body. Pre-populated with the standard alarm variables. Click **\+ ADD** to add custom fields, or remove any you do not need.

![image-20260722-070509.png](/api/media/file/image-20260722-070509.png)

### SIA-DC09

The standard signalling protocol used by alarm receiving centres. It transmits structured alarm signals (zone, account, event code) over IP to a CMS receiver. Most professional monitoring centres support DC09 natively. Configure the IP address, port, account number, and encryption key supplied by your CMS provider.

![image-20260722-070546.png](/api/media/file/image-20260722-070546.png)

## Payload Variables

The following dynamic variables are available in the Webhook payload. GC Surge replaces them with the actual alarm values at the time of forwarding:

| Variable | Value injected |
| --- | --- |
| ${ALARMCODE} | Alarm type code |
| ${ALARMMESSAGE} | Alarm description message |
| ${ALARMURL} | Direct ZenMode link to the alarm event — include this so the CMS operator can open the alarm video immediately |
| ${ALARMVALUE} | Alarm severity or value |

Always include `${ALARMURL}` in your payload — it carries the ZenMode link so the receiving CMS operator can open the alarm clip directly without searching for it.

## When Forwarding Triggers

Forwarding is designed for events that have passed classification and any additional confirmation criteria. The goal is to send confirmed, relevant events to the CMS — not mirror every event GC Surge received. Only verified real alarms are eligible for forwarding. Event metadata is included with every handoff — alarm type, timestamp, camera ID, and site — so the CMS can act immediately.

## Forwarding Failures

Forwarding failures are logged and visible in the audit trail. A CMS handoff issue is distinct from a classification issue — both are recorded separately so the correct layer can be diagnosed quickly.

<!-- Not represented in Markdown: callout. Read the page at /gc-surge/alarm-intelligence/cms-forwarding -->
