kaneo (minimalist kanban) fork to experiment adding a tangled integration github.com/usekaneo/kaneo
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs: add account notifications guide

Tin 16268fe1 c799f5f6

+151
+150
apps/docs/core/functional/account-notifications.mdx
··· 1 + --- 2 + title: Account Notifications 3 + description: Deliver your personal Kaneo notifications by email, ntfy, or a custom webhook with workspace and project scoping 4 + --- 5 + 6 + Kaneo can keep the normal in-app notification inbox and also forward matching notifications to external channels for the signed-in user. 7 + 8 + You can configure this under: 9 + 10 + 1. Open **Settings** 11 + 2. Open **Account** 12 + 3. Open **Information** 13 + 4. Scroll to **Notifications** 14 + 15 + ## Available channels 16 + 17 + Users can forward matching notifications through: 18 + 19 + - `Email` 20 + - `ntfy` 21 + - `Custom webhook` 22 + 23 + These settings are personal to the signed-in account. They do not change notification routing for other users in the workspace. 24 + 25 + ## How it works 26 + 27 + Kaneo already stores in-app notifications in the notification inbox. Account notification delivery adds a separate preference layer on top of that behavior. 28 + 29 + Important rules: 30 + 31 + - the in-app inbox remains the source of truth 32 + - outbound delivery only applies to newly created notifications 33 + - historical notifications are not replayed 34 + - delivery failures do not block notification creation 35 + - delivery can be scoped by workspace and, optionally, by selected projects 36 + 37 + ## Global channels 38 + 39 + The Notifications page includes separate connection cards for: 40 + 41 + - `Email` 42 + - `ntfy` 43 + - `Custom webhook` 44 + 45 + Configure each channel once at the account level, then decide which workspaces are allowed to use it. 46 + 47 + ### Email 48 + 49 + Email delivery uses the signed-in account email address. 50 + 51 + Requirements: 52 + 53 + - the user must have an email on the account 54 + - SMTP must be configured on the server 55 + 56 + ### ntfy 57 + 58 + ntfy requires: 59 + 60 + - a server URL 61 + - a topic 62 + - optionally, a bearer token 63 + 64 + ### Custom webhook 65 + 66 + Custom webhook requires: 67 + 68 + - a destination URL 69 + - optionally, a signing secret 70 + 71 + When a signing secret is configured, Kaneo sends an `X-Kaneo-Signature` header containing the `HMAC-SHA256` hex digest of the raw JSON body. 72 + 73 + ## Workspace delivery rules 74 + 75 + Below the global channel cards, Kaneo shows workspace delivery rules. 76 + 77 + Each workspace rule can: 78 + 79 + - be active or paused 80 + - enable or disable `Email`, `ntfy`, and `Custom webhook` 81 + - apply to `All projects` 82 + - or apply to `Selected projects` only 83 + 84 + This lets a user receive notifications from one workspace in ntfy, another by email, and ignore the rest. 85 + 86 + ## Supported notification sources 87 + 88 + V1 forwards the same notification types that currently create inbox notifications in Kaneo. 89 + 90 + That includes: 91 + 92 + - `task_created` 93 + - `workspace_created` 94 + - `task_status_changed` 95 + - `task_assignee_changed` 96 + - `time_entry_created` 97 + 98 + If Kaneo cannot resolve a notification to a workspace or project context, that notification stays inbox-only. 99 + 100 + ## Reachability and security 101 + 102 + For security, Kaneo validates outbound HTTP destinations before saving or sending. 103 + 104 + Private or non-routable destinations are rejected, including examples like: 105 + 106 + - `localhost` 107 + - `127.0.0.1` 108 + - `10.x.x.x` 109 + - `172.16.x.x` to `172.31.x.x` 110 + - `192.168.x.x` 111 + 112 + This applies to: 113 + 114 + - `ntfy` server URLs 115 + - custom webhook URLs 116 + 117 + If you are using a self-hosted ntfy instance or webhook receiver, it must be reachable from the API with an accepted public or routable hostname. 118 + 119 + ## Troubleshooting 120 + 121 + ### Notifications show in Kaneo but are not delivered 122 + 123 + Check that: 124 + 125 + - the global channel is configured and enabled 126 + - a workspace rule exists for the notification workspace 127 + - the workspace rule is active 128 + - the channel is enabled on that workspace rule 129 + - the project is included when using `Selected projects` 130 + 131 + ### Email is enabled but nothing is sent 132 + 133 + Check that: 134 + 135 + - SMTP is configured correctly 136 + - the signed-in user has an email address 137 + - the server can reach the SMTP provider 138 + 139 + ### ntfy or webhook save fails 140 + 141 + Check that: 142 + 143 + - the URL is valid 144 + - the destination is reachable from the API server 145 + - the hostname does not resolve to a blocked local or private address 146 + 147 + ## Next 148 + 149 + - [Personalize Your Workspace](/core/functional/personalize-your-workspace) 150 + - [Outgoing webhooks](/core/integrations/outgoing-webhooks)
+1
apps/docs/docs.json
··· 56 56 "core/functional/backlog-planning", 57 57 "core/functional/collaborate-with-team", 58 58 "core/functional/configure-workflows", 59 + "core/functional/account-notifications", 59 60 "core/functional/personalize-your-workspace" 60 61 ] 61 62 },