Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions docs/cwrmm/custom-fields/ticket-mgmt-webhook-url.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
id: '8e55deb6-bef8-4501-9e64-7b25e7fcd1ab'
slug: /8e55deb6-bef8-4501-9e64-7b25e7fcd1ab
title: 'Ticket_Mgmt_Webhook_Url'
title_meta: 'Ticket_Mgmt_Webhook_Url'
keywords: ['trigger', 'ticketing', 'ticket-management', 'webhook', 'workflow', 'automation', 'monitors']
description: 'Webhook URL for the ConnectWise workflow that manages ticket creation and closure.'
tags: ['api', 'automation', 'ticketing']
draft: false
unlisted: false
last_update:
date: 2026-07-23
---

## Summary

Webhook URL for the [ConnectWise workflow](/docs/57daa951-2acc-4be7-a025-0d0ca729ef57) that manages ticket creation and closure.

## Dependencies

- [Triggers: CWRMM Ticket Management for Monitors](/docs/05c811e6-c6d0-4652-b4b6-2aa83f9605c7)
- [Workflow: CWRMM Ticket Management for Monitors](/docs/57daa951-2acc-4be7-a025-0d0ca729ef57)

## Custom Field Setup Location

**Custom Fields Path:** SETTINGS ➞ Custom Fields

## Details

| Name | Description | Level | Type | Help Text | Default Value | Editable |
|---|---|---|---|---|---|---|
| Ticket_Mgmt_Webhook_Url | Webhook URL for the ConnectWise workflow that manages ticket creation and closure. | `Company` | `Text Box` | Paste the Webhook URL from the ticket management workflow here. | `https://webhook.myconnectwise.net/...` | `No` |

**Set the workflow's webhook URL as this field's Default Value:**

This custom field is the **shared storage location** for the webhook URL generated by the [CWRMM Ticket Management for Monitors](/docs/57daa951-2acc-4be7-a025-0d0ca729ef57) workflow. That URL does **not** exist until you create a webhook instance inside the workflow's [trigger](/docs/05c811e6-c6d0-4652-b4b6-2aa83f9605c7), and because webhook instances are environment‑specific they **cannot be migrated** — so the value has to be typed in here by hand as part of the workflow setup.

When you finish [creating the webhook instance](/docs/57daa951-2acc-4be7-a025-0d0ca729ef57) (*Automation ➞ Workflows ➞ open the workflow ➞ click the Trigger node ➞ **New Webhook Instance +** ➞ copy the generated URL*), paste that URL into the **Default Value** of this custom field and **save** the field. The `https://webhook.myconnectwise.net/...` shown in the table above is only a **placeholder / example** — replace it with the real URL copied from your trigger instance.

The monitor scripts (Enhanced Drive Space, CPU, Memory, etc.) read this default value to discover where to POST their `Create` / `Close` / `Comment` payloads. That is exactly why the field is defined at the **Company** level with **Editable = No**: it represents a single, global webhook endpoint — not a per‑device value — and locking it stops anyone from accidentally overriding it on an individual record.

**If the Default Value is left blank or still set to the placeholder, the monitor scripts have no target to send to and alert ticketing will silently fail for every device.** After saving, always double‑check that the stored default value is an exact, character‑for‑character match of the URL shown in the workflow's trigger instance.

## Completed Custom Field

![Image1](../../../static/img/docs/8e55deb6-bef8-4501-9e64-7b25e7fcd1ab/image1.webp)

## Changelog

### 2026-06-24

- Initial version of the document
2 changes: 1 addition & 1 deletion docs/cwrmm/groups/enhanced-drive-space-monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Target group for the Enhanced Drive Space Monitoring automation. Includes all se
## Group Summary

- **Group Name:** `Enhanced Drive Space Monitoring`
- **Category:** `Monitoring`
- **Category:** `Monitoring`
- **Description:** `Target group for the Enhanced Drive Space Monitoring automation. Includes all servers and workstations explicitly opted-in through hierarchical custom fields.`

![Image1](../../../static/img/docs/475ce8e8-458e-4901-bdfc-18e79f62c549/image1.webp)
Expand Down
542 changes: 542 additions & 0 deletions docs/cwrmm/monitors/cpu-threshold-violation-monitoring-workflow.md

Large diffs are not rendered by default.

552 changes: 552 additions & 0 deletions docs/cwrmm/monitors/enhanced-drive-space-monitoring-workflow.md

Large diffs are not rendered by default.

550 changes: 550 additions & 0 deletions docs/cwrmm/monitors/memory-threshold-violation-monitoring-workflow.md

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions docs/cwrmm/triggers/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "CW RMM Custom Triggers"
}
48 changes: 48 additions & 0 deletions docs/cwrmm/triggers/_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
id: 'New GUID'
slug: /New GUID
title: 'Filename'
title_meta: 'Filename'
keywords: []
description: ''
tags: []
draft: true
unlisted: false
last_update:
date: 2025-08-01
---

## Summary

## Details

| Trigger Name | Description | Tags | Secure user access |
| ------------ | ----------- | ---- | ------------------ |

## Request Body

These are the fields that will be collected in order for the custom workflow action to get executed.

### Payload Schema

| Field Type | Setup option | Field Caption |
| ---------- | ------------ | ------------- |

### Data

| Json Path Name | Display Name | Data Format | Default Value | List Options | Visibility |
| -------------- | ------------ | ----------- | ------------- | ------------ | ---------- |

## Usage Example

## Dependencies

## Trigger Setup Path

- **Tasks Path:** `Automation` ➞ `Workflows` ➞ `Custom Triggers`

