Skip to main content
Use a webhook action in a Tactical RMM (self-hosted, open-source RMM) alert template to send agent-overdue, check, and task failure alerts to Flashduty On-call. Each Tactical RMM alert maps to one Flashduty alert: it is created on failure and recovers when Tactical RMM resolves it. Tactical RMM has no fixed webhook payload; you write the request body yourself. This page gives the JSON template to paste, and Flashduty parses the fields of that template.

In Flashduty On-call

You can get the push URL in either of the following ways.

Use a dedicated integration

  1. In the Flashduty console, select Channels and open a channel
  2. Select Settings → Integrations → Dedicated integrations, then click Add integration
  3. Select Tactical RMM and click Save
  4. Open the generated integration card and copy the Push URL

Use a shared integration

  1. In the Flashduty console, go to Integration Center → Alert Events
  2. Select Tactical RMM and enter an integration name
  3. Configure the default route and select a channel. You can add more rules under Routing after creation
  4. Click Save and copy the generated Push URL

Configure Tactical RMM

Create two webhooks, one for failure and one for recovery, then attach both to an alert template. Both webhooks use the Flashduty push URL, and the request bodies differ only in status.
1

Create the failure webhook in Tactical RMM

Where: Tactical RMM › Settings › Global Settings › Web Hooks › Add Web HookUse the Web Hooks tab, not URL Actions.Request Headers:
Request Body:
2

Create the recovery webhook in Tactical RMM

Where: Tactical RMM › Settings › Global Settings › Web Hooks › Add Web HookWithout the recovery webhook, Flashduty alerts do not recover automatically.
3

Attach the webhooks to an alert template in Tactical RMM

Where: Tactical RMM › Settings › Alerts ManagerTactical RMM runs webhooks for Error alerts (such as an overdue agent) and Warning alerts by default. Info alerts are not sent unless you tick Informational Alerts under Receive notifications on in Settings › Global Settings › General.
4

Save and verify

Where: Tactical RMM › Settings › Global Settings › Web Hooks › Test
  1. On the webhook edit page, click Test with the target type set to None (no agent, site, or client). Flashduty creates an Info alert titled Tactical RMM test notification. It does not recover on its own, so close it manually after verifying. The Tactical RMM documentation says {{alert.XXX}} variables are not available in test mode. If you select a target, the variables may be replaced with other values, and Flashduty rejects the request because alert_type is invalid. So Test only proves connectivity; verify with a real alert
  2. Trigger a real alert (for example, stop a test agent) and confirm Flashduty receives an active alert
  3. After the alert recovers, confirm the matching Flashduty alert recovers

Event types

Alert key

Flashduty computes the Alert Key from alert_id ({{alert.id}}, the number of the alert record in Tactical RMM). The failure and recovery webhooks render from the same record, so the number is the same. If the same subject fails again after recovery, Tactical RMM creates a new alert record, so it is a new alert in Flashduty. Changes to severity, message, or hostname do not change the Alert Key, and requests without alert_id are rejected. Use one Flashduty integration per Tactical RMM instance. Alert numbers from different instances can collide.

Status and severity

When status is resolved the alert recovers and keeps its last severity.

Labels

Troubleshooting

  • Flashduty returns an invalid-parameter error: the message names the field. Common causes are a request body without alert_id, or an alert_type other than availability, check, task, or custom (for example, when a test target was selected on the Test button)
  • The alert does not recover: confirm the recovery webhook exists, is set as the Resolved Web Hook of the alert template, and sends "status": "resolved". The action result is visible in the alert details in Tactical RMM
  • Flashduty receives nothing: confirm the alert template is applied to the agent and the alert severity is not filtered out by the Info and Warning notification switches
  • The request body is not valid JSON: if {{alert.message}} contains double quotes, the JSON that Tactical RMM renders is invalid and Flashduty rejects it. Remove the message line from the template and Flashduty builds the title from the alert type and hostname
  • The test alert stays open: the Test button does not send a recovery, so close it manually
For more variables, see the Tactical RMM alerting and webhook documentation.