Skip to content

feat: add Sematext Cloud provider (webhook integration)#6224

Open
cairon-ab wants to merge 1 commit intokeephq:mainfrom
cairon-ab:feat/sematext-provider
Open

feat: add Sematext Cloud provider (webhook integration)#6224
cairon-ab wants to merge 1 commit intokeephq:mainfrom
cairon-ab:feat/sematext-provider

Conversation

@cairon-ab
Copy link
Copy Markdown

Summary

Adds a Sematext Cloud provider that receives alerts via Sematext's Custom Notification Hook (webhook).

Closes #607

What's included

  • Provider implementation (keep/providers/sematext_provider/sematext_provider.py):

    • Webhook-only provider — no API credentials required on the Keep side
    • Maps all Sematext alert rule types (heartbeat, threshold, anomaly, logs, RUM, synthetics)
    • Handles backToNormal for automatic resolution
    • Severity mapping from Sematext priority field (string or int)
    • Group-by filter values propagated as labels
    • Stable fingerprint generation based on applicationId, ruleType, title, and filter values
  • Tests (tests/sematext_provider/test_sematext_provider.py):

    • Unit tests for all helper functions
    • _format_alert tests covering firing, resolved, severity mapping, edge cases
    • Tests for group-by filter handling, minimal payloads, all rule types
  • Documentation (docs/providers/documentation/sematext-provider.mdx):

    • Step-by-step webhook setup instructions
    • Supported alert types table
    • Status and severity mapping reference

Sematext webhook payload

The provider expects the standard Sematext Custom Notification Hook format:

{
  "backToNormal": "$backToNormal",
  "ruleType": "$ruleType",
  "description": "$description",
  "title": "$title",
  "applicationId": "$applicationId",
  "url": "$url",
  "createTimestamp": "$createTimestamp",
  "troubleshootUrl": "$troubleshootUrl"
}

Docs: https://sematext.com/docs/integration/alerts-webhooks-integration/

Signed-off-by: Cairon cairon-ab@users.noreply.github.com

Add a Sematext Cloud provider that receives alerts via Sematext's
Custom Notification Hook (webhook). No API credentials needed.

Includes:
- Provider implementation with alert formatting
- Unit tests
- Documentation with setup instructions

Closes keephq#607

Signed-off-by: Cairon <cairon-ab@users.noreply.github.com>
@dosubot dosubot bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Apr 8, 2026
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 8, 2026

CLA assistant check
All committers have signed the CLA.

@dosubot dosubot bot added Documentation Improvements or additions to documentation Feature A new feature Provider Providers related issues labels Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements or additions to documentation Feature A new feature Provider Providers related issues size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adding Sematext ==> Keep

2 participants