BuildBaseBuildBase

Slack alerts

Route signup, payment, and subscription events to a Slack channel with an incoming webhook.

Slack alerts are admin-facing: they tell you that someone signed up or a payment failed. They are configured once per organization and need no code.

Set the incoming webhook URL in the BuildBase console under Settings → Slack, pick the events you care about, and messages start arriving.

Messages arrive as Slack Block Kit - a header, a summary line linking back to the console, a divider, then labelled fields:

New User Registered
─────────────────────────────
Alice Chen just signed up          [avatar]
─────────────────────────────
Email                 Signed up
[email protected]     15 Aug 2026, 09:12 UTC

The name in the summary line is a link to that user's console record. Each message also carries a plain-text text fallback - here New user registered: Alice Chen ([email protected]) - which is what Slack shows in notifications and previews.

Before you start

Create an incoming webhook in your Slack workspace and copy the URL. Saving refuses any URL that does not start with https://hooks.slack.com/. A URL that passes that check but is not a full https://hooks.slack.com/services/T.../B.../... webhook is saved, then treated as unset when an alert is sent - nothing posts and no error appears.

Selecting events

55 events can be routed to Slack, grouped in the console under these categories:

CategoryEventsCovers
Subscriptions & Trials10Created, upgraded, downgraded, canceled, cancel scheduled, resumed, suspended, trial lifecycle
Organization7Member invites, acceptances, role changes, removals, API token create, update and revoke
Workflows7Created, deleted, published, paused, resumed, instance completed and failed
Credits & Quota6Purchased, granted, revoked, expired, low balance, quota exceeded
Audience6Member blocks, imports, list create, update and delete
Users & Workspaces5Registrations, blocks, workspace create and delete
Authentication5Auth method deleted, agent client self-registered, auth domain added, verified and deleted
Payments4Succeeded, failed, refunded, action required
Campaigns2Email campaign sent, push campaign sent
Email Infrastructure2Sending domain added and verified
Billing1Pricing group published

Warning

An empty event selection means every event is enabled, not none. The filter only applies when the list is non-empty. To stop alerts entirely, remove the webhook URL rather than clearing the event list.

An API token update posts only when it deactivates, reactivates, archives or restores the token. Renaming a token or editing its description sends nothing.

Delivery behavior

BehaviorDetail
TransportA single POST to the webhook URL with a Slack Block Kit payload
Timeout5 seconds
FailuresLogged as a warning and discarded. Slack delivery never blocks or fails the originating request
RetriesNone. A failed post is not queued or retried
No webhook setSilent no-op
Invalid webhook URLNot https://hooks.slack.com/...: refused on save. Not a full /services/T.../B.../... URL: saved, then treated as unset at send time with no error
NamesWorkspace and user names are resolved for the message, falling back to raw IDs if the lookup fails

Messages link back to the console - user names link to /dashboard/admin/users/detail?id=<id> and workspaces to /dashboard/admin/workspaces/detail?id=<id> - so an alert is one click from the record. Links in older alerts, which used /dashboard/admin/users/<id>, still open the same page.

Because delivery is fire-and-forget with no retry, treat Slack as an awareness channel rather than an audit trail. For guaranteed delivery, subscribe to the same events with webhooks, which have delivery logs and retries.

Slack alerts versus user notifications

These are two separate systems and they do not share configuration:

Slack alertsUser notifications
AudienceYour teamYour users
Configured byOrg admin, oncePer event, per workspace
ChannelsOne Slack channelEmail and push
Triggered bySystem eventsbb.notification.send() or system events
Honors user preferencesNoYes, when the event is userManaged

Next Steps