logo

CALLGOOSE

Better Stack

Overview

This document provides a complete guide to integrating Better Stack (Uptime) with Callgoose SQIBS using outbound webhooks.

Better Stack sends incident lifecycle events (trigger and resolve) to Callgoose SQIBS, where they automatically create and resolve incidents through API Filters. This integration uses Better Stack’s Outgoing Webhooks (Incident event type) and Callgoose SQIBS’s Process API endpoint.

Prerequisites

Ensure you have the following before beginning:

  • Better Stack (Uptime): Active account with access to Outgoing Webhooks.
  • Callgoose SQIBS:
  • API Token.
  • Inbound process endpoint.
  • Configuration: At least one Better Stack monitor to generate incidents.

1. Obtain Callgoose API Token & Endpoint

  • Refer API Token & API Endpoint
  • Go to Callgoose SQIBSAPI Tokens.
  • Generate a new token or use an existing one.
  • Construct your Callgoose inbound process URL.

URL Format:

https://****.callgoose.com/v1/process?from=BetterStack&token=<API_TOKEN>

Note: Replace **** with your organization's subdomain and <API_TOKEN> with your actual token. Store this securely.

2. Select Webhook Payload Strategy

Better Stack allows custom JSON bodies. To make API Filters in Callgoose simple, use a streamlined payload containing:

  • status
  • id
  • title
  • description
  • monitor metadata

This structure avoids deep nesting and ensures predictable incident correlations.

3. Configure Better Stack → Outgoing Webhook

3.1 Create Outgoing Webhook

  • Navigate to Better StackIntegrationsOutgoing Webhooks.
  • Create a new webhook.
  • Name: Callgoose Integration.
  • Event Type: Select Incident.
  • Events to Notify: Enable:
  • Incident Started
  • Incident Resolved
  • Webhook URL: Enter the URL constructed in Section 1.

3.2 Add Headers (Optional)

If you prefer not to put the token in the URL, you can pass it via a header:

  • Content-Type: application/json
  • X-Callgoose-Auth: <API_TOKEN>

3.3 Configure Custom Body Template

Use the following JSON template.

Important: You must replace the variables below (e.g., {{ ... }}) with the exact tokens provided in your Better Stack template editor sidebar. The syntax below follows Better Stack's standard object model, but available tokens may vary by plan or version.

{
  "source": "betterstack",
  "status": "{{ incident.attributes.status }}",
  "id": "{{ incident.id }}",
  "title": "{{ incident.attributes.name }}",
  "description": "{{ incident.attributes.cause }}",
  "monitor": {
    "id": "{{ incident.relationships.monitor.data.id }}",
    "name": "{{ incident.relationships.monitor.data.attributes.name }}"
  },
  "started_at": "{{ incident.attributes.started_at }}",
  "resolved_at": "{{ incident.attributes.resolved_at }}"
}

4. Sample Trigger and Resolve Payloads

4.1 Trigger (Incident Started)

{
  "source": "betterstack",
  "status": "Started",
  "id": "INC-98765",
  "title": "Server Down: api.example.com",
  "description": "Monitor check failed. Status code 500.",
  "monitor": {
    "id": "MON-12345",
    "name": "api.example.com Health Check"
  },
  "started_at": "2025-11-10T09:12:00Z"
}

4.2 Resolve (Incident Resolved)

{
  "source": "betterstack",
  "status": "Resolved",
  "id": "INC-98765",
  "title": "Recovery: api.example.com",
  "description": "Monitor check successful. Response 200 OK.",
  "monitor": {
    "id": "MON-12345",
    "name": "api.example.com Health Check"
  },
  "started_at": "2025-11-10T09:12:00Z",
  "resolved_at": "2025-11-10T09:20:00Z"
}

5. Configure Callgoose SQIBS API Filters

5.1 Trigger Filter (Create Incident)

  • Payload JSON Key: "status"
  • Key Value Contains: Started (Note: Better Stack sends "Started" with a capital S)
  • Incident Mapped With: "id"
  • Title Field: "title"
  • Description Field: "description" (or leave empty to get the whole payload as description)

5.2 Resolve Filter (Resolve Incident)

  • Payload JSON Key: "status"
  • Key Value Contains: Resolved (Note: Better Stack sends "Resolved" with a capital R)
  • Incident Mapped With: "id"

This ensures:

  • Every new Better Stack incident creates a Callgoose incident.
  • Resolves correctly map to the same incident using the id field.

6. Testing the Integration

  • Save the Better Stack webhook configuration.
  • Trigger a webhook using the built-in "Send Test" option in Better Stack.
  • Verify in Callgoose:
  • Check API logs to confirm receipt (200 OK).
  • Confirm a new incident is created for the Started status.
  • Resolve the monitor in Better Stack (or simulate recovery) and verify the incident resolves in Callgoose.
  • Cleanup: Disable API debug logging after successful tests.

7. Security Recommendations

  • HTTPS: Use HTTPS at all times.
  • Headers: Prefer authentication headers (X-Callgoose-Auth) over query tokens in the URL when possible.
  • Secrecy: Avoid exposing token values in shared systems.
  • Scope: Use short-lived or environment-specific API tokens for staging setups.

8. Troubleshooting

No Incident Created

  • Webhook may be disabled in Better Stack.
  • JSON template may contain invalid variables (check for {{ }} vs $ syntax).
  • Payload may not match the case sensitivity (Ensure filter checks for Started, not started).
  • API Token may be incorrect.

Incident Does Not Resolve

  • Payload status must match exactly: Resolved.
  • id field must match the trigger event id.

400/500 Errors

  • JSON may be malformed (e.g., extra commas, missing braces).
  • Invalid characters in body template.

Webhook Not Received

  • Endpoint must return a 2xx status code.
  • Network or firewall rules may be blocking outgoing requests from Better Stack.

9. Conclusion

Integrating Better Stack with Callgoose SQIBS provides a seamless, real-time incident management workflow by combining Better Stack’s precise uptime monitoring with Callgoose’s automated incident handling.

By using a simple, consistent payload structure and clear API Filter mappings, this integration ensures that trigger and resolve events are accurately reflected within Callgoose. Once configured, the system operates entirely hands-free, enabling faster response times, cleaner observability pipelines, and a unified source of truth for operational incidents.

For further customization or advanced use cases, refer to the official documentation for both Uptrends and Callgoose SQIBS:

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