How the flow works
- A run finishes. This applies to a run started manually and to a run started by an automation.
- Darpan collects the destinations for that run: the automation’s linked chat space, plus one space for each person who subscribed with Notify me.
- That list is deduplicated, then filtered to spaces that are active, still deliverable, and belong to the run’s own tenant. One space subscribed by three people receives one message.
- Darpan classifies the result, writes the message, and posts it to each surviving destination.
Alerts fire on every final state, not only success. A failed run, a cancelled run, and a run that found no data all produce a message — which is the point, since silence used to be indistinguishable from success.
What the alert says
The message leads with a verdict rather than a table of numbers, because the first question anyone asks is whether they need to act. Darpan picks the verdict from three independent counts:
The verdict names the situation:
Every message also carries the run name, the tenant, the result identifier, and a deep link that opens the result in the app for the right tenant. Clean runs additionally mention a run of consecutive clean results when there is one, and the wording varies with the time of day in the tenant’s own timezone — a run finishing at 6am in the tenant’s timezone reads as an early-morning run regardless of where the server sits.
Before you start
Confirm:- You are a Tenant Admin for the tenant, if you intend to connect a chat product or add or change chat spaces. Choosing your own default space and using Notify me are personal preferences and need no tenant write access.
- The correct tenant is active.
- You can reach the destination: a Google Chat incoming webhook, or a Slack workspace you can install an app into or generate a bot token from.
Connect a chat product
Google Chat needs no connection step — a space holds its own webhook. Slack is connected once per tenant, then any number of spaces pick channels from it.Google Chat
In the Google Chat space that should receive alerts, create an incoming webhook and copy its URL. Keep it secret; treat it like a credential. The URL must be anhttps URL on chat.googleapis.com that targets a space messages endpoint and includes its key and token query parameters.
That URL goes straight into the chat space you create below. There is nothing else to set up.
Slack
Slack offers two routes. Darpan shows whichever the deployment supports, and the bot-token route is always available.1
Open the Slack menu
Open Tenant Settings, choose Notifications, and open the Slack entry. It reads Connect a Slack workspace until one is connected.
2
Choose a route
Connect Slack opens Slack to authorise Darpan and returns you here. This one-click install appears only when the deployment has Slack app credentials configured; if it is missing, the deployment has no
darpan.slack.clientId and the token route below is the way in.Connect with a bot token takes a pasted token instead. Use it when your Slack administrators do not permit installing apps.3
Paste the bot token, if you chose that route
In your Slack app, go to OAuth & Permissions and copy the Bot User OAuth Token. It starts with
xoxb-.Darpan rejects a token that does not start with xoxb-. A user token (xoxp-) authenticates fine but posts as the human who created it, so it is refused by shape before it can be mistaken for a bot token.Darpan verifies the token with Slack before storing it, and takes the workspace name, team ID and bot user from Slack’s answer rather than from anything you typed. The token is stored encrypted and is never readable back.4
Read any scope warning
If the token is missing scopes, Darpan connects anyway and names what will not work: notifications still send, but listing channels or posting to channels the app has not joined may fail. Add the scopes in Slack and paste the token again.
Register a chat space
A chat space is a named destination. Creating one asks for its name, then which chat product it posts to, then where.1
Open Tenant Settings
Open Ask Darpan, search for Open Tenant Settings, and open the result. Confirm the active tenant is the one you want alerts on. In Operations, choose Notifications.
2
Name the space
The name must be unique within the tenant and is what everyone else picks from later, so name it after the destination rather than the run —
Ops alerts rather than Nightly Shopify.3
Choose the chat product
Pick Google Chat or Slack. Arriving from the Slack menu answers this already, and the question is skipped.
4
Point it at a destination
For Google Chat, paste the webhook URL. Darpan validates it on save and stores it encrypted. The URL is write-only: saved spaces show their status and name, never the full URL.For Slack with a connected workspace, pick the channel from the searchable list. Darpan reads every page of channels rather than the first one, and says so when a workspace has more channels than it lists at once — you are never shown a partial list that looks complete.If a workspace is not connected, a Slack space falls back to a Slack incoming webhook URL.
Route alerts to a space
There are three ways a message reaches a space, and they stack. An automation’s linked space. When you create or edit an automation, the chat-space step offers your default space, any existing space, a new space, or none. Every run that automation starts reports to the space it is linked to. Your personal default. In User Settings, the Notifications card sets which space your own alerts go to. This is a personal preference — it needs no tenant write access, and it does not change anyone else’s alerts. A default pointing at a space that was deleted or deactivated reads as not configured. Notify me, for one run. On a running run, choose Notify me. Darpan snapshots your default space at that moment and notifies it when that run finishes; the button then reads Notifying — followed by the space name. Choosing it again unsubscribes. Subscriptions are cleared once the run finishes, so they never leak into later runs.Notify me needs a default chat space to snapshot. If you have not set one, Darpan says so instead of subscribing you silently — set the default in User Settings first.
Expected result
Every finished run reports to its automation’s space, and to the space of anyone who asked to be notified. The message opens with what happened rather than a wall of counts, and a failure surfaces in chat with a one-click path to the result in the right tenant.Turning alerts off
Deactivate the space in Tenant Settings to stop messages while keeping the configuration. Alternatively, unlink the automation from its space, or clear your personal default. A space that nothing references can be deleted outright. A space still referenced by an automation or a subscription must be deactivated instead — Darpan refuses the delete rather than silently breaking the automation pointing at it. Disconnecting a Slack workspace follows the same rule. Darpan refuses while chat spaces still post through it and names them, because a silent disconnect would leave those destinations resolving to nothing and the tenant would learn about it from missing notifications. Repoint or delete those spaces first.Upgrading from the single tenant webhook
Before v1.2.0 a tenant had exactly one Google Chat webhook. On upgrade, that webhook is copied into a space named Default space, and every automation without its own space is linked to it. Existing alerts keep arriving in the same place with no action from you. The one change worth making afterwards is renaming Default space to something that describes the destination, since it now sits in a list beside the others.Troubleshooting
See Manage tenant settings for the full tenant settings surface and Author reconciliation rules for the rules that produce the mismatches these alerts report.