## Trigger Creation

Install the corresponding workflow from the `ProVal - Content` Community to automatically install this trigger as well.

## Changelog
92 changes: 92 additions & 0 deletions docs/cwrmm/triggers/cw-rmm-ticket-management-for-monitors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
id: '05c811e6-c6d0-4652-b4b6-2aa83f9605c7'
slug: /05c811e6-c6d0-4652-b4b6-2aa83f9605c7
title: 'CWRMM Ticket Management for Monitors'
title_meta: 'CWRMM Ticket Management for Monitors'
keywords: ['trigger', 'ticketing', 'ticket-management', 'webhook', 'workflow', 'automation', 'monitors']
description: 'Automates ConnectWise ticket lifecycle management directly from CW RMM monitors via webhook. Receives JSON payloads to Create, Close, or Comment on tickets, eliminating the need for separate RMM ticketing tasks and ensuring clean, duplicate-free alerting.'
tags: ['api', 'automation', 'ticketing']
draft: false
unlisted: false
last_update:
date: 2026-07-23
---

## Summary

The **CWRMM Ticket Management for Monitors** trigger serves as a dedicated webhook endpoint designed to bridge CW RMM monitoring scripts and ConnectWise ticketing workflows.

Instead of relying on native RMM ticketing tasks, monitoring scripts (such as Enhanced Drive Space, CPU Threshold, and Memory Threshold monitors) evaluate device telemetry locally and send a structured JSON payload to this trigger only when a ticket state change is required. This allows monitors to implement a robust local state machine, tracking which alerts already have open tickets and firing webhooks exclusively to create new tickets or close resolved ones.

**Key Benefits:**

- **Prevents Ticket Duplication:** By offloading ticket tracking to the monitor's local state files, it ensures that sustained alerts (e.g., a drive sitting at 95% full for hours) do not generate duplicate tickets on every monitor run.
- **Automated Resolution:** When an alert condition clears (e.g., CPU drops below the low threshold), the monitor automatically fires a `Close` action webhook, allowing ConnectWise to auto-resolve the ticket without technician intervention.
- **Decoupled Architecture:** Monitoring logic and ticketing actions are cleanly separated. Monitors focus purely on threshold evaluation and state management, while the ConnectWise workflow handles the API calls to Create, Close, or Comment on tickets based on the payload.

Valid actions recognized by this trigger are **Create**, **Close**, and **Comment**.

## Details

| Trigger Name | Description | Tags | Secure user access |
| ------------ | ----------- | ---- | ------------------ |
| CWRMM Ticket Management For Monitors | Create and Close a Ticket based on Action from a monitor. Valid actions are Create, Close and Comment. | Ticketing | No Auth |

## Request Body

These are the fields that will be collected in order for the custom workflow action to get executed.

### Payload Schema

| Field Type | Setup option | Field Caption |
| ---------- | ------------ | ------------- |
| Json/complex data | | Payload Schema |

### Data

| Json Path Name | Display Name | Required | Data Format | Default Value | Valid Options | Visibility |
| -------------- | ------------ | ---------| ----------- | ------------- | ------------- | ---------- |
| Action | Action | True | String | | Create, Close, Comment | Shown |
| TicketBody | TicketBody | True | String | | | Shown |
| TicketSubject | TicketSubject | True | String | | | Shown |
| DeviceId | DeviceId | True | String | | | Shown |

## Usage Example

```PowerShell
$webhookUrl = 'https://webhook.xyz.net/sampleUrl'

$action = 'Create'
$ticketSubject = 'A Sample Ticket for {0}' -f $env:ComputerName
$ticketBody = 'This ticket is created to test the functionality of the trigger'

$deviceId = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\ITSPlatform').privateendpointid

$payload = [ordered]@{
Action = $action
TicketSubject = $ticketSubject
TicketBody = $ticketBody
DeviceId = $deviceId
}
$jsonPayload = $payload | ConvertTo-Json -Depth 2

Invoke-RestMethod -Uri $webhookUrl -Method Post -Body $jsonPayload -ContentType 'application/json'
```

## Dependencies

- [Workflow: CWRMM Ticket Management for Monitors](/docs/57daa951-2acc-4be7-a025-0d0ca729ef57)

## Trigger Setup Path

- **Tasks Path:** `Automation` ➞ `Workflows` ➞ `Custom Triggers`

## Trigger Creation

Install the [CWRMM Ticket Management for Monitors](/docs/57daa951-2acc-4be7-a025-0d0ca729ef57) workflow from the `ProVal - Content` Community to automatically install this trigger as well.

## Changelog

### 2025-07-23

- Initial version of the document
3 changes: 3 additions & 0 deletions docs/cwrmm/workflows/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "CW RMM Workflows"
}
42 changes: 42 additions & 0 deletions docs/cwrmm/workflows/_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
id: 'New GUID'
slug: /New GUID
title: 'Filename'
title_meta: 'Filename'
keywords: []
description: ''
tags: []
draft: true
unlisted: false
last_update:
date: 2025-08-01
---

## Summary

## Details

| Name | Description | Category tags | Trigger |
| ---- | ----------- | ------------- | ------- |

## Dependencies

## Workflow Setup Path

- **Tasks Path:** `Automation` ➞ `Workflows` ➞ `All Workflows`

## Usage Example

## Component Used

## Diagram

> use [mermaid](https://mermaid.live/) to create a diagram

## Workflow Creation

Install the workflow from the `ProVal - Content` Community.

## Completed Screenshot

## Changelog
Loading
Loading