Manage RMM (Remote Monitoring and Management) alerts in RepairShopr
I manage RMM alerts that come from integrated RMM/ monitoring systems (like NinjaOne, etc.) into RepairShopr. I can list alerts, create manual alerts, view details, mute alerts temporarily, and clear/delete alerts.
Use this when:
Required API base URL:
VITE_REPAIRSHOPR_SUBDOMAINVITE_REPAIRSHOPR_API_KEYPermissions:
List Alerts (GET /rmm_alerts) Optional:
status (string) - Filter: "resolved", "all", "active" (default active)page (integer) - Page number (25 results per page)Create Alert (POST /rmm_alerts) Optional fields:
customer_id (integer) - Associated customer/asset's customerasset_id (integer) - Asset (computer/device) the alert is aboutdescription (string) - Alert message/descriptionresolved (boolean) - Mark as resolved on createstatus (string) - Alert statusproperties (object) - Additional structured datacomputer_name, check_id, formatted_output - Various RMM-specific fieldsGet Alert (GET /rmm_alerts/{id})
id (integer) - Alert IDMute Alert (POST /rmm_alerts/{id}/mute)
id (integer) - Alert ID
Body: mute_for (string, required) - Duration: '1-hour', '1-day', '2-days', '1-week', '2-weeks', '1-month', 'forever'Clear/Delete Alert (DELETE /rmm_alerts/{id})
id (integer) - Alert IDExample call:
// List active alerts
const alerts = await skill({ name: "repairshopr-rmm-alert" }, {
status: "active"
})
// Create a custom alert (e.g., from monitoring script)
const alert = await skill({ name: "repairshopr-rmm-alert" }, {
asset_id: 123,
description: "High CPU usage detected (>95% for 10 minutes)",
properties: {
cpu_usage: 97.3,
threshold: 95,
duration_minutes: 10
}
})
// Mute an alert for a day (auto-clears after mute period unless resolved)
await skill({ name: "repairshopr-rmm-alert" }, {
mute_for: "1-day"
}, { id: alert.alert.id, method: 'POST', endpoint: '/mute' })
// Clear/resolve an alert
await skill({ name: "repairshopr-rmm-alert" }, {},
{ id: alert.alert.id, method: 'DELETE', pathParams: { id: alert.alert.id } }
)
Response includes:
rmm_alerts array with fields id, asset_id, customer_id, description, resolved, status, created_at, ticket_id (if linked)alert object with similar datamute_for helps reduce noise but alert will re-appear after mute period if still activeresolved: true) are separate from deleted/cleared alertsasset_id to identify the devicerepairshopr-asset - Assets are the devices generating alertsrepairshopr-ticket-create - Convert alert into a service ticketrepairshopr-ticket - Link alerts to tickets