Slack

🔗 Slack Integration

GermainUX alerts can automatically be posted to Slack channels, allowing teams to receive and respond to critical events in real time.

🔔 Messages can be triggered by:

Trigger

SLA conditions

Scheduled executions

Other GermainUX automation events

⚙️ Integration Overview

GermainUX integrates with Slack through HTTP Actions and the Slack Web API. When a configured condition occurs, GermainUX calls Slack’s chat.postMessage method to publish a message to the selected channel.

Example of Slack Integration for Germain UX

🚀 Create a Slack App

If you do not already have a Slack app:

  1. Create an app in your Slack workspace.

  2. Add the required OAuth scopes.

  3. Install or reinstall the app in the workspace.

  4. Copy the generated bot token.

  5. Identify the ID of the destination channel.

    Minimum permissions required by Slack App to post messages to channel

The Slack app requires the chat:write scope to publish messages. Add chat:write.public only if the app must post to public channels of which it is not a member. If the channel ID must be retrieved programmatically, the app may also require channels:read. See Slack’s message-sending guide and chat:write.public documentation.

📄 Example Slack API Request

The following request posts a message to a Slack channel:

curl "https://slack.com/api/chat.postMessage" \
  --request POST \
  --header "Accept: application/json" \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer xoxb-your-token" \
  --data '{
    "channel": "YOUR_CHANNEL_ID",
    "text": "GermainUX detected CPU utilization of 91%, which exceeds the expected threshold."
  }'

Store the Slack bot token in a secure GermainUX credential configuration. Do not include a production token directly in the HTTP Action.

📁 Automatically Post GermainUX Alerts to Slack

Go to GermainUX Workspace --> Left Menu --> Settings → Automation -> HTTP.

This screen displays the available HTTP Actions and identifies those associated with SLAs. Select an existing action to edit it, or click + to open the HTTP Action wizard.

1️⃣ Step 1: Configure the Action

Enter:

Field

Value

Name

Slack Message Creation - CPU Alert

Execution Count

1

Click Next.

First page of creation wizard of a new HTTP Action showing the required fields

2️⃣ Step 2: Configure the HTTP Request

Field

Value

Path

https://slack.com/api/chat.postMessage

Request Method

POST

Content Type

application/json

Expected HTTP Response

200

Authorization Header

Bearer <SLACK_BOT_TOKEN->

Use the following request body:

JSON
{
  "channel": "YOUR_CHANNEL_ID",
  "text": "GermainUX detected that ${context.kpi.name}, with a value of ${context.displayValue}, exceeded its configured SLA threshold."
}

A successful Slack API response contains "ok": true. Because Slack can return an HTTP success status with "ok": false in the response body, validate the ok property whenever the GermainUX HTTP Action configuration supports response-content validation. See the chat.postMessage API documentation.

Second page of creation wizard of a new HTTP Action showing the required fields

3️⃣ Step 3: Select the Trigger

Select the CPU Usage SLA that should trigger the Slack message.

When the SLA is breached, GermainUX will post the configured message to the selected Slack channel.

Click Finish to save the configuration.

Practice

Use a dedicated Slack app with only the required OAuth scopes.

Store the bot token securely and never expose it in documentation or logs.

Use a channel ID rather than a channel name.

Apply an execution limit or quiet period to avoid duplicate messages.

Include the affected system, KPI, current value, threshold, and Analysis Dashboard link.

Test the integration in a dedicated Slack channel before enabling it in production.


Component: Engine

Feature Availability: 8.6.0 or later