Notification Channels
To receive notifications from KloudMate, you need to set up notification channels — the communication platforms where alerts and incident updates are sent.
KloudMate supports the following notification channels:
- Slack
- SNS
- MS Teams
- Webhook
- Jira
- KloudMate Incidents — bridges alerts and synthetic checks into Incident Management
In the case of multiple workspaces and AWS accounts, you must set up notifications for each account in their respective Settings.
Navigate to Settings > Notification Channels. The screen displays all existing channels with their name, type, and address.

- Click the Create button at the top-right corner.
- Select the desired channel type from the dropdown.

Once created, the channel appears in the list. You can Edit or Delete any channel using the more options (⋯) icon.

Below are the configuration steps for each specific channel type:
- Select Email from the dropdown menu.
- Enter a Name for the channel (e.g., demo) and your email address in the Address field.
- Click Submit.

KloudMate uses a single unified Slack app for both notifications and IM ChatOps. Installing it once gives you threaded notifications, message attribution, and the ability to acknowledge or resolve incidents directly from Slack.
- Select Slack from the dropdown menu, then click the Add to Slack button.
- You will be redirected to Slack’s OAuth flow. Pick the channel KloudMate should post into and approve the bot scopes.
- On approval, KloudMate creates the channel row and the Slack integration is also visible under Incidents → Settings → ChatOps.

MS Teams
Section titled “MS Teams”- Select MS Teams from the dropdown menu.
- Create an incoming webhook URL from Microsoft Teams by going to Channel > Connectors > Incoming Webhooks in the Microsoft Teams Apps.
- Enter the Team Channel Name and the Webhook Address in their respective fields.
- Click Submit.

Optionally, you can download the KloudMate logo from the link provided on the screen to update the webhook’s image in MS Teams.
- Select SNS from the dropdown menu.
- Copy the KloudMate SNS Access Policy displayed on the screen. Navigate to your AWS Console and paste the policy into your SNS topic. Update the placeholders in the policy with the correct values.
- Return to KloudMate, enter a Name and your Topic ARN in their respective fields.
- Click Submit.

Webhooks
Section titled “Webhooks”- Select Webhook from the dropdown menu.
- Enter a Webhook Name and the Webhook URL in their respective fields.
- Under Secret, provide a secure key. This secret is used to generate an HMAC-SHA256 signature for each webhook payload, allowing you to verify that the request came from KloudMate.
- Click Submit.

Webhook Signature Validation
Section titled “Webhook Signature Validation”When KloudMate sends a webhook to your configured URL, it includes an X-KM-Signature HTTP header. This signature is an HMAC-SHA256 hash generated using the payload body and the Secret you provided during configuration.
To ensure the webhook is genuinely from KloudMate, you should compute the hash on your server and compare it with the X-KM-Signature header.
Here are examples of how to perform this validation in common programming languages:
Notification Payloads
Section titled “Notification Payloads”Every webhook is delivered as a single POST with a JSON body and Content-Type: application/json. The body you receive is exactly the bytes that were HMAC-signed (see above), so verify the signature against the raw body before parsing.
The payload shape depends on which KloudMate feature triggered the notification:
- Alert group notifications carry a top-level
eventfield (opened,appended,resolved, orrca_completed) that identifies the lifecycle stage. - The other payloads have no
eventfield — identify them by their distinctive top-level keys:slo_name(SLO burn rate),monitor_id(synthetic monitor),serviceName(new issue), andinvestigationId(AI investigation).
The tabs below show one representative example of each payload, with notes on how the variants differ.
Sent when an alert group opens, gains new alerts, resolves, or completes a root-cause analysis. Each rule reports its full instances array — no sampling, every instance in the notification is included, each tagged with its state — alongside per-state counts. Each rule also exposes commonLabels and commonAnnotations — the label and annotation values identical across all of that rule’s instances — so receivers and the chat/email templates can show them once instead of on every row; the individual instances[] still carry their own complete labels and annotations. Both totals and each rule’s counts are keyed by the user-facing state (Firing, Resolved, No Data, Error, Normal). group.mode is "group" for a correlated alert group and "standalone" for a single-alert notification (one per alarm rule). Chat and email channels cap how many instance rows they render; the webhook always carries the complete list.
Variants by event:
appended— new or still-firing alerts on an already-open group; each instance carries its currentstate, andcounts/totalstally them by state.resolved—group.statebecomes"Resolved",group.resolved_atis set, and every instance reports"state": "Resolved", socounts/totalsmove underResolved.rca_completed— thercaobject is populated instead ofnull:
Sent when a new issue is created for a service.
Sent when an SLO burn-rate alert starts firing or resolves. threshold and the observed burn rates are formatted with a trailing × (an infinite rate renders as ∞); windows render as 5m, 1h, etc.
On resolve, subject becomes "✅ SLO burn-rate resolved: Checkout availability" and status_line becomes a duration, e.g. "Fired for 17 minutes". severity_tier is one of critical, high, medium, or low.
Sent when a synthetic monitor goes down or recovers.
On recovery, subject becomes "🟢 Monitor is UP: API health", duration is populated (e.g. "15 minutes"), and an end_time field is added.
Sent when an AI investigation completes. rootCauseAnalysisText is plain text, truncated to 8000 characters.
KloudMate Incidents
Section titled “KloudMate Incidents”KloudMate Incidents is the channel type that bridges into Incident Management. When an alert routes through a KloudMate Incidents channel, KloudMate opens an incident on the linked IM service automatically — no separate webhook plumbing required.

- Select KloudMate Incidents from the dropdown menu.
- Pick the IM service you want to bridge into from the Linked IM service dropdown. If you don’t have any services yet, KloudMate prompts you to create one first.
- Click Submit.
KloudMate automatically creates two rows:
- A KloudMate Alert integration under the linked service.
- A notification channel pointing at the integration’s signed loop URL.
KloudMate Incidents channels are HMAC-signed by default — the signing secret is generated and stored automatically; you don’t need to copy or paste it. The signing secret and linked service are fixed at creation; to change either, delete the channel and create a new one.
To wire it into the alert flow, add the channel as a destination on a Routing Rule.
- Select Jira from the dropdown menu and click the Connect Jira button.

- You will be redirected to the Jira authorization page. Click Accept to authorize the integration between KloudMate and your Atlassian account.

- You will be redirected back to the Jira Notification Channel configuration page in KloudMate.

Enter a Channel Name and select the following:
- Site: your Jira site
- Project: the Jira project to link
- Issue Type: the type of issue to create (e.g., Task)
- Status for Open state: the Jira status that corresponds to an open ticket (e.g., To Do, In Progress)
- Status for Closed state: the Jira status that corresponds to a closed ticket (e.g., Done)
- Click Submit to complete the integration.
The Jira integration is one-way. Status changes in KloudMate are reflected in Jira, but changes made in Jira are not reflected in KloudMate.
Alert and Issue Details in Jira
Section titled “Alert and Issue Details in Jira”Alert details in Jira
| KloudMate | Jira |
|---|---|
| Alert name | Ticket title |
| KloudMate account name | Ticket title |
| Alert description | Ticket description |
| Alert value | Ticket description |
| Regression alerts | Ticket comment |
Issues details in Jira
| KloudMate | Jira |
|---|---|
| Issue’s service name | Ticket title |
| KloudMate account name | Ticket title |
| Regression Issues | Ticket title |
| Issue name | Ticket description |
| Issue comments | Ticket comments |
Creating a Manual Jira Ticket
Section titled “Creating a Manual Jira Ticket”You can create a Jira ticket directly from an issue or alert details page to raise individual tickets that are not bound to a routing rule.
Prerequisite: A Jira notification channel must already be configured.
- Navigate to the Issue or Alert details page.
- Click the Create in Jira button. A dialog opens showing all Jira channels integrated with your KloudMate account, along with any previously linked Jira tickets for that issue.


- Under Jira Channels, select the checkbox(es) for the channel(s) you want to raise a ticket in.
- Click Create Ticket.
Unlinking a Jira Ticket
Section titled “Unlinking a Jira Ticket”- On the issue or alert details page, click the settings icon next to the Create in Jira button to open the Jira Tickets panel.
- The panel displays all Jira tickets currently linked to the issue, showing the Ticket ID, Site, Project, and Issue Type.
- Click the unlink icon next to the ticket you want to remove to unlink it from KloudMate.
