HelpStackDocs

Guides

Notifications

Notifications keep you and your team aware of what's happening in your inbox — a new conversation arrives, a customer replies, a conversation gets assigned to you, or its status changes. You control all of this from Settings → Notifications. There are two parts: push notifications for this device, and a preference matrix that decides which events reach you and through which delivery channels (in-app, push, email, Slack, Teams, Discord, SMS, or a custom webhook). This guide walks through both, plus how to set up each integration.

Sections#

Push notifications on this device#

Push notifications are configured per device — turning them on here enables them for this browser/device only, not your whole account. The notifications page shows the current status for the device you're on, which is one of:

  • Subscribed — push is on for this device; you'll receive notifications here.
  • Requires install — you need to install HelpStack as an app before push can work.
  • Denied — you (or the browser) blocked notification permission. You'll need to re-allow it in your browser/OS settings.
  • Unsupported — this browser or device doesn't support push notifications.
  • iOS needs Home Screen install / correct browser — on iPhone/iPad you must add HelpStack to your Home Screen (and use the right browser) before push works. See The iOS caveat.

To enable push, click the enable control on this device and accept the browser's permission prompt. To stop receiving push on a device, disable it there.

The iOS caveat#

On iPhone and iPad, web push only works when HelpStack is installed to the Home Screen as an app, and you should use Safari to do the install. If you try to enable push from a normal browser tab on iOS, the status will tell you it needs a Home Screen install. The page shows platform-specific install hints to walk you through it.

Steps on iOS:

  1. Open helpstack.eu in Safari.
  2. Use the share menu and choose Add to Home Screen.
  3. Open HelpStack from the new Home Screen icon.
  4. Go to Settings → Notifications and enable push there.

Registered devices#

The page lists every device currently registered for push on your account, each with a timestamp so you can tell when it was added. This is useful for spotting old phones or browsers you no longer use — you can keep your list tidy by disabling push on devices you don't need.

The preference matrix#

The heart of the notifications page is a grid. The rows are events and the columns are delivery channels:

Events (rows):

  • NEW_CONVERSATION — a brand-new conversation arrives.
  • NEW_MESSAGE — a new message comes in on an existing conversation.
  • ASSIGNED — a conversation is assigned to you.
  • STATUS_CHANGED — a conversation's status changes.

Delivery channels (columns):

  • IN_APP — notifications inside HelpStack itself.
  • PUSH — browser/device push notifications.
  • EMAIL — sent via the platform's configured mail sender.
  • SLACK — posted to a Slack channel via a webhook integration.
  • TEAMS — posted to Microsoft Teams via a webhook integration.
  • SMS — text message (requires an SMS integration).
  • WEBHOOK — sent to a custom endpoint you control.
  • DISCORD — posted to a Discord channel via a webhook integration.

For each event, you turn the channels you want on or off in the matching cell.

Choosing a scope#

For each enabled, non-in-app channel you also pick a scope that decides which conversations trigger that notification:

  • ALL — notify for every matching conversation in the organization.
  • ASSIGNED_ONLY — only notify when the conversation is assigned to you.

For example, you might set PUSH → NEW_MESSAGE → ASSIGNED_ONLY so your phone only buzzes for your own conversations, while leaving IN_APP showing everything.

Why a cell is disabled#

A cell stays greyed out until its delivery channel is ready:

  • PUSH is disabled until push is subscribed on this device (see above).
  • SLACK, TEAMS, DISCORD, WEBHOOK, and SMS are disabled until the matching integration is configured for your organization (see below).
  • IN_APP needs no setup and is always available.
  • EMAIL uses the platform's configured mail sender, so it works without you setting anything up.

Setting up integrations#

Integrations are configured at the organization level, so once an owner or admin sets one up, the matching column unlocks for the team. From the notifications page you can add:

  • Slack — paste your Slack incoming-webhook URL.
  • Discord — paste your Discord webhook URL.
  • Teams — paste your Microsoft Teams webhook URL.
  • Custom Webhook — provide a label, an endpoint URL, and an optional HMAC secret (used to sign requests so your endpoint can verify they came from HelpStack).

Each integration has a label so you can tell them apart. Any secrets you enter are masked after saving, and you can remove an integration at any time, which disables its column again.

To add a chat integration (Slack / Discord / Teams):

  1. In the chat app, create an incoming webhook for the channel you want notifications in, and copy its URL.
  2. In Settings → Notifications, add the integration of that type and paste the webhook URL.
  3. Save. The matching column in the matrix is now enabled.
  4. Turn on the events you want and pick a scope (ALL or ASSIGNED_ONLY).

For a custom webhook, also give it a clear label and, if your endpoint validates signatures, set the HMAC secret.

SMS requires an SMS integration to be configured before the SMS column will work.

A good starting point for most agents:

  • IN_APP on for all four events — you'll always see activity inside HelpStack.
  • PUSH on this device for NEW_MESSAGE and ASSIGNED, scoped to ASSIGNED_ONLY, so your device only alerts you about your own conversations.
  • EMAIL for ASSIGNED (scope ASSIGNED_ONLY) as a backstop for when you're away from HelpStack.
  • Add a Slack integration and send NEW_CONVERSATION (scope ALL) to a shared team channel, so the whole team sees new arrivals without everyone getting pinged personally.

Adjust from there: if notifications feel noisy, narrow scopes to ASSIGNED_ONLY; if you're missing things, widen to ALL or add another channel.