Integrations
OpsDash
Overview
This document provides a complete guide to integrating OpsDash with Callgoose SQIBS using OpsDash outgoing webhooks. When OpsDash detects alert threshold breaches or source down/up events, it sends structured JSON notifications. Callgoose SQIBS uses these notifications to automatically create, update, and resolve incidents.
This integration enables:
- Real-time incident creation based on OpsDash alerts
- Automatic resolution when alerts clear
- Flexible incident mapping using Callgoose API Filters
- Full visibility from monitoring → incident management
Prerequisites
Before starting, ensure the following:
- OpsDash server is installed and accessible
- OpsDash agents are connected
- You have permissions to configure OpsDash Notification Channels
- You have a Callgoose SQIBS Webhook Endpoint with a valid API token
- Outbound network access from OpsDash to Callgoose is allowed
- Basic familiarity with JSON structures
1. Install OpsDash
OpsDash can be installed using standard packages depending on the operating system. It provides server and agent components. Typical installation involves downloading and installing the package for your OS, configuring OpsDash server parameters, and starting services.
After installation:
- Start the OpsDash server service
- Configure the OpsDash agent to report to the server
- Access the OpsDash dashboard to ensure everything is operational
1.1. Start Server and Agent
- Install the OpsDash server package
- Install the OpsDash agent package
- Update configuration files as needed
- Start both services through the service manager
- Confirm OpsDash dashboards and agents are functioning
1.2. Verify Installation
- Ensure OpsDash UI is reachable
- Confirm agent check-ins
- Verify ability to create alerts
- Ensure access to Notification Channels
2. Obtain the Callgoose SQIBS Webhook URL
Generate a webhook process endpoint in Callgoose SQIBS. This endpoint will receive OpsDash alert payloads.
Ensure you copy the complete webhook endpoint including the token.
Keep the token secure as it allows alert ingestion.
3. Create the OpsDash Webhook Notification
OpsDash supports outgoing webhooks for alert delivery. You must configure a new Webhook Notification Channel and attach it to your alerts.
3.1. Create Webhook in OpsDash
- Open OpsDash dashboard
- Navigate to Notification Channels
- Select option to add a new Webhook channel
- Configure the following:
- Name: Callgoose SQIBS
- Method: POST
- Content Type: application/json
- Webhook URL: Use your Callgoose process endpoint
- Save the channel
- Optionally use the built-in Test button (if available)
OpsDash expects a 200 OK response within a short timeout. If not received, OpsDash performs several retries.
3.2. Attach Webhook to Alert Rules
- Open an alert configuration in OpsDash
- Add the Callgoose SQIBS webhook as a notification target
- Save the alert rule
OpsDash sends notifications under these conditions:
- Threshold breach (warning or critical)
- Threshold cleared
- Source down
- Source recovered
4. Example Payloads Sent by OpsDash
OpsDash sends JSON bodies containing alert details. A single payload may include breach events and source down/recovered events.
Example — Combined Notification
{
"version": 1,
"at": 1689907211,
"breach": [
{
"dashid": 2,
"dashname": "webhook-test-01",
"graphid": 42,
"graphname": "Load Average",
"source": "webhook-test-01",
"metric": "sys.os.loadavg",
"breachtype": "warnub",
"value": 2.4,
"threshold": 2
}
],
"down": [
{
"source": "webhook-test-02",
"down": true,
"last": 1489907031
}
],
"status": "1 down, 1 warning"
}
Trigger Example
{
"version": 1,
"at": 1689907211,
"breach": [
{
"dashid": 2,
"dashname": "webhook-test-01",
"graphid": 42,
"graphname": "Load Average",
"source": "webhook-test-01",
"metric": "sys.os.loadavg",
"breachtype": "critub",
"value": 4.5,
"threshold": 2
}
],
"status": "1 critical"
}
Resolve Example
OpsDash indicates resolution using:
- Empty breachtype in breach events
- down:false in down events
Example:
{
"version": 1,
"at": 1689907430,
"down": [
{
"source": "webhook-test-02",
"down": false,
"last": 1489907400
}
],
"status": "recovered"
}
5. Configure API Filters in Callgoose SQIBS
5.1. Trigger Filter
- Payload JSON Key: "breach"
- Key Value Contains: [critub, warnub, critlb, warnlb] (or any non-empty breach entry)
- Map Incident With: "dashid" or "graphid"
- Title: "graphname"
- Description: "breach".[0]
This creates an incident whenever OpsDash sends a breach event.
5.2. Resolve Filter
- Payload JSON Key: "breach"
- Key Value Contains:[ empty breachtype, down:false]
- Map Incident With: same external id used in trigger filter
This ensures accurate correlation with the incident created earlier.
6. Testing the Integration
- Test Webhook Delivery
- Use the OpsDash webhook test function if available. Confirm the payload appears in Callgoose API logs.
- Trigger an Alert
- Lower a threshold or create load to force a breach.
- Ensure Callgoose creates the incident.
- Resolve Alert
- Return system to normal.
- Ensure Callgoose resolves the incident automatically.
- Validate Payloads
- Open Callgoose API Logs.
- Confirm the payload matches the expected schema.
- Copy exact key names for filter configuration.
7. Troubleshooting
- Issue: No Webhook Received
- Check OpsDash server logs
- Validate webhook endpoint and token
- Ensure network connectivity
- Ensure Callgoose returns 200 OK
- Issue: Incident Not Created
- Verify Trigger Filter JSON key mapping
- Confirm breach array exists and contains breachtype
- Issue: Incident Does Not Resolve
- Ensure Resolve Filter matches the same external id
- Confirm OpsDash is sending cleared events
- Issue: Authentication Errors
- Confirm correct token
- Ensure no typos in header or query parameters
- Issue: Unexpected JSON Format
- Ensure OpsDash webhook body was not manually modified
- Inspect Callgoose API logs for exact received JSON
8. Conclusion
By configuring outgoing webhooks in OpsDash and setting up API Filters in Callgoose SQIBS, you can achieve seamless real-time incident creation and automatic resolution. This ensures accurate monitoring correlation, clean alert workflows, and consistent incident lifecycle management without manual intervention.
For further customization or advanced use cases, refer to the official documentation for both OpsDash and Callgoose SQIBS:
