logo

CALLGOOSE

coroot

Overview

This document provides a complete, beginner-friendly guide to integrating Coroot with Callgoose SQIBS using the platform's native webhook-based alerts. Coroot is an open-source observability tool for Kubernetes that monitors Service Level Objectives (SLOs) and application health.

This integration allows Coroot to send alert notifications directly to the Callgoose SQIBS API when a problem is detected (e.g., a critical SLO failure). Callgoose SQIBS will automatically create, update, and resolve incidents based on the structured JSON payload.

This integration enables:

  • Real-time Incident Creation in Callgoose SQIBS when Coroot detects an anomaly.
  • Automated Incident Resolution when the underlying Coroot alert clears (e.g., SLO is restored).
  • Customized incident details using Coroot's powerful Go templating.

Prerequisites

Before starting, ensure you have:

  • A running Coroot instance installed and monitoring workloads in your Kubernetes cluster.
  • Callgoose SQIBS Account: With valid privileges to set up API filters and receive notifications.
  • Webhook/API Endpoint: Available in Callgoose SQIBS to receive alerts from coroot.

1. Obtain API Token and Endpoint Details

To enable the integration, you must first secure the endpoint details from Callgoose SQIBS.

https://****.callgoose.com/v1/process?from=coroot&token=xxxx

this complete URL will be pasted into the Coroot Webhook configuration.

2. Coroot Installation (Self-Hosted)

Coroot is a self-hosted platform primarily installed on a Kubernetes cluster.

2.1. Install Coroot using Helm (Recommended)

# 1. Add the Coroot Helm repository
helm repo add coroot https://coroot.github.io/helm-charts
helm repo update

# 2. Create Namespace and Install Coroot
kubectl create namespace coroot
helm install coroot coroot/coroot --namespace coroot --wait

2.2. Verify Installation

kubectl get pods -n coroot
kubectl get svc -n coroot

All Coroot pods should be in the Running state.

2.3. Access the UI

kubectl port-forward svc/coroot -n coroot 8080:8080

Open: http://localhost:8080 to configure projects and alert rules.

3. Configuring the Coroot Webhook

Coroot uses a native Webhook integration, allowing direct custom JSON payloads to be sent to Callgoose SQIBS.

3.1. Create the Coroot Webhook Integration

Follow these steps in the Coroot UI:

  1. Log in to your Coroot UI.
  2. Navigate to project settings→ integrations
  3. Click Create Webhook integration.
  4. Paste your Callgoose SQIBS Webhook URL (obtained from Section 1) into the Webhook URL field.
  5. Ensure the HTTP Method is set to POST.

3.2. Define the JSON Payload Template

Coroot uses Go templating to define the payload structure.

  1. Paste the following standardized template into the JSON template section in Coroot:

json template

{
  "source": "coroot",
  "status": "{{ if eq .Incident.Status "ok" }}resolved{{ else }}firing{{ end }}",
  "alert_id": "{{ .Incident.ApplicationID }}-{{ .Incident.CheckID }}",
  "summary": "{{ .Incident.Title }}",
  "description": "Coroot alert on application {{ .Application.Name }} (Namespace: {{ .Application.Namespace }}). Status: {{ .Incident.Status }}. Severity: {{ .Incident.Severity }}",
  "startsAt": "{{ .Incident.StartedAt.Format "2006-01-02T15:04:05Z07:00" }}",
  "endsAt": "{{ if eq .Incident.Status "ok" }}{{ now.Format "2006-01-02T15:04:05Z07:00" }}{{ else }}null{{ end }}",
  "details": {
    "severity": "{{ .Incident.Severity }}",
    "link": "{{ .Incident.Link }}",
    "application_name": "{{ .Application.Name }}"
  }
}
  1. Click Send a test alert to verify the payload is successfully sent to and received by Callgoose SQIBS.
  2. Save the integration.

4. Alert Payload Format

The template ensures Coroot sends payloads optimized for Callgoose SQIBS filters.

4.1. Trigger Payload Example (status: firing)

JSON

{
  "source": "coroot",
  "status": "firing",
  "alert_id": "83c31628-94b1-http-latency-slow",
  "summary": "Service: Payment-Gateway SLO Failure",
  "description": "Coroot alert on application payment-gateway (Namespace: default). Status: critical. Severity: CRITICAL",
  "startsAt": "2025-12-04T10:00:00Z",
  // ... other fields
}

4.2. Resolve Payload Example (status: resolved)

JSON

{
  "source": "coroot",
  "status": "resolved",
  "alert_id": "83c31628-94b1-http-latency-slow",
  "summary": "Service: Payment-Gateway SLO Failure",
  "description": "Coroot alert on application payment-gateway (Namespace: default). Status: ok. Severity: CRITICAL",
  "startsAt": "2025-12-04T10:00:00Z",
  "endsAt": "2025-12-04T10:15:00Z",
  // ... other fields
}

5. Configure API Filters in Callgoose SQIBS

5.1. Configuring API Filters (Coroot Integration)

5.1.1. Integration Templates

If a Coroot integration template is visible in the "Select Integration Template" dropdown in the API filter settings, you can use it to automatically add the necessary Trigger and Resolve filters.


5.1.2. Manually Add/Edit the Filter

Trigger Filter (For Creating Incidents):

  • Payload JSON Key:"status"
  • Key Value Contains:[firing]
  • Map Incident With: "alert_id"
  • Incident Title From:"summary"
  • Incident Description From:"description"

Resolve Filter (For Resolving Incidents):

This filter is set up to automatically close the existing incident in Callgoose SQIBS when a resolved alert payload is received from Coroot.

  • Payload JSON Key:"status"
  • Key Value Contains:[resolved]
  • Incident Mapped With: "alert_id"

5.2. Finalizing Setup

Save the API Filters: Ensure that the filters are correctly configured and saved in Callgoose SQIBS. Double-check that all key mappings are aligned with the top-level keys (status, alert_id, summary, description) defined in the Coroot webhook template.

Refer to the API Filter Instructions and FAQ for more details.

6. Verifying the Integration

  • Trigger a Test Alert: In the Coroot Webhook configuration screen, click Send a test alert.
  • Check Callgoose SQIBS Dashboard: Confirm a new incident is created.
  • Confirm Resolution: If the test alert clears, verify the incident automatically transitions to a Resolved state.

7. Troubleshooting

This section focuses on common issues and their solutions when using the Coroot direct webhook model to integrate with Callgoose SQIBS, bypassing Alertmanager.

No incident created:

  • callgoose: Check the API Logs within Callgoose SQIBS for any receiving errors, such as HTTP 401 (authentication errors due to an invalid token) or JSON payload rejections.
  • Coroot: Confirm the Webhook URL entered in Coroot's integration settings is correct and complete.

Incident not resolving:

  • Verify the Coroot JSON template generates the status field as "resolved" (with quotes) when the underlying Coroot alert state is ok.
  • The alert_id value in the firing payload and the resolved payload MUST be identical for Callgoose to map and close the correct incident.

No webhook traffic from Coroot:

  • Check Coroot's application logs for any errors related to network connection timeouts or template parsing failures.
  • Ensure your Kubernetes cluster's firewall or network policies (like Egress rules) allow outgoing HTTPS traffic (port 443) from the Coroot pod to the Callgoose domain.

Incorrect field mapping (Data Missing):

  • Verify that your Callgoose API filters are correctly referencing the top-level keys (summary, description, status) as defined in the custom Coroot JSON template.
  • Since Coroot sends a flattened, custom payload, ensure you are not using complex dot notation (e.g., alerts.[0].labels.name) which is only applicable for Alertmanager payloads.

8. Conclusion

You now have a fully operational and customized integration between Coroot and Callgoose SQIBS using direct webhook notifications. By leveraging Coroot's powerful monitoring and Callgoose SQIBS's robust API filters, you have established a direct, streamlined pipeline for Incident Management.

This setup ensures Real-time Visibility and Automated Resolution of incidents based directly on Coroot's service health assessments.

CALLGOOSE
SQIBS

Advanced Automation platform with effective On-Call schedule, real-time Incident Management and Incident Response capabilities that keep your organization more resilient, reliable, and always on

Callgoose SQIBS can Integrate with any applications or tools you use. It can be monitoring, ticketing, ITSM, log management, error tracking, ChatOps, collaboration tools or any applications

Callgoose providing the Plans with Unique features and advanced features for every business needs at the most affordable price.



Unique Features

  • 30+ languages supported
  • IVR for Phone call notifications
  • Dedicated caller id
  • Advanced API & Email filter
  • Tag based maintenance mode
Book a Demo

Signup for a freemium plan today &
Experience the results.

No credit card required