LakeSentry Webhooks and Notifications
LakeSentry sends scheduled reports by email and to an organization-level Slack or custom webhook destination. Budget and connector alerts are sent by email only. Sign-in, invitation, access approval and onboarding emails are always delivered and are not affected by the settings on this page.
Availability and settings
Section titled “Availability and settings”Informational notifications require a Standard or Pro plan. This includes scheduled reports, budget and connector alerts, and report webhooks.
- Profile → Notifications: manage your personal report preferences. A setting enforced by your administrator is shown as locked.
- Settings → Notifications: administrators manage organization notification settings; owners configure the Slack or custom webhook destination. External SMTP controls are available in Databricks App deployments.
An enabled preference does not guarantee an email on every run: the report must have useful data within your accessible scope. In Databricks App deployments, an administrator must also configure SMTP in Settings → Notifications. Scheduled reports also wait until onboarding has completed or a plan has been selected.
Scheduled reports
Section titled “Scheduled reports”All schedules use UTC. These are processing times; delivery may follow later.
| Report | Schedule | Reporting period | Content |
|---|---|---|---|
| Daily digest | Every day, 12:00 UTC | Previous complete day | Spend and change, trend, insights, spenders and budget warnings |
| Weekly report | Monday, 13:00 UTC | Previous seven complete days | Spend and change, activity, cost drivers/movers and trends |
| Monthly report | First day of month, 14:00 UTC | Previous calendar month | Spend and change, category breakdown, savings/actions and trends |
Sections depend on available data. Reports with no useful spend or activity are suppressed. Amounts are displayed in the organization’s configured currency. Links open the relevant application view with report period and scope where applicable.
Preferences and administrator rules
Section titled “Preferences and administrator rules”Open Profile → Notifications and toggle the reports you want. Initial defaults are:
| Role | Daily | Weekly | Monthly | System alerts |
|---|---|---|---|---|
| Owner | On | On | On | On |
| Admin | On | On | Off | On |
| User | Off | On | Off | Off |
Your organization can change these defaults and enforce report settings for a user, team, department or org unit. The most specific applicable rule wins: user, then team, then department, then org unit, then your saved preference. An enforced Off also takes precedence over your saved On.
Report focus can narrow reports to an org unit, department, team or workspace within your access. Where available, use the focus picker in notification settings; an administrator can manage assigned focus. Focus never grants access to additional data. Changed permissions, focus or subscriptions can cause an already queued email to be skipped.
Budget alerts
Section titled “Budget alerts”Budget thresholds are evaluated hourly. Configure thresholds and recipients on the budget:
- Unset thresholds use 80% and 100%. An empty threshold list disables alerts.
- Unset recipients use admins and owners with system alerts enabled. An explicitly empty recipient list disables alerts; a selected list sends to eligible selected users.
- Only the highest exceeded threshold is selected during an evaluation.
- Alerts are deduplicated for the budget period, relevant configuration, threshold and recipient. An unchanged breach does not generate a new email every hour. A changed budget amount, thresholds or period can create a new alert occurrence.
Emails identify the budget, threshold, spend, limit and period and link to its detail page. Budget warnings inside reports can appear from 70% utilization; those summaries are separate from threshold-alert delivery. See Budgets.
Connector health alerts
Section titled “Connector health alerts”LakeSentry evaluates active, non-paused connectors hourly and emails subscribed admins and owners when:
- A connection validation error occurs after the connector has successfully ingested data at least once.
- A sync is late and no sync is currently running. Lateness depends on the configured schedule:
| Sync schedule | Alert when time since last ingestion exceeds |
|---|---|
| Every hour | 3 hours |
| Every 4 hours | 10 hours |
| Daily | 36 hours |
For a connector that has never ingested data, lateness is measured from creation. Emails include the connector, workspace, problem, expected schedule, last successful sync and troubleshooting link. The same unresolved occurrence is deduplicated; recovery or a changed validation error can establish a new occurrence.
Slack and custom webhooks
Section titled “Slack and custom webhooks”An owner can configure one organization destination in Settings → Notifications. Choose Slack for an incoming Slack webhook URL, or a custom webhook for an endpoint you control. Slack receives formatted messages; a custom endpoint receives JSON. Other tools require an endpoint or adapter that accepts LakeSentry’s payload—this is not a native PagerDuty or Teams payload.
The destination receives organization-level scheduled reports, independently of each user’s email subscription and focus. Supported events are daily_digest, weekly_report, monthly_report, and a manually requested test. Budget and connector alert emails are not automatically forwarded as webhook events.
Configure the destination URL, save, and use the test action to verify delivery. For a custom destination, securely store the generated signing secret. When rotating the secret, update your receiver too. Disable the destination to stop delivery while preserving configuration, or delete it. Inspect delivery history from the same notification settings area.
Custom payload and headers
Section titled “Custom payload and headers”{ "id": "daily_digest_2026-09-28", "type": "daily_digest", "created_at": "2026-09-29T12:00:00Z", "data": {}}This is an envelope illustration; data contains the report fields. Treat id as opaque. Common fields include TotalCost, CostChangePercent, PeriodStart, and PeriodEnd. Daily data includes InsightsCritical, InsightsHigh, InsightsMedium, InsightsLow, and InsightsInfo; weekly data includes InsightsSummary, ActionsTaken, and TopCostDrivers; monthly data includes SpendByCategory and SavingsAmount. Additional fields and optional sections may be present. Consumers should tolerate extra fields and absent optional content.
| Header | Meaning |
|---|---|
Content-Type | application/json |
User-Agent | LakeSentry-Webhook/1.0 |
X-LakeSentry-Event-ID | Event identifier for receiver deduplication |
X-LakeSentry-Event-Type | Report type or test |
X-LakeSentry-Timestamp | Unix request timestamp |
X-LakeSentry-Signature | HMAC-SHA256 hex digest when a signing secret is configured; not used by the Slack provider |
Verify custom webhook signatures
Section titled “Verify custom webhook signatures”Compute HMAC-SHA256 over the timestamp, a literal dot, and the original request body bytes. Do not parse and re-serialize JSON before verification. Compare signatures in constant time, reject stale timestamps, and deduplicate event IDs.
import hashlibimport hmacimport time
def verify_signature(timestamp: str, body: bytes, signature: str, secret: str) -> bool: try: sent_at = int(timestamp) except ValueError: return False # Example receiver policy: allow five minutes of clock skew/delivery delay. if abs(time.time() - sent_at) > 300: return False payload = timestamp.encode("ascii") + b"." + body expected = hmac.new(secret.encode("utf-8"), payload, hashlib.sha256).hexdigest() return hmac.compare_digest(expected, signature)Delivery requirements
Section titled “Delivery requirements”Use a public HTTPS endpoint that responds with a 2xx status within 30 seconds. Local/private network targets are rejected. Network and HTTP delivery failures are normally retried up to three total attempts; process duplicate deliveries safely. Delivery history distinguishes sent, failed and skipped outcomes. A successful test confirms destination reachability, not that a scheduled report has useful data or that individual users qualify for email.
Missing or unexpected notifications
Section titled “Missing or unexpected notifications”- Check the plan, onboarding status and configured sender/destination.
- Review personal preferences and any administrator-enforced rule.
- Check access and report focus; a report without useful visible data is skipped.
- For alerts, check the budget’s thresholds/recipients or the connector’s schedule and sync state.
- Check whether the same alert occurrence was already delivered.
- For webhooks, inspect delivery history, receiver status codes and signature handling. For email failures, ask your administrator to inspect sender configuration and delivery logs.
Turning off scheduled reports does not disable sign-in, invitation, access approval or onboarding messages.