Skip to content

Replace Slack incoming-webhook setup help with detailed guide #1256

Description

@saetto

Context

Issue #1217 covered adding Slack incoming-webhook setup guidance, but it is already closed. QA feedback showed that the current instruction is still not clear enough for at least one user. The user succeeded only after receiving a more explicit, step-by-step explanation of the Slack-side setup flow.

Create a new follow-up task to replace the current Slack setup description with the approved detailed instruction below.

This is a documentation/UI-copy task only. Slack delivery behavior does not need to change.

Goals / Proposed scope

  • Replace the existing Slack incoming-webhook help text in src/server/HSMServer/Views/Notifications/EditSlackDestination.cshtml.
  • Explain in simple words what a Slack incoming webhook is and why HSM needs the generated URL.
  • Use the modern Slack app flow: api.slack.com/apps -> Create New App -> From scratch -> Incoming Webhooks -> Activate Incoming Webhooks -> Add New Webhook to Workspace.
  • Keep the app name example as my space.
  • Explicitly state that the target Slack channel must already exist before selecting it for the webhook.
  • Preserve the rule that one webhook is connected to one Slack channel, so multiple channels require multiple Slack destinations in HSM.
  • Keep the Razor/HTML markup clean and aligned.
  • Update the relevant aicontext/features/server/notifications/feature.md documentation after changing the view.

Approved UI copy

Use this text as the source copy for the help block. Minor wording adjustments are acceptable only if they improve the in-app layout without removing any step.

How to create a Slack Incoming Webhook

A Slack incoming webhook is a private URL that lets HSM send alert messages to one selected Slack channel. First create this URL in Slack, then paste it into the Webhook URL field in HSM.

  1. You need Slack workspace admin permissions, or permission to install apps.
  2. Open api.slack.com/apps.
  3. Click Create New App.
  4. Choose From scratch.
  5. Enter an app name, for example my space.
  6. Select the Slack workspace where alerts should be sent.
  7. Click Create App.
  8. In the left menu, open Incoming Webhooks under Features.
  9. Turn on Activate Incoming Webhooks. The switch should change from Off to On.
  10. Click Add New Webhook to Workspace at the bottom of the page.
  11. Slack will ask which channel should receive messages. Select the channel. The channel must already exist in Slack before this step.
  12. Click Allow.
  13. Slack will generate a URL like https://hooks.slack.com/services/....
  14. Copy this URL.
  15. Paste it into the Webhook URL field in HSM.
  16. Save the Slack destination.
  17. In HSM, use Send test message to confirm that Slack receives the message.

Important: one webhook is connected to one Slack channel. To send alerts to multiple channels, create one Slack destination per channel.

Tasks

  • Update the Slack destination form help block in src/server/HSMServer/Views/Notifications/EditSlackDestination.cshtml.
  • Keep the help available for both new Slack destinations and editing existing Slack destinations.
  • Replace the current short/unclear setup description with the approved detailed copy above.
  • Keep the Webhook URL placeholder/example URL shape, but avoid duplicating the full instruction outside the help block.
  • Verify that the Send test message wording matches the existing UI action in the Slack destinations list.
  • Update aicontext/features/server/notifications/feature.md to mention the expanded Slack incoming-webhook setup guide.
  • Smoke-check the UI layout after the Razor change.

Markup / alignment notes

When implementing the help block, keep the Razor/HTML markup clean and consistently aligned. During an earlier draft, QA noticed formatting issues that should be avoided in the final change:

  • the <div id="slackWebhookHelp" class="collapse"> line was shifted by one extra leading space compared with the surrounding form markup;
  • one closing </li> around the Add New Webhook to Workspace step was misaligned.

The final markup should keep the collapse block, card body, paragraph, ordered list, and list items nested consistently. No malformed tags, visibly broken indentation, or UI alignment regressions should be introduced.

Acceptance criteria

  • A user can follow the in-app instruction from a blank Slack app setup to a generated webhook URL without needing an additional explanation.
  • The help text includes all required Slack steps: create app, choose From scratch, app name example my space, select workspace, open Incoming Webhooks, activate incoming webhooks, add webhook to workspace, select an already existing Slack channel, click Allow, copy the generated URL, paste it into HSM, save, and send a test message.
  • The instruction clearly states that the target Slack channel must already exist before the webhook is connected to it.
  • The instruction clearly states that one webhook belongs to one Slack channel.
  • The Slack destination form still renders correctly in both Add and Edit states.
  • The Razor/HTML indentation is clean and the collapse help block does not visually break the form layout.
  • Relevant aicontext documentation is updated.

Out of scope

  • Changing Slack payload format.
  • Adding OAuth-based Slack app installation from HSM.
  • Adding channel override support in HSM.
  • Changing backend Slack delivery behavior.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions