---
title: "Notifications"
url: "/organization/notifications"
description: "Alert your own team when something happens in KlicForge, across inbox, email, webhook, web push, Telegram and Slack."
productArea: organization
audience: ["business-user", "admin"]
tags: ["notifications", "operations"]
lastReviewed: 2026-08-19
---

# Notifications (/organization/notifications)





Notifications alert **your team** — operators, admins, billed contacts — when something happens
in KlicForge: a new contact is captured, a conversation starts or ends, an agent escalates to a
human, usage approaches a quota, a billing event occurs, or a scheduled task runs.

<Callout type="info">
  Notifications deliver to **your team**. [Channels](/channels) deliver agent messages to **your end
  users** — the two are separate systems.
</Callout>

Notifications are available on all plans. Configure them from **Settings → Notifications**.

## Notification channels [#notification-channels]

| Channel           | Delivers to                           |
| ----------------- | ------------------------------------- |
| Inbox             | In-app dashboard, per workspace       |
| Email             | Workspace members or billed contacts  |
| Webhook           | An external HTTPS endpoint            |
| Web push          | A member's browser, desktop or mobile |
| Operator Telegram | A specific verified team member       |
| Slack             | A channel in your Slack workspace     |

### Inbox [#inbox]

The notification inbox is the in-app hub — a singleton per workspace, created automatically
on first use, tracking read and unread state per member. Inbox entries can optionally fan out
to web push. The bell icon showing this feed is in both the dashboard and the
[KlicForge Inbox](/conversations/inbox) mobile app, so a missed push alert is never the only way
to see it.

### Email [#email]

Email notifications go to active members of the workspace. Configure from **Settings →
Notifications → Add Channel → Email** and enter the recipient address.

### Webhook [#webhook]

Webhook notifications POST a JSON payload to your endpoint, signed with HMAC-SHA256. Only HTTPS
endpoints are accepted; private and loopback addresses are rejected. The default delivery
timeout is 5 seconds. Configure from **Settings → Notifications → Add Channel → Webhook**.

### Web push [#web-push]

Web push delivers browser notifications to a member's desktop or mobile browser. Select
**Enable Web Push** in notification settings — each member subscribes their own browser
individually.

If you belong to more than one workspace, subscribing once covers all of them: the browser is
registered against every workspace you are a member of, and an alert says which one it came
from when you open it. Leaving a workspace stops its alerts reaching you without affecting the
rest. Turning notifications off on a device removes it from every workspace at once.

### Operator Telegram [#operator-telegram]

Operators receive alerts in Telegram through a workspace-wide notification bot paired with a
per-member verified identity:

1. Go to **Settings → Notification Bot** and connect the bot with a bot token.
2. Each operator completes a `/verify` flow with the bot in Telegram, linking their Telegram
   chat to their member identity.
3. Add a Telegram notification channel for that member from **Settings → Notifications**.

Routing is per-operator, so escalation alerts reach only the intended person.

### Slack [#slack]

1. At [api.slack.com/apps](https://api.slack.com/apps), select **Create New App → From
   scratch**, name it, and pick your workspace.
2. Under **OAuth & Permissions**, add the bot token scopes `chat:write`, `channels:read`, and
   `channels:join`, then select **Install to Workspace** and copy the bot token.
3. In the dashboard, go to **Settings → Integrations**, find **Slack**, and select **Connect**.
   Paste the bot token.
4. Go to **Settings → Notifications**, select **Add Channel → Slack**, pick a channel from your
   workspace, and save — the bot joins the channel automatically.

<Callout type="warn">
  For a private Slack channel, invite the bot manually first with `/invite @your-bot-name` in that
  channel, then select it from the dropdown.
</Callout>

Use **Send test** on any channel to verify delivery. You can add multiple Slack channels, each
routed to different events.

## Notification events [#notification-events]

* **Contacts and conversations** — a contact is captured, a conversation starts or ends
* **Handoff** — an agent escalates to a human; see [escalate to human](/channels/handoff)
* **Takeover follow-ups** — a conversation you're handling is reassigned, a customer replies
  while you have it, or an escalation goes unclaimed for too long
* **Usage** — allowance reaches 70%, 90%, or 100%
* **Billing** — activation, renewal, failed payment, scheduled downgrade, cancellation
* **Scheduled tasks** — task lifecycle and run events
* **Data tables** — a record is created, updated, or deleted

## Data table notifications [#data-table-notifications]

Data table events fire whenever a record changes in any collection. Subscribe per collection
and write custom content using field values as variables.

1. Go to **Settings → Notifications → Subscriptions** and select a channel.
2. Enable **Record created**, **Record updated**, or **Record deleted**. By default this
   applies across all collections.
3. To scope to one collection, select the collection filter icon on that subscription and
   choose a collection.

### Custom content [#custom-content]

Each subscription can define a custom message using four optional fields — **Title**,
**Heading**, **Subheading**, and **Content** — with `{{variableName}}` placeholders. Built-in
variables are `{{collectionName}}`, `{{recordId}}`, `{{eventType}}`, and `{{recordUrl}}`; any
field's slug is also available, for example `{{email_address}}`. Unknown variable names are
left as-is.

## Security [#security]

* All notification channel credentials — webhook secret, email configuration, bot token, push
  keys — are write-only: encrypted at rest and never shown in the dashboard after saving.
* A global mute switch suppresses all dispatch without deleting channels. Toggle it under
  **Settings → Notifications → General**.
* A delivery failure on one channel never blocks delivery to the others.

## Related pages [#related-pages]

* [Channels](/channels)
* [Escalate to human](/channels/handoff)
* [Workspace](/organization)